PDA

Просмотр полной версии : помогите, нужна формула...


Rounder
09.04.2002, 12:31
Шар дфижется по прямой наклоненной по отношению к другой прямой под углом alpha , та в свою очередь с осью х составляет угол beta. Нужна формула вычисления координат после отражения - угол отражения относительно оси х известен. Помогите плиз...

Sveta
09.04.2002, 14:18
Гм... Я запуталася что с кем угол составлять должно по твоему мнению. Вот сделала так, может это и не то. что те надо.
---------code------------------
var conec=-100,nachalo=200,radius=10,shag=10,speed=20,k=1
for (var i=0;i<2;i++){
createEmptyMovieClip("clip"+i,i)
names=_root["clip"+i]
names.lineStyle(0)
if(i){
names.lineTo(200,0)}
else{
names.lineTo(200,conec)}
names._x=Stage.width/2
names._y=Stage.height/2}
createEmptyMovieClip("clip",i+1)
rad=Math.PI/180
clip.lineStyle(2,0)
clip.onEnterFrame=function(){
this._x-=(nachalo)/speed
this._y-=k*(conec)/speed
if(this._x==clip0._x){
k=-1 }
while(a<=360){
this._x=clip0._x+nachalo
this._y=clip0._y+conec
this.moveTo(radius*Math.sin(a*rad),-radius*Math.cos(a*rad))
a+=shag
x=radius*Math.sin(a*rad)
y=-radius*Math.cos(a*rad)
this.lineTo(x,y)
}}
------------------

DeliMIter
10.04.2002, 09:29
2Rounder

Будешь лазать по форумам искать ответы на поставленные задачи - уволю. Усекэ?

Useless
10.04.2002, 15:42
Ой, блин! Может, моё начальство тоже тут на форуме сидит? И ересь мою читает? Вот так возьмёт - да уволит!

:D

Aib
10.04.2002, 18:40
u - угол между A прямой и осью X
v - угол между прямыми A и B.
C - прямая отражения B от A.
w - угол между С и осью X.
w = PI - v + u (еси брать векторы).
Потом заменяешь переменные и по тому же алгоритму двигаешь.

RFMitrio
10.04.2002, 18:48
2DeliMIter: ну ни фига ж ёпта, ты злой. Странный подход...какая разница, как человек решение задачи найдет, главное, чтоб нашел. И вообще таким образом пол-форума бы с работы можно уволить было :D :D

Fisher
11.04.2002, 10:55
Нарисуй а картиночку сюды полож. А мы подумаем :D А когда сам нарисуешь глядишь и помощь не понадобиться. На всякий случай пишу пару формул в твою копилку.
c = Math.sqrt (a*a+b*b);
...
Нее... пару не вспомнить-склероз :D :D :D

DeliMIter
11.04.2002, 11:17
2RFMitrio

Злой - да. Зато справедливый. Задача состояла именно в том, чтобы показать СВОИ скиллы, а не методы добычи знаний. Если бы это была нетестовая задача, думаешь, я сам бы ему этих фурмул и советов по выполнению с избытком не отсыпал?

УильямБрэдберри
11.04.2002, 15:18
Оригинал написал(а) DeliMIter
2RFMitrio

Злой - да. Зато справедливый. Задача состояла именно в том, чтобы показать СВОИ скиллы, а не методы добычи знаний. Если бы это была нетестовая задача, думаешь, я сам бы ему этих фурмул и советов по выполнению с избытком не отсыпал?

гы.. СВОИ скиллы?
или свой багаж?

только идиот может держать в голове всю математику...

а умный человек не потому умный, что много знает, а потому, что он этими знаниями умеет пользоваться, а где он их хранит (в ноуте, на книжной полке или на ладошке пишет) дело десятое...