三维精子建模中的空间几何问题

一、不共线的三点确定一个平面的方法

在空间坐标系内,平面的方程均可用三元一次方程Ax+By+Cz+D=0来表示。将已知三个点的坐标分别用P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3)表示。(P1,P2,P3不在同一条直线上。)。设通过P1,P2,P3三点的平面方程为A(x – x1) + B(y – y1) + C(z – z1) = 0 。化简为一般式:Ax + By + Cz + D = 0。将P1(x1,y1,z1)点数值代入方程Ax + By + Cz + D = 0。即可得到:Ax1 + By 1+ Cz1 + D = 0。化简得D = -(A * x1 + B * y1 + C * z1)。则可以根据P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3)三点坐标分别求得A、B、C、D的值,如下:
 A = (y3 – y1)*(z3 – z1) – (z2 -z1)*(y3 – y1);
 B = (x3 – x1)*(z2 – z1) – (x2 – x1)*(z3 – z1); 
 C = (x2 – x1)*(y3 – y1) – (x3 – x1)*(y2 – y1);
 D = -(A * x1 + B * y1 + C * z1)。

二、两平面的夹角计算方法 

定义 两张平面的法向量的夹角(通常指锐角)称为两平面的夹角。设平面plane1和plane2为:
Plane1:A1x + B1y + C1z + D1 = 0
Plane2:A2x + B2y + C2z + D2 = 0
它们的法向量依次为:n1={A1,B1,C1}, n2={A2,B2,C2}
记平面1和2的夹角为ceta ,由规定ceta应是锐角,因此其余弦值非负。

故有Cos(ceta)=|A1A2+B1B2+C1C2|/sqrt(A1**2+ B1**2+ C1**2)/sqrt(A2**2+ B2**2+ C2**2)