2011-02-08 4 views
3

Итак, у меня есть квадрат 8x8. В нем есть линия.Как получить точки X, Y координаты от линейного угла?

Line size == 8 angle == 0. 

Один из пунктов линии всегда находится на одном из верхних углов.

Что было бы формулой для получения координат точек, где линия пересекает границы квадрата? (положительный угол означает, что одна из точек линии равна 0, 0. отрицательная 0, 8)

Какая будет математическая формула для каждой точки координат? (В псевдокоде, если это возможно)

ответ

6
line_end_x = line_start_x + cos(angle)*line_length 

line_end_y = line_start_y + sin(angle)*line_length 

если линия пересекает вертикальную кромку:

intersection_x = edge_x 
intersection_y = line_start_y + (intersection_x - line_start_x) * tan(angle) 

если линия пересекает горизонтальную кромку:

intersection_y = edge_y 
intersection_x = line_start_x + (intersection_y - line_start_y) * tan(angle-pi/4) 

EDIT: скорректированное

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