Рисование 8 в StdDraw с заполненным кругом - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь нарисовать "8" с заполненным кругом, используя StdDraw.

Я не знаю, что я делаю неправильно, но я не понимаю, как я могу изменить направлениедвижущийся круг

    int width = 250;
    int height = 500;
    double radius = 0.07;
    double st = -1 + radius;
    double st1= 0;
    double vx = 0.02, vy = 0.02;


    StdDraw.setCanvasSize(width,height);
    StdDraw.setXscale(-1.0, 1.0);
    StdDraw.setYscale(-2.0, 2.0);
    StdDraw.enableDoubleBuffering();
    StdDraw.setPenColor(Color.red);


    while (true) {
        if (Math.abs(st1 + vy ) > 2.0 - radius) vy = -vy;
        st1 -= vy;
        StdDraw.clear();
        StdDraw.filledCircle(st,st1,radius);
        StdDraw.show();
        StdDraw.pause(20);

Круг должен начинаться с x = -1 и y = 0 (в центре слева), затем он должен двигаться вниз прямо в угол. изменить направление снизу вправо в следующий угол. Тогда он должен переместиться в этот угол. Затем налево и затем в начальную точку. После этого он должен двигаться от начальной точки вправо, чтобы завершить восьмерку.

Я знаю, что отключил двойную буферизацию. Потому что я хочу, чтобы мяч двигался лучше. После того, как я закончил путь, я удалю его, чтобы вы могли видеть последние восемь.

Итак, я хочу создать восьмерку, используя закрашенный круг, перемещающийся по углам окна, а затем из начальной точки впосередине справа. (против часовой стрелки)

Спасибо =)

...