Ну вот как вы генерируете точки вдоль эллипса:
for degree in range(360):
x = cos(degree * 2 * pi / 360) * radius * xToYratio
y = sin(degree * 2 * pi / 360) * radius
(x,y)
будет следовать за эллипсом с центром в (0,0)
, где радиус у равен radius
, а радиус х равен xToYratio
. В вашем случае вы, вероятно, хотите, чтобы degree
был как-то связан с течением времени.
РЕДАКТИРОВАТЬ: вы также можете сделать это:
for degree in range(360):
x = cos(degree * 2 * pi / 360) * xRadius
y = sin(degree * 2 * pi / 360) * yRadius
, где xRadius
- половина ширины вашего прямоугольника, а yRadius
- половина высоты вашего прямоугольника. Визуализируйте его интуитивно - у вас есть круг, и вы растягиваете его (т.е. масштабируете, то есть умножаете) так, чтобы он был таким же большим, как прямоугольник по горизонтали и вертикали.