以标准格式表示的3D直线
a1*x + b1*y + c1*z + d1 = 0
a2*x + b2*y + c2*z + d2 = 0
和给定点x0,y0,z0
从点到直线的距离是多少?
答案 0 :(得分:0)
从点 P0 到参数线的距离 L (t)= 基础 + t * Dir 是< / p>
Dist = Length(CrossProduct(Dir, P0 - Base)) / Length(Dir)
找到方向向量:
Dir = CrossProduct((a1,b1,c1), (a2,b2,c2))
要获得一些任意基点,用2个方程和3个未知数求解方程组(找到任意解):
a1*x + b1*y + c1*z + d1 = 0
a2*x + b2*y + c2*z + d2 = 0
检查由a和b,a和c,b和c系数组成的未成年人。当minor为非零时,相应的变量可能被视为空闲变量。例如,如果a1 * b2 - b1 * a2 <> 0
,请将变量z
选为空闲 - 将其设为零或其他值,并为两个未知数x和y求解系统。
(我省略了平行或重合平面的额外情况)