計算機圖形學(四)_幾何變換_1_基本的二維幾何變換(三)_縮放
基本的二維幾何變換(三)_縮放
縮放係數Sx 在x方向縮放物件,而Sy在y方向進行縮放。基本的二維縮放方程(5.10)也可以寫成矩陣形式:
或:
其中,S是等式(5.11)中的2x2縮放矩陣。
可以賦給縮放係數Sx和Sy任何正數值。值小於1將縮小物件的尺寸,值大於1則放大物件。如果將Sx和Sy都指定為1,那麼物件尺寸就不會改變。當賦給Sx和Sy相同的值時,就會產生保持物件相對比例的一致縮放(uniform scaling)。 Sx和Sy值不等時將產生設計應用中常見的差值縮放(differential scaling),其中的圖形由少數形狀經縮放和定位變換來構造。在有些系統中,也可為縮放引數指定負值。這不僅改變物件的尺寸,還相對於一個或多個座標軸反射。
利用方程(5.11)變換的物件既被縮放,又被重定位。當縮放係數的絕對值小於1時,縮放後的物件向原點靠近;而縮放係數絕對值大於1時,縮放後的座標位置遠離原點。如圖5.7給出了將值0.5賦給方程(5.11)中的Sx和Sy、時對線段的縮放。線段的長度和到原點的距離都減少到1/2。
我們可以選擇一個在縮放變換後不改變位置的點,稱為固定點(fixed point),以控制縮放後物件的位置。固定點的座標(xf, yf)可以選擇物件的中點等位置或任何其他空間位置。這樣,多邊形通過縮放每個頂點到固定點的距離而相對於固定點進行縮放(參見圖5.8 )。對於座標為(x, y)的頂點,縮放後的座標(x', y')可計算為:
我們可以將乘積項和加法項分開而重寫上述縮放變換公式:
其中,加法項xf(1-sx)和yf(1 - sy)對於物件中的任何點都是常數。
在縮放公式中包含固定點的座標,類似於在旋轉公式中包含基準點的座標。我們可以建立一個其元素為方程(5.14)中常數項的列向量,然後將這個列向量加到等式(5.12)中的乘積S*P上。下一節將討論僅包含矩陣乘法的變換方程的矩陣形式。
多邊形的縮放可以通過將變換方程(5.14)應用於每個頂點,然後利用變換後的頂點重新生成多邊形而實現。其他物件的變換則將縮放變換公式應用到定義物件的引數上。要改變圓的大小,可通過縮放其半徑並計算圓上座標點的新座標位置來實現。標準位置中的橢圓通過縮放兩個軸並且按其中心座標重新繪製橢圓而實現縮放橢圓尺寸。
下列程式給出了對一個多邊形縮放進行計算的例子。多邊形頂點和固定點的座標以及縮放係數是輸入引數。座標變換後,使用OpenGL子程式重新生成縮放後的多邊形。
void scalePolygon (wcPt2D *verts, GLint nVerts, wcPt2D fixedPt, GLfloat sx, GLfloat sy)
{
wcPt2D vertsNew;
GLint k;
for(k = 0; k < nVerts; k++){
vertsNew[k].x = verts[k].x * sx + fixedPt.x * (1 - sx);
vertsNew[k].y = verts[k].y * sy + fixedPt.y * (1 - sy);
}
glBegin {GL_POLYGON};
for (k = 0; k < nVerts; k++)
glVertex2f (vertsNew[k].x, vertsNew[k].y);
glEnd( );
}
相關文章
- 計算機圖形學(四)_幾何變換_1_基本的二維幾何變換(一)計算機
- 計算機圖形學(四)_幾何變換_1_基本的二維幾何變換(二)_旋轉計算機
- opencv 圖片幾何變換-縮放OpenCV
- 計算機視覺—圖片幾何變換(2)計算機視覺
- OpenCV計算機視覺學習(11)——影像空間幾何變換(影像縮放,影像旋轉,影像翻轉,影像平移,仿射變換,映象變換)OpenCV計算機視覺
- Cg入門11:Vertex Shader - 幾何變換 —MVP矩陣變換(旋轉、縮放)MVP矩陣
- 計算機圖形:三維觀察之投影變換計算機
- 二維計算幾何模板
- 三維計算幾何模板
- 計算機圖形學 第四章 圖形變換計算機
- OpenGL座標系與幾何變換
- 計算幾何 —— 二維幾何基礎 —— 距離度量方法
- 計算機圖形學之矩陣變換計算機矩陣
- 二維幾何常用運算
- 【計算幾何】多邊形交集
- Python 影像處理 OpenCV (5):影像的幾何變換PythonOpenCV
- 計算幾何
- 二維幾何基礎
- 【數字影象處理】六.MFC空間幾何變換之影象平移、映象、旋轉、縮放詳解
- 計算幾何:模板
- 【計算幾何】多邊形點集排序排序
- 【學習筆記】計算幾何筆記
- [計算幾何]圓與三角形是否相交
- 【計算幾何】點在多邊形內部
- [筆記] 計算幾何筆記
- WebGL不同幾何圖形的渲染方式Web
- POJ 1113 Wall(思維 計算幾何 數學)
- 【計算幾何】點定位(線段,三角形,多邊形)
- 圖形學學習筆記二:觀測變換筆記
- CGAffineTransform二維檢視旋轉、縮放、平移變換詳解ORM
- 計算幾何_向量的實現
- Core Animation實戰三(圖層幾何學)
- 【計算幾何】向量表示
- 【總結】計算幾何模板
- 【計算幾何】線段相交
- 分形——自然界的幾何學 (轉)
- Metal入門教程(二)三維變換
- 計算幾何常用的函式/方法函式