所以我有一个8x8的方格。它有一条线。
Line size == 8 angle == 0.
其中一个线点始终位于其中一个顶角。
检索线与正方形边界交叉的点坐标的公式是什么? (正角度表示线点之一为0,0。负0,8)
每个坐标点的数学公式是什么? (如果可能,使用伪代码)
答案 0 :(得分: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)
编辑:更正