绘制两个正方形之间的平行线

时间:2013-02-11 12:19:56

标签: java math geometry

我需要在两个正方形之间绘制平行线。它们可以倾斜放置。我需要找出6个点(方形A上3个,方形B上3个),以便它们之间绘制的线间距相等。感谢enter image description here

1 个答案:

答案 0 :(得分:1)

最好你熟悉一些矢量数学。

理想情况下,线条会将自身定向为两个正方形(x0,y0) - (x1,y1)中心之间的向量。

三条线的方向是:

x = (x1 - x0)
y = (y1 - y0)

向量90°至(x,y),大小为1:

vn = (y, - x) / sqrt(x² + y²)

所以距中心10 px的线是

(x0, y0) + 10.vn + µ.(x, y)

对三行使用-10.vn,0,+ 10.vn。

确定具有方形边缘的交点(第一个方格的μ> 0)。

由于这是对自我意识的回报,我将解决方案留给你。它也不再具有可读性。