PDA

Просмотр полной версии : Урок Геометрии :)


Zuben
17.07.2007, 15:59
Народ, подскажите, по какой формуле вычисляется угол между двумя точками с известными координатами. Я всю ночь сегодня голову ломал, графики чертил, выявлял закономерности, но так ничего и не понял.
Без этого, чувствую, 3Д движок создать не удасться.

В школе учился давно и с читами. :(

dedsky
17.07.2007, 16:07
для получения этого угла во флеше даже математику знать не надо. Есть такие функции Math.atan и Math.atan2

Double
17.07.2007, 16:20
угол между двумя точками?.. это, конечно, очень круто. я себе этого даже представить не могу, не то чтобы вычислить.

Zuben
17.07.2007, 16:27
atan2 выдает какие-то странные числа. Что он берет за начало координат?

var mouseListener:Object = new Object();
mouseListener.onMouseMove = function()
{
trace(Math.atan2(_xmouse, _ymouse));
}
Mouse.addListener(mouseListener);
Выдает значения от 0 до 1.6.

etc
17.07.2007, 16:51
Ну для начала в atan2 первым аргументом идет y, а потом x. Значение выдается в радианах.

Zuben
17.07.2007, 17:01
А как переводить радианы в градусы?

__i
17.07.2007, 17:21
grad = rad/Math.PI * 180;
но я думаю что даже с этими знаниями тебе не удастся сделать 3д двиг...

Zuben
18.07.2007, 15:15
Ну почему же? Движок почти собрал. Осталось только узнать, как вычислить координаты точки с известным углом и расстоянием от начала координат.
Может и здесь кто поможет?

На вложенном чертеже зеленым цветом выделены известные значения, а красным - то, что нужно найти.

goarcade
18.07.2007, 15:54
x = Math.cos(alpha)*S;
y = Math.sin (alpha)*S;
//S - растояние от начала координат;
//alpha - угол в радианах.

vitlance
19.07.2007, 08:59
координаты первой точки x_cord1; y_cord1
координаты второй точки x_cord2; y_cord2

А вот код подсчёта "угла" между ними:

delta_x = x_cord1 - x_cord2;
delta_y = y_cord1 - y_cord2;
angle = -Math.atan2(delta_x, delta_y)/(Math.PI/180);
trace(angle);

CorC
19.07.2007, 10:58
угол между двумя точками?..
Я тоже в шоке, но ему советы дают, значит все таки кое-кто знает, что это за угол и как его искать :)

artcraft
19.07.2007, 15:59
каждую точку на плоскости можно описать либо координатами по осям х и у, либо расстоянием от нулевой точки и углом между одной из осей и отрезком соединяющим эту точку с точкой отсчёта

+=Metlio=+
23.07.2007, 18:20
теорема пифагора фсех переживет

Nirth
23.07.2007, 19:55
теорема пифагора фсех переживет
Да я просто могу себе представить движок на теореме пифагора, и потрясающую скорость расчетов =)

CorC
24.07.2007, 10:25
каждую точку на плоскости можно описать либо координатами по осям х и у, либо расстоянием от нулевой точки и углом между одной из осей и отрезком соединяющим эту точку с точкой отсчёта
Это ты про полярные координаты, но про это никто не заикался.

dedsky
24.07.2007, 17:29
деревенщина друг друга поняла, а вот профессора озадачены формулировкой :quiet: