一、三维空间计算
以下算法均基于空间三维点实现,其中平面与直线均是三维空间中的平面与直线,表达方式如下:
平面方程:
直线方程:
直线方程由直线上一点及其方向向量描述直线,其中为直线上一点,
为直线的方向向量
1、计算空间三角形面积
空间三角形三个顶点坐标为A(x1,y1,z2),B(x2,y2,z2),C(x3,y3,z3)
计算过程如下:
(1)计算向量AB,AC
(2)计算AB×AC
(3)则S=0.5*|AB×AC|
2、点线距离
3、点面距离
4、面面夹角
5、面面交线
两个平面的方程分别为:
计算过程如下:
(1)两个平面的法向量为,计算法向量叉乘
,若
,则两个平面不存在交线;
(2)若两平面存在交线,记交线方程为;则
;
(3)计算交线上一点,获得交线方程
6、线面交点
直线方程为:
平面方程为:
计算过程如下:
(1)使用平面法向量及直线方向向量点积值,判断直线与平面是否存在交点,若点积值=0,则进一步判断直线是否在平面上,若直线在平面上,则可根据需求确定是否取直线上任意一点作为交点结果;
(2)当直线与平面存在交点时,根据公式计算出交点坐标