线和矩形之间的交点

时间:2010-08-26 14:13:31

标签: math

Schematic

我有一个由角度α定义的给定线R. R经过我飞机的起源。我也有一个宽度和高度已知的矩形。矩形的左下角位于原点。

与R平行的新线由距R的距离L定义(以A,B和C为例)。我想找出新线与矩形相交的点(如A线的P1和P2,B的P3和P4,C的P5和P6)。

找到它的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

使用此页面 http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/

它给出了两条线交叉的公式。与分别构成矩形的4条线中的每条线相交,然后检查u_a(由矩形线参数化的交点)是否在正确的边界之间,以确保您的线与矩形之外的线不相交。

请注意,您需要实际的点而非角度,但计算它们非常容易。 穿过原点的线简单地是(0,0) - >(cos(a),sin(a))

线x距离它,平行是 (0,0)+ x *(sin(a), - cos(a)) - > (cos(a),sin(a))+ x *(sin(a), - cos(a))

因为你可以注意到,(sin(a), - cos(a))只是一个垂直于你的直线的单位长度向量,所以你只需将它添加到形成原始直线的两个点的顶部。

答案 1 :(得分:1)

  1. 知道R(x)和距离L,您可以轻松获得B(x)
  2. 的功能
  3. 矩形可以表示为4行,即4个简单函数R1(x),R2(x),R3(x),R4(x)
  4. 你必须解决4个合并的等式:{A(x); R1(x)},{A(x); R2(x)}等
  5. 使用矩形的基点,宽度和高度(以及一般情况下的倾斜角度)检查是否找到了与线条的交点是否在矩形的边界内