求任意四面体体积公式
以下是一个求任意四面体体积的公式:(已知四面体四个顶点的坐标)|1 1 1 1|
V=(1/6) × |x1 x2 x3 x4|
|y1 y2 y3 y4|
|z1 z2 z3 z4|
其中四个点的坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),(x4,y4,z4)
想请教各位,怎么编程解啊???
[此贴子已经被作者于2006-3-9 16:57:32编辑过]
[此贴子已经被作者于2006-3-9 16:57:32编辑过]
我本来的意思是,编个程序,直接解这种4阶行列式。
实在没有办法的时候,就用线性代数的方法,先化简行列式,再求值!
double volume(double x1,double y1,double z1,double x2,double y2,double z2,double x3,double y3,double z3,double x4,double y4,double z4)
{ double A1,A2,A3,A4,value;
A1=x2*(y3*z4-y4*z3)-x3*(y2*z4-y4*z2)+x4*(y2*z3-y3*z2);
A2=x1*(y3*z4-y4*z3)-x3*(y1*z4-y4*z1)+x4*(y1*z3-y3*z1);
A3=x1*(y2*z4-y4*z2)-x2*(y1*z4-y4*z1)+x4*(y1*z2-y2*z1);
A4=x1*(y2*z3-y3*z2)-x2*(y1*z3-y3*z1)+x3*(y1*z2-y2*z1);
value=(A1-A2+A3-A4)/6;
return value;
}
以上是化简公式,求体积的函数。用化简的方法,我已经解决了。只是想请教一下,有没有直接解4阶行列式的办法。
[此贴子已经被作者于2006-3-10 13:19:11编辑过]