Просмотр полной версии : уравнение движения мат. маятника
Здраствуйте, мне нужно сделать математический нитяной маятник. Смоделировать кое-как движение получается, но дело в том, что требуется некая интерактивность - маятник можно будет перемещать, и подвешеный груз, соответственно с этим движением должен будеть совершать колебания, т.е по инерции. Сразу скажу что я не прошу дать мне решения, просто решил спросить у профессионалов какими методами пользоваться. Сначала я хотел выразить колебания напрямую через свойство _rotation, но теперь не уверен. Может лучше через cos и sin а потом зная их, вычислять угол наклона?
глянь такую модельку для пружинки (mc -мувик):
var centerX=200,k=0.01,s=0,vx,mouseX;
function fly(){
vx=s+=(centerX-this._x)*k;
this._x+=vx;
}
function drag(){
vx=_xmouse-mouseX;
mouseX=_xmouse;
this._x+=vx;
}
mc.onEnterFrame=fly;
mc.onPress=function(){
mouseX=_xmouse;
this.onEnterFrame=drag;
}
mc.onRelease=mc.onReleaseOutside=function(){
s=0;
this.onEnterFrame=fly;
}
если мувику определить свойство, отвечающее за угол , а в сеттере/геттере вычислять его координаты на окружности, то получится тоже самое для маятника на ниточке
Жень Шень
09.11.2006, 11:59
Привет!
Смотри фрагмент урока.
Может то, что надо...
alkonaft
09.11.2006, 17:26
Tween.yoyo решает.
а как вычислять угол, если, допустим известен косинус и синус угла?
Dendroid
10.11.2006, 19:26
Math.atan2(cos,sin);
Вот тебе архивчик, там маятник с гравитацией. Все качается и наглядно, можно менять гравитацию и пр.
Я запарился и сделал гравитацию и покадрово считал проекции сил, момент инерции и пр.
Ошибка, конечно, есть, но чем больше кадров в сек. тем меньше ошибка.
Скрипт, сразу говорю, чудовищный, ну так напиши свой!
P.S. написано на 5-м
В конце концов это вылилось в http://xstein.spb.ru/power/puskin.html.
Можно сделать математически точно, по формуле:
угол = amp * Math.sin( 2* 3.14 * time/period);
где amp = амплитуда колебания(угол), period - период колебания маятника, time соответственно время. Амплитуду хорошо бы понемножку уменьшать, умножая например на .99 Это колебательное уравнение материальной точки, из школьного курса физики, работающий пример в посте Жень Шеня. В этом случае все будет прекрасно, но мышкой в фазу попасть (чтобы раскачать) очень трудно. У меня не получилось.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.