【问题标题】:Drawing parallel lines between two squares在两个正方形之间绘制平行线
【发布时间】:2013-02-11 12:19:55
【问题描述】:

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

【问题讨论】:

  • 正确插入图片。
  • ... 理想情况下是一些你已经拥有的代码

标签: java math geometry


【解决方案1】:

最好熟悉一点向量数学。

理想情况下,这些线会将自身定向到两个正方形 (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)。

因为它对一个人的自我意识是有益的,所以我把解决方案留给你。它也不再那么可读了。

【讨论】:

    猜你喜欢
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2013-06-29
    • 2020-06-04
    • 1970-01-01
    • 2012-01-03
    相关资源
    最近更新 更多