如果给出不规则四面体的顶点坐标A(x1,y1,z1)B(x2,y2,z2)C(x3,y3,z3)D(x4,y4,z4)并且我需要计算3d坐标来自顶点A的高度的h(x,y,z)。在许多谷歌搜索之后,我只能找到重心坐标而不是高度的顶点。请帮忙。
答案 0 :(得分:1)
三点B,C,D定义平面a*x+b*y+c*z-d=0
,其中
a = y2 * (z3 - z4) + y3 * (z4 - z2) + y4 * (z2 - z3)
b = z2 * (x3 - x4) + z3 * (x4 - x2) + z4 * (x2 - x3)
c = x2 * (y3 - y4) + x3 * (y4 - y2) + x4 * (y2 - y3)
d = x2 * (y3 * z4 - y4 * z3) + x3 * (y4 * z2 - y2 * z4) + x4 * (y2 * z3 - y3 * z2)
(derived from mathworld formula (18)) 该平面的法向量是(a,b,c)。
H点 - 距顶点A的高度,因此AH矢量垂直于BCD平面,H位于平面BCD中。 H =(x1 + k * a,y1 + k * b,z1 + k * c),你只需要在平面方程中代替这些坐标,求解k系数,然后计算H点坐标
替换:a*(x1+k*a) + b*(y1+k*b)+c*(z1+k*c)-d=0