05/11/2020
05/12/2020 - 直线的向量表达式的语义
几何图元
表示方法
如何表示一个图元或形状
- 隐式表示:通过定义一个布尔函数表示。
- 参数形式表示
例子:圆表达式
t被称作参数,当t从0变化大1时,点(x(t),y(t))的轨迹就是所要描述的形状
- 直接形式表示:专业术语表达易于理解
- 线段
- 球心和半径表示球
- 自由度:每个几何图元都有一个固有的属性,球有半径,长方体有长宽高
直线与射线
射线表达
$$
直线
向量表达式
设向量n = [a,b]. n是垂直于直线的单位向量,d给出了原点到直线的有符号距离。这个距离是在垂直于直线的方向(平行于n)上度量的。
- d如果为正,直线和标准向量n代表的点在原点的同一侧
- 当d不断增大时,直线沿方向n移动
球和圆
表达式可以见最上面
公式
- 面积或体积
- 周长或表面积
矩形边界框
用来界定物体的几何图元的矩形边界框。
专业术语
- 轴对齐矩形边界框(axially aligned bounding box),它的边必须垂直于坐标轴
- AABB: 一个3D的简单六面体,每一边平行于一个坐标平面
AABB表达方式
- 中心点
- 半径向量:它是从中心点指向pmax<\sub>的向量
AABB与边界球
AABB比边界球更适合于做定界体。
- 易于计算一个点集的AABB:编程易于实现
- 大部分时候AABB的体积比边界球体积小
变换AABB
用变换后的物体重新计算AABB,或者对AABB做和物体同样的变换。
AABB有8个点,通常重新计算会快的多。但是会面临一个问题,AABB有时候也会发生扭曲或者旋转,导致新边界比原边界框大许多。
最后,选择AABB做和物体同样的变换,再根据矩阵情况下,再重新计算最小值和最大值。
平面
表达方式
$$
隐式定义:ax+by +cz= d
向量表达:p\cdot n = d (n为法向量,p为面上的点)
$$
平面3个点计算n和d
叉乘可以计算垂直于两个向量的向量。
从点集中求出最佳平面的
一组三个以上的点集中求出平面方程,叫作多边形顶点。
点到平面的距离
公式:q是一个点
如果等于0,表示点在平面上
三角形
三角形由三个顶点构成。
- 基本性质
- 面积
- 普通版:底乘高除2
- 海伦公式:如何在不知道高的情况下计算面积,用三角形三边长度计算面积
- 进阶版:用三角形三个顶点计算面积
重心坐标空间
在3D世界中,为了方便移动或使用三角形。三角形所在平面的任一点都能表示为顶点的加权平均值。
特殊点
- 重心
- 内心
- 外心
多边形
简单化:把复杂的多边形变成简单的多边形的组合,比如多个三角形组合成梯形等。
自相交多边形
边相加
凸或者凹多边形
简单化不同,凹多边形需要使用辅助线。
三角分解和扇形分解
任意多边形都能分解为三角形。
扇形三角分割出一些长的,较细的三角形。
3D基础数学第十二章