Ответы:
Как отмечает Мартон, есть несколько кривых «восьмерка», которые могут соответствовать вашим потребностям. Возможно, самым простым является лемнискат Героно , который имеет параметризацию:
x = cos(t);
y = sin(2*t) / 2;
и выглядит так:
Однако лемнискат Бернулли может быть визуально более приятным; он имеет параметризацию, очень похожую на лемнискату Героно, за исключением того, что обе оси масштабируются с коэффициентом 1/(sin(t)^2 + 1) = 2/(3 - cos(2*t))
:
scale = 2 / (3 - cos(2*t));
x = scale * cos(t);
y = scale * sin(2*t) / 2;
Это выглядит так:
(Анимации, сделанные с помощью Maple 13, сжатые с помощью GIFsicle.)
t
. Я бы рекомендовал включить описание того, как вы будете использовать эту формулу для позиционирования движущегося объекта во времени.