2011-02-08 82 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) 

编辑:校正