计算几何_几何知识1

1三维向量叉乘

三维向量叉乘得到一个新的向量:(a1,a2,a3) X (b1, b2,b3) = (a2 * b3 a3 * b2, - (a1 * b3 a3 * b1), a1 * b2 a2 * b1)

 

2 四点共线

四点共线的判断。设A,B,C,D的坐标分别是(xi,yi,zi),(i = 1, 2, 3, 4)。则由四个向量(xi,yi,zi, 1)T (i=1,2,3,4)的行列式为0

 

3球面三角形

设球面上有三个不在同一大圆弧上的三点ABC,分别连结其中两点的大圆弧(劣弧)a=BCb=CA, c = AB围成一个区域,成为球面三角形,ABC是它的顶点abc是它的边,用边所在的大圆弧(劣弧)的弧度来度量。边bc所夹的角是指bc分别所在的平面组成的二面角,仍记作A,称为球面三角形的内角(内角BC的定义类似)。用向量法可以证明球面三角形的如下性质:

cos(a) = cos(b)*cos(c) + sin(b)*sin(c)*cos(A) (余弦公式)

sin(a) / sin(A) = sin(b) / sin(B) = sin(c) / sin(C) (正弦公式).  

 

4弓形的重心

圆心在原点,半径为r,圆心角为ang(ang > 0 && ang <= pi ,如果ang大于pi,可以用负面积法来做),且关于x轴对称的扇形的重心是(2*r*sin(ang/2) / (3 * ang / 2), 0)。其余情形可以通过扇形的旋转平移来计算。利用负面积法还可以计算弓形的重心。

 

5经过三点的平面的方程

经过点d1(x1,y1,z1), d2(x2, y2, z2), d3(x3, y3, z3)的平面方程: (X1, Y1,Z1) = d1 d3 = (x1-x3, y1-y3, z1-z3), (X2, Y2, Z2) = d2 d3 = (x2-x3, y2-y3, z2-z3),则由(x-x3, X1, X2), (y-y3, Y1, Y2), (z-z3, Z1, Z2)组成的行列式为0可得Ax + By +Cz + D = 0, A = Y1*Z2 Y2*Z1, B = -(X1*Z2 X2*Z1), C = X1*Y2-X2*Y1D=-(A*x3 + B*y3+C*z3)(如果A,B,C均为0的话表示三点共线)

 

6点到平面的距离

直角坐标系中点p1(x1, y1, z1) 到平面A*x + B*y + C*z + D = 0 的距离为d: | A*x1 + B*y1 + C*z1 + D | / sqrt(A * A + B * B + C * C)

 

7平面和平面的夹角

平面A1*x + B1*y + C1*z + D1 = 0 和平面A2*x + B2*y + C2*z + D2 = 0 的夹角ang满足cos(ang) = (A1 * A2 + B1 * B2 + Z1 * Z2) / (sqrt(A1 * A1 + B1 * B1 + C1 * C1 ) * sqrt(A2 * A2 + B2 * B2 + C2 * C2 ))

 

8过两点和平行于某平面的平面方程

设平面过两个不同的点A,B,且平行于平面A1*x + B1*y + C1*z + D = 0,则可以用向量(B - A) X (A1,B1,C1)  作为平面的一个法向量。

 

9平面和平面的距离

平面A*x + B*y + C*z + D1 = 0 和平面A*x + B*y + C*z + D2 = 0 的距离为 |D1- D2| / sqrt(A*A + B * B + C * C)(这个公式也可以用于求平面沿其法向量移动了距离d之后的方程)

 

10两个平面的角平分面的方程

设两个平面A1*x + B1*y + C1*z + D1 = 0 和平面A2*x + B2*y + C2*z + D2 = 0 利用点到平面的距离公式可以求出这两个平面相交得到的二面角的角平分面为的方程为:(A1*x + B1*y+C1*z+D1) / sqrt(A1*A1 + B1*B1 + C1*C1) = (+/-)(A2*x + B2*y+C2*z+D2) / sqrt(A2*A2 + B2*B2 + C2*C2)。该方法同样也可以用于求两条直线的角平分线方程。

你可能感兴趣的:(几何知识)