Я пытаюсь нарисовать "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 (в центре слева), затем он должен двигаться вниз прямо в угол. изменить направление снизу вправо в следующий угол. Тогда он должен переместиться в этот угол. Затем налево и затем в начальную точку. После этого он должен двигаться от начальной точки вправо, чтобы завершить восьмерку.
Я знаю, что отключил двойную буферизацию. Потому что я хочу, чтобы мяч двигался лучше. После того, как я закончил путь, я удалю его, чтобы вы могли видеть последние восемь.
Итак, я хочу создать восьмерку, используя закрашенный круг, перемещающийся по углам окна, а затем из начальной точки впосередине справа. (против часовой стрелки)
Спасибо =)