Вот тебе архивчик, там маятник с гравитацией. Все качается и наглядно, можно менять гравитацию и пр.
Я запарился и сделал гравитацию и покадрово считал проекции сил, момент инерции и пр.
Ошибка, конечно, есть, но чем больше кадров в сек. тем меньше ошибка.
Скрипт, сразу говорю, чудовищный, ну так напиши свой!
P.S. написано на 5-м
В конце концов это вылилось в
http://xstein.spb.ru/power/puskin.html.
Можно сделать математически точно, по формуле:
угол = amp * Math.sin( 2* 3.14 * time/period);
где amp = амплитуда колебания(угол), period - период колебания маятника, time соответственно время. Амплитуду хорошо бы понемножку уменьшать, умножая например на .99 Это колебательное уравнение материальной точки, из школьного курса физики, работающий пример в посте Жень Шеня. В этом случае все будет прекрасно, но мышкой в фазу попасть (чтобы раскачать) очень трудно. У меня не получилось.