我有一个由角度α定义的给定线R. R经过我飞机的起源。我也有一个宽度和高度已知的矩形。矩形的左下角位于原点。
与R平行的新线由距R的距离L定义(以A,B和C为例)。我想找出新线与矩形相交的点(如A线的P1和P2,B的P3和P4,C的P5和P6)。
找到它的最佳方法是什么?
答案 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)