交互式计算机图形学总结:第三章 几何对象和变换
第三章 幾何對(duì)象和變換
基本概念
–零向量:長(zhǎng)度為零,方向沒(méi)有定義
–向量空間:包含向量和標(biāo)量
–仿射空間:包含向量、標(biāo)量、點(diǎn)
–計(jì)算機(jī)科學(xué)的觀點(diǎn):把向量、標(biāo)量、點(diǎn)看作抽象數(shù)據(jù)類(lèi)型(ADT)
–凸性:如果對(duì)于一個(gè)對(duì)象中的任意兩個(gè)點(diǎn),連接它們的線(xiàn)段上所有的點(diǎn)仍然位于這個(gè)對(duì)象中,那么這個(gè)對(duì)象就是凸的
直線(xiàn)
–直線(xiàn)的參數(shù)形式:P(α)=P0+αdP(\alpha ) = P_{0} + \alpha dP(α)=P0?+αd
仿射加法
點(diǎn)積和叉積
–點(diǎn)積
(a1,a2,a3)?(b1,b2,b3)=a1b1+a2b2+a3b3(a_{1}, a_{2}, a_{3})\cdot (b_{1}, b_{2}, b_{3}) = a_{1}b_{1} + a_{2}b_{2} + a_{3}b_{3} (a1?,a2?,a3?)?(b1?,b2?,b3?)=a1?b1?+a2?b2?+a3?b3?
一般有:
a?b=∣a∣∣b∣cos?θa\cdot b = \left |a \right |\left |b \right |\cos \theta a?b=∣a∣∣b∣cosθ
–叉積
(a1,a2,a3)×(b1,b2,b3)=(a2b3?a3b2,a3b1?a1b3,a1b2?a2b1)(a_{1}, a_{2}, a_{3})\times (b_{1}, b_{2}, b_{3}) = (a_{2}b_{3} -a_{3}b_{2} , a_{3}b_{1} -a_{1}b_{3} , a_{1}b_{2} -a_{2}b_{1} ) (a1?,a2?,a3?)×(b1?,b2?,b3?)=(a2?b3??a3?b2?,a3?b1??a1?b3?,a1?b2??a2?b1?)
平面
–線(xiàn)段的參數(shù)形式:
S(α)=αP+(1?α)Q,0≤α≤1S(\alpha ) = \alpha P + (1 - \alpha) Q, 0\leq \alpha \leq 1S(α)=αP+(1?α)Q,0≤α≤1
–平面的參數(shù)形式
變換(Transformation)
–平移(translation):P’ = P+T, where T is translation vector
–縮放(scaling):P’ = S*P, where S is a scaling matrix
–旋轉(zhuǎn)(rotation):P’ = R*P, where R is a rotation matrix
A)沿X軸旋轉(zhuǎn)的旋轉(zhuǎn)矩陣(不動(dòng)點(diǎn)為原點(diǎn))
B)沿Y軸旋轉(zhuǎn)的旋轉(zhuǎn)矩陣(不動(dòng)點(diǎn)為原點(diǎn))
C)沿Z軸旋轉(zhuǎn)的旋轉(zhuǎn)矩陣(不動(dòng)點(diǎn)為原點(diǎn))
–變換矩陣的逆矩陣
OpenGL的變換順序
–當(dāng)前變換矩陣(Current Transformation
Matrix,CTM):CTM是繪制流水線(xiàn)的一部分,因此,如果p是應(yīng)用程序中定義的一個(gè)頂點(diǎn),那么繪制流水線(xiàn)就會(huì)生成Cp
–例子(固定點(diǎn)的旋轉(zhuǎn))
–OpenGL里的CTM
總結(jié)
以上是生活随笔為你收集整理的交互式计算机图形学总结:第三章 几何对象和变换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 交互式计算机图形学总结:第一章 图形系统
- 下一篇: 交互式计算机图形学总结:第四章 观察