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基礎數學第十二章