PDA

Просмотр полной версии : Cosinus/arcosinus


Therion
29.05.2007, 22:35
Нечего не понимаю...пишу
Math.cos(90)-выдаёт -0,448
Math.acos(0.9)-выдаёт 0,45
что за бред:mad: :mad:

BigDan
29.05.2007, 22:38
Потому что во флеше радианная мера угла
PI = 180

Therion
29.05.2007, 22:43
хм а как в человеческую меру перевети?
умножить радианы на Math.PI/180?

Ага...cosinus нашел как ващетать Math.cos(R*Math.PI/180)
всё методом научного тыка нашёл Math.acos(0.707)/Math.PI*180

etc
29.05.2007, 23:32
Углы указываются в радианах.

iNils
29.05.2007, 23:47
Ага...cosinus нашел как ващетать Math.cos(R*Math.PI/180)Если писать
Math.cos(R*(Math.PI/180))То работать будет быстрее :)

Therion
30.05.2007, 00:06
то то я думаю чего это у меня комп тормозит....

Sp1R1t
30.05.2007, 00:09
То работать будет быстрее
а есть еще какие-нибудь правила ускорения арифметических действий?:)

iNils
30.05.2007, 03:28
а есть еще какие-нибудь правила ускорения арифметических действий?:)
Можно еще писать не Math.что-то, а _global.Math.что-то.
Только надо понимать, что это не поднимет производительность в разы, а лишь на несколько процентов. Но при обильных математических расчетах, например 3D, каждый процент на счету.

etc
30.05.2007, 04:32
А ещё надо создавать ссылки на подобные функции, а не на каждой строке писать полный путь к ней.

Mr. Fixit
30.05.2007, 10:58
А ещё надо создавать ссылки на подобные функции, а не на каждой строке писать полный путь к ней.
А как именно?:away:

iNils
30.05.2007, 11:01
sin = _global.Math.sin
Только это не ускорит выполнение кода, но улучшит его читабельность.

etc
30.05.2007, 13:59
Ускорит, немного. Флешу не потребуется скакать по объектам до sin.

alrusdi
30.05.2007, 17:33
А еще для тригонометрических функций можно создать таблицы предрасчитанных значений (если большая точность не требуется)