一:简介
几何世界中的任意图形,诸如线段,直线,射线都需要一个表示方式,本章记录这些图元的表示方式,以及这些方式是怎么方便和简化我们对他们进行相交性或者其他性质的检测和判断
二:多种图元
1.直线
隐式表示:ax+by=d
向量法:n=[a, b],p*n = d
斜截式:y = mx + b
2.球
核心:到球心的距离等于r
向量表示:||p - c|| = r
3.矩形边界框
1.两种表示方式:AABB(axially aligned bounding box)轴对齐矩形边界框
OBB(oriented bounding box)方向矩形边界框
2.原理:一个3D物体总是可以被一个长方体完全包围,即有两个最重要的点,离远点最近的那个店Pmin和Pmax,将这个物体完全包围起来、
3.计算方式:先将最大和最小值都设为正负无穷大,然后遍历所有点,扩展边界知道他包含所有点为止
4.AABB和边界球相比:更加紧凑,AABB有三个自由度,长宽高,而球只有一个半径,多数情况下AABB能将物体包围的更好
5.变换AABB:当一个物体移动了,他的AABB也需要随之移动,有两种选择,要么对AABB做同样的变换,要么对变换后物体重新计算AABB,不过
4.平面
p = [x, y, z], n = [a, b, c]
p*n = d, 平面上的不共线的三个点
5.三角形(****)
1.面积是平行四边形的一半
2.海伦公式
3.重心:三条中线的交点,也被称为质心
内心:三条角平分线的交点,到三条边的距离相等
外心:到各顶点距离相等的点,外接圆的圆心,外心是各边垂直平分线的交点
6.多边形
1.简单多边形和复杂多边形可以通过添加线段转换
2.自交形多边形
3.凸多边形和凹多边形
区分:凹多边形凹进去的地方的内角是大于180度的,如果将所有大于180度的角转换成下360减去他,即小于180度的角,那么由n多边形的内角和为(n-2)*180,则这个值会比这个值小,而凸多边形没有大于180度的内角,所以还是等于这个值,这就区分了两种多边形。
计算小角度:怎么计算角度是大于180还是小于180呢
4.分解成三角形
任何多边形无论是凸的还是凹的都可以分解成很多三角形
网友评论