【发布时间】:2013-02-11 12:19:55
【问题描述】:
我需要在两个正方形之间画平行线。它们可以倾斜放置。我需要找出 6 个点(正方形 A 上的 3 个点和正方形 B 上的 3 个点),以便在它们之间绘制的线等距。谢谢
【问题讨论】:
-
正确插入图片。
-
... 理想情况下是一些你已经拥有的代码
我需要在两个正方形之间画平行线。它们可以倾斜放置。我需要找出 6 个点(正方形 A 上的 3 个点和正方形 B 上的 3 个点),以便在它们之间绘制的线等距。谢谢
【问题讨论】:
最好熟悉一点向量数学。
理想情况下,这些线会将自身定向到两个正方形 (x0, y0) - (x1, y1) 中心之间的向量。
三行的方向是:
x = (x1 - x0)
y = (y1 - y0)
与 (x, y) 成 90° 且大小为 1 的向量:
vn = (y, - x) / sqrt(x² + y²)
所以距离中心 10 px 的线是
(x0, y0) + 10.vn + µ.(x, y)
对三行使用 -10.vn、0、+10.vn。
确定与正方形边缘的交点(对于第一个正方形,µ > 0)。
因为它对一个人的自我意识是有益的,所以我把解决方案留给你。它也不再那么可读了。
【讨论】: