天天看點

3D數學5-幾何圖元表示方法

05/11/2020

05/12/2020 - 直線的向量表達式的語義

幾何圖元

  • 表示方法
    • 直線與射線
      • 射線表達
      • 直線
        • 向量表達式
    • 球和圓
      • 表達式可以見最上面
      • 公式
    • 矩形邊界框
      • 專業術語
      • AABB表達方式
        • AABB與邊界球
      • 變換AABB
    • 平面
      • 表達方式
      • 平面3個點計算n和d
      • 從點集中求出最佳平面的
      • 點到平面的距離
    • 三角形
      • 重心坐标空間
      • 特殊點
    • 多邊形
      • 自相交多邊形
      • 凸或者凹多邊形
      • 三角分解和扇形分解

表示方法

如何表示一個圖元或形狀

  • 隐式表示:通過定義一個布爾函數表示。

    x 2 + y 2 + z 2 = 1 ( 球 函 數 ) x^2 + y^2 + z^2 = 1 (球函數) x2+y2+z2=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) x(t)=cos(2πt)y(t)=sin(2π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 x(t)=x0​+tΔxy(t)=y0​+tΔy

$$

直線

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

向量表達式

p ⋅ n ⃗ = d p\cdot \vec n = d p⋅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}] pmin​=[xmin​,ymin​,zmin]pmax​=[xmax​,ymax​,zmax]

  • 中心點
  • 半徑向量:它是從中心點指向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 q⋅n−d

如果等于0,表示點在平面上

三角形

三角形由三個頂點構成。

  • 基本性質
  • 面積
    • 普通版:底乘高除2
    • 海倫公式:如何在不知道高的情況下計算面積,用三角形三邊長度計算面積
    • 進階版:用三角形三個頂點計算面積

重心坐标空間

在3D世界中,為了友善移動或使用三角形。三角形所在平面的任一點都能表示為頂點的權重平均值。

特殊點

  • 重心
  • 内心
  • 外心

多邊形

簡單化:把複雜的多邊形變成簡單的多邊形的組合,比如多個三角形組合成梯形等。

自相交多邊形

邊相加

凸或者凹多邊形

簡單化不同,凹多邊形需要使用輔助線。

三角分解和扇形分解

任意多邊形都能分解為三角形。

扇形三角分割出一些長的,較細的三角形。

3D基礎數學第十二章

繼續閱讀