Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Поворот вектора направления! (http://www.flasher.ru/forum/showthread.php?t=114256)

Venya2007 23.07.2008 14:26

Поворот вектора направления!
 
Помогите пожалуйста! уже запарился:(!Работаю во флексе. Хочу повернуть вектор направления на заданный угол! Делаю так:
Код:

private function onTimerEvt(evt:TimerEvent):void{
                ang+=1
                fon.rotation=ang;
               
                dx=Math.sin(ang);
                dy=Math.cos(ang);
               
                title.text=String(fon.rotation)+' '+dx+'  '+dy
               
                }

У меня постояно dx и dy равны нулю :(!Во Flash IDE все прекрасно работает :(!

mre 23.07.2008 15:29

Код:

title.text=String(fon.rotation)+' '+dx.toString()+'  '+dy.toString()

ramshteks 23.07.2008 16:17

и наверно стоило бы при вычислении синуса и косинуса пеоеводить в радианы ang

Anry_coolboy 23.07.2008 18:14

Код:

Math.sin(ang*Math.PI/180)
и X работает с косинусом, а Y c синусом

ramshteks 23.07.2008 18:49

а вообще с точки зрения оптимизации стоит обьявить некую константу типа
Код:

private const IN_RAD=0.017453292519;//это пи поделенное на 180
Math.sin(ang*IN_RAD)


Venya2007 23.07.2008 19:21

Получилось! Всем спасибо!
Anry_coolboy все таки x c синусом, а y с косинусом :)!

ramshteks 23.07.2008 20:30

Цитата:

Сообщение от Venya2007 (Сообщение 753933)
Получилось! Всем спасибо!
Anry_coolboy все таки x c синусом, а y с косинусом :)!

неее... Anry_coolboy прав, а ты нет, но все зависит от твоих целей
может в твоем случае именно такой вариант и верен

Anry_coolboy 23.07.2008 23:40

да, просто в его случае он будет крутится против часовой. Та и вобще это неверно, всегда косинус был функций X, а синус функцией Y, если не придерживаться этого правила у тебя могу полезть разные баги, углы будут неправильно определятся или еще что то

ramshteks 24.07.2008 04:47

Anry_coolboy, ну если так, по совести... косинус и синус не являются функциями икса и игрика... рросто для вычисления прироста по оси x и y приизвестном угле используюутся они, я думаю если извратится то можна их заменить на тангенс или даже катангенс, но это не делает тангенс функцией икса... это просто геометрические функции...


Часовой пояс GMT +4, время: 23:28.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.