2015-06-17 4 views
-3

C++, я хочу рассчитать угол направления двух точек.Вычислить Угол объекта (лицо), имеющий две точки?

Вот изображение, которое показывает две точки и направление того, как получить угол направления?

enter image description here

p1 - начальная точка. p2 - направление. мне нужен угол направления (обращенное?) от p1 до p2

+0

[Πυθαγόρας] (https://en.wikipedia.org/?title=Pythagorean_theorem#Pythagorean_trigonometric_identity)? –

+0

http://i.imgur.com/2GX0MUw.png?1 –

+0

Ну и что? Это по-прежнему универсальная математическая математика, у вас есть все необходимые функции в C++ (['#include '] (http://en.cppreference.com/w/cpp/header/cmath)), и моя ссылка объясняет ну, что делать. (Следует отметить, что функции C++ используют значения радианного угла в качестве аргументов, а не градусов). –

ответ

2
#include <cmath> 

// ... 
double angle = atan2(p2.y - p1.y, p2.x - p1.x); 
// ... 

Если вы хотите, вы можете также убедиться, что p1 != p2, потому что если это, то вы получите сообщение об ошибке домена.

+0

http://i.imgur.com/2GX0MUw.png ?? –

+1

@ ZeroMemory На вашем изображении этот угол всегда 90 градусов. Это определение прямого угла. – Jashaszun

+0

Ваша функция не возвращает 0-360. –

Смежные вопросы