2011-02-09 4 views
1

Можно создать дубликат:
Calculating the angle between two lines without having to calculate the slope? (Java)Нахождение угла между двумя линиями

Мне нужно найти угол между тремя точками. У меня есть точка a и точка c, являющаяся двумя точками моего луча, и у меня есть точка b, являющаяся моей центральной точкой, из которой выходят точки a и c. Если я создаю линию между точками b и a, и я создаю линию между точками b и c, могу ли я найти угол между двумя линиями.

+0

Что это связано с Xcode? –

+0

dot-product и т. Д. См. Http://stackoverflow.com/questions/2946327 или http://stackoverflow.com/questions/3365171 или http://stackoverflow.com/questions/3612814 или http://stackoverflow.com/questions/1211212 или http://stackoverflow.com/questions/4294638 –

+0

Что это связано с программированием? – jason

ответ

7

Возьмите линию a с вектором направления A (a, a ', a ") и линией b с вектором направления B (b, b', b").

 A.B = ||A||.||B||.cos(t) 

        A.B 
     cos(t) = -------------- 
        ||A||.||B|| 

Take A (1,2,3); B (4,5,6); C (3,2,0) Рассчитать угол между линиями AB и AC. Линия AB имеет номера направлений (3,3,3), а линия AC имеет номера направлений (2,0, -3). Следовательно

   6 + 0 - 9 
    cos(t) = ----------------- 
      sqrt(27) .sqrt(13) 

ОБНОВЛЕНИЕ:

Использование агссоз (сов (т)), чтобы получить угол. для преобразования радианов в градусы умножить на 180/π для преобразования градусов в радианы умножить на π/180

+1

приятное искусство ascii! –

+0

Был скопирован из книги :) –

+1

Отсутствует шаг. ОП запрашивает угол, а не косинус угла, если, конечно, он не работает в радиусе вместо градусов. – kirakun

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