我尝试了Line of intersection between two planes
中的算法但都没有返回正确的结果
我有两个3D矩形,每个由三个点定义,我想在交叉线上得到两个点,这样两个点在交叉点的尽头 我执行以下步骤:
我想获得位于平面边界上的线的实际终点
祝你好运
答案 0 :(得分:0)
您提供的链接最有可能是正确的解决方案:) 您是否正确地将您的三点信息转换为Ax + By + Cz + D = 0表格?检查所有这些点是否满足此公式。如果您有正确的{A,B,C,D},那么很容易计算其余部分,如链接所述。
Here是一个解释如何使用3分获得此公式的链接。
好的,这是一个简单的总结:
给出空间中的三个点(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),计算:
A = y1(z2 - z3)+ y2(z3 - z1)+ y3(z1 - z2)
B = z1(x2 - x3)+ z2(x3 - x1)+ z3(x1 - x2)
C = x1(y2 - y3)+ x2(y3 - y1)+ x3(y1 - y2)
D = - (x1(y2 z3 - y3 z2)+ x2(y3 z1 - y1 z3)+ x3(y1 z2 - y2 z1))
两架飞机。这意味着你有A1,B1,C1,D1和A2,B2,C2,D2。
使用A,B,C,D计算:
x1 = 0
z1 =(B2 / B1)* D1-D2)/(C2-C1 * B2 / B1)
y1 =( - C1 * z1 - D1)/ B1
然后:
x2 =某个值..
z2 =(B2 / B1)*(A1 * x2 + D1) - A2 * x2 - D2)/(C2 - C1 * B2 / B1)
y2 =( - C1 * z2 -A1 * x2 - D1)/ B1
基本上只是结合这两个链接中描述的两种方式..