Просмотр полной версии : acos, asin, atan?
2K WebStudio
06.10.2003, 20:06
acos, asin, atan?
help читал!
Объясните, как оно действует!
Просто это функция обратная темже, но без приставок?
mishinaelle
06.10.2003, 21:32
да
Пушистик
07.10.2003, 12:00
не это не так уж сложно...даже я понял!:)
это функции, обратные косинусу, синунсу и тангенсу...
ну например:
trace(Math.cos(Math.PI/3));
косинус пи на три буит одна вторая(1/2)...
а чтобы наоборот вычислить сока буит арккосинус одной второй нуна сделать так:
(тока не забывай, что арккосинус вернет угол в радианах, а не в градусах)
// функция для перевода радиан в градусы
function radToDeg(radians) {
result = (radians/Math.PI)*180;
return result;
}
trace(radToDeg(Math.acos(1/2)));
буит 60 (или пи на три)...
с другими функциями также:)
например арктангенс еденицы буит, кажися, 45...
// функция для перевода радиан в градусы
function radToDeg(radians) {
result = (radians/Math.PI)*180;
return result;
}
trace(radToDeg(Math.atan(1)));
и в правду 45:)
вот поюзай (в первый фрейм)
_x = 150;
_y = 150;
createTextField("text", 1, -150, -150, 0, 0);
text.multiline = true;
text.autoSize = true;
text.border = true;
text.selectable = false;
createEmptyMovieClip("strel", 0);
with (_root.strel) {
lineStyle(0, 0x000000, 100);
moveTo(0, 0);
lineTo(0, -50);
}
onEnterFrame = function () {
var x = _xmouse, y = _ymouse;
if (x>0 && y*-1>0) {
i = Math.atan(x/y*-1);
i = i*180/Math.PI;
alf = i;
} else if (x>0 && y == 0) {
alf = 90;
} else if (x>0 && y*-1<0) {
i = Math.atan(x/y);
i = i*180/Math.PI;
alf = 90+(90-i);
} else if (x<0 && y*-1<0) {
i = Math.atan(x/y);
i = i*180/Math.PI;
alf = 90+(90-i);
} else if (x<0 && y == 0) {
alf = 270;
} else if (x<0 && y*-1>0) {
i = Math.atan(x/y);
i = i*180/Math.PI;
alf = 270+(90-i);
}
strel._rotation = alf;
text.text = "Alfa("+Math.ceil(alf)+")"+newline+"X("+Math.ceil(x)+")"+newline+"Y("+Math.ceil(y*-1)+")";
text._x += (x-text._x)/15;
text._y += (y-text._y)/15;
};
2K WebStudio
07.10.2003, 23:16
ясно, спасибо!
Видимо, моя ошибка заключалась в том, что я пытался использовать, получившиеся радианы, как градусы!!!
Вспем спасибо!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.