2015-08-26 7 views
0

У меня есть строка (DrawLine-Event) с точками (a, b) (c, d), и теперь я хочу рассчитать ее угол, но я не знаю, как это сделать.Вычислить угол с двумя точками C#

Я пробовал так:

double atan = ((d - b)/c - a)) * Math.PI/180; 
double solution = Math.Atan(atan); 
int angle = Convert.ToInt32(Math.Round(solution * 180/Math.PI)); 
+0

http://stackoverflow.com/questions/21483999/using-atan2-to-find -англы между двумя векторами или использовать точечный продукт. – Aybe

+0

удалить '* Math.PI/180' с первой строки – Igor

+0

все еще не работает ... – bravobyte

ответ

1

Вы можете использовать Vector.AngleBetween Method, чтобы получить угол

private Double angleBetweenExample() 
{ 
    Vector vector1 = new Vector(20, 30); 
    Vector vector2 = new Vector(45, 70); 
    Double angleBetween; 

    // angleBetween is approximately equal to 0.9548 
    angleBetween = Vector.AngleBetween(vector1, vector2); 

    return angleBetween; 

} 
+0

Разве это не был бы угол между двумя точками, а не угол линии с этими двумя точками? – crashmstr

+0

Да, мне нужен угол между линией и горизонтальной линией .. И я никогда не работал с векторами .. – bravobyte

+0

@bravobyte Проходит ли ваша линия через происхождение? –