3D数学5-几何图元

05/11/2020
05/12/2020 - 直线的向量表达式的语义

表示方法

如何表示一个图元或形状

  • 隐式表示:通过定义一个布尔函数表示。
    x 2 + y 2 + z 2 = 1 x^2 + y^2 + z^2 = 1 (球函数)
  • 参数形式表示

例子:圆表达式
x ( t ) = c o s ( 2 π t ) y ( t ) = s i n ( 2 π t ) x(t) = cos(2\pi t) \\ y(t) = sin (2\pi t)
t被称作参数,当t从0变化大1时,点(x(t),y(t))的轨迹就是所要描述的形状

  • 直接形式表示:专业术语表达易于理解
  • 线段
  • 球心和半径表示球
  • 自由度:每个几何图元都有一个固有的属性,球有半径,长方体有长宽高

直线与射线

射线表达

x ( t ) = x 0 + t Δ x y ( t ) = y 0 + t Δ y x(t) = x_0 + t \Delta x \\ y(t) =y_0 + t \Delta y
$$

直线

a x + b y = d p n = d y = m x + b 隐式定义:ax+by = d \\ 向量表达:p\cdot n = d\\ 斜截式: y = mx + b

向量表达式

p n = d p\cdot \vec n = d
设向量n = [a,b]. n是垂直于直线的单位向量,d给出了原点到直线的有符号距离。这个距离是在垂直于直线的方向(平行于n)上度量的。

  • d如果为正,直线和标准向量n代表的点在原点的同一侧
  • 当d不断增大时,直线沿方向n移动

球和圆

表达式可以见最上面

公式

  • 面积或体积
  • 周长或表面积

矩形边界框

用来界定物体的几何图元的矩形边界框。

专业术语

  • 轴对齐矩形边界框(axially aligned bounding box),它的边必须垂直于坐标轴
  • AABB: 一个3D的简单六面体,每一边平行于一个坐标平面

AABB表达方式

p m i n = [ x m i n , y m i n , z m i n ] p m a x = [ x m a x , y m a x , z m a x ] p_{min} = [x_{min},y_{min},z{min}]\\ p_{max} = [x_{max},y_{max},z{max}]

  • 中心点
  • 半径向量:它是从中心点指向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是一个点
q n d q\cdot n - d
如果等于0,表示点在平面上

三角形

三角形由三个顶点构成。

  • 基本性质
  • 面积
    • 普通版:底乘高除2
    • 海伦公式:如何在不知道高的情况下计算面积,用三角形三边长度计算面积
    • 进阶版:用三角形三个顶点计算面积

重心坐标空间

在3D世界中,为了方便移动或使用三角形。三角形所在平面的任一点都能表示为顶点的加权平均值。

特殊点

  • 重心
  • 内心
  • 外心

多边形

简单化:把复杂的多边形变成简单的多边形的组合,比如多个三角形组合成梯形等。

自相交多边形

边相加

凸或者凹多边形

简单化不同,凹多边形需要使用辅助线。

三角分解和扇形分解

任意多边形都能分解为三角形。
扇形三角分割出一些长的,较细的三角形。

3D基础数学第十二章

猜你喜欢

转载自blog.csdn.net/weixin_44200074/article/details/106048514
今日推荐