Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Векторный анализ _ Полярные координаты

Автор: zvygin1964 17.12.2014, 9:20

Точка переместилась. Нужно узнать по часовой стрелке или против (в любой из четырех частей 2пи).
Для первой четверти- это знак угла ф=arctan(dу/dх), для других трех четвертей, это другие формулы.
А обобщенная формула есть?
То есть нужен знак второй полярной координаты.
Вероятно, это знак определителя или :
dot = a.x * b.x + a.y * b.y ; // скалярное произведение
det = a.x * b.y - a.y * b.x ; // определитель
an:=arctan(det/dot) ; //угол поворота
Решение этого вопроса будет использовано мной в http://programmersforum.ru/showthread.php?t=267214&page=2 .[attachmentid=4756]


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: zvygin1964 28.12.2014, 18:58

Soul,- хороший человек предложил такой вариант: PloshadTreug:=((x2-x1)*(y3-y1)-(y2-y1)*(x3-x1))/2; //знак показывает слева или справа третья точка находится относительно прямой, образованной первыми двумя точками. Ему выслано... литров (в денежном эквиваленте).
То есть расчет площади треугольника у которого один угол совпадает с началом координат.

Автор: zvygin1964 12.1.2015, 7:59

Работает вариант:
alpha:= arctan(((x1*y2) - (y1*x2))/( (x1*x2) + (y1*y2))) ;

Вероятно, это получено путем решения матрицы 2 х 2.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)