計算機圖形學(四)_幾何變換_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( );
}
相關文章
- opencv 圖片幾何變換-縮放OpenCV
- 計算機視覺—圖片幾何變換(2)計算機視覺
- OpenCV計算機視覺學習(11)——影像空間幾何變換(影像縮放,影像旋轉,影像翻轉,影像平移,仿射變換,映象變換)OpenCV計算機視覺
- 計算機圖形:三維觀察之投影變換計算機
- 計算機圖形學 第四章 圖形變換計算機
- 計算幾何 —— 二維幾何基礎 —— 距離度量方法
- 計算機圖形學之矩陣變換計算機矩陣
- Python 影像處理 OpenCV (5):影像的幾何變換PythonOpenCV
- 【IDL】幾何圖形數學運算函式函式
- HyperWorks基於幾何投影的網格變形
- 計算幾何
- POJ 1113 Wall(思維 計算幾何 數學)
- 計算幾何:模板
- 計算幾何模板
- 【學習筆記】計算幾何筆記
- [計算幾何]圓與三角形是否相交
- CGAffineTransform二維檢視旋轉、縮放、平移變換詳解ORM
- Something about 計算幾何
- [筆記] 計算幾何筆記
- 【線性代數】何時用初等行變換,何時用初等列變換?
- 圖形學學習筆記二:觀測變換筆記
- 關於計算機圖形學的一些介紹(一)基本要素與空間變換計算機
- 圖形學常⻅的變換推導
- Metal入門教程(二)三維變換
- 【第一道計算幾何題】 UVA11178 Morley‘s Theorem (二維幾何,旋轉直線求求交點)REM
- 不可不知的WPF幾何圖形(Geometry)
- CSS繪製各種幾何圖形形狀效果CSS
- SGU 124 Broken line(計算幾何)
- 計算幾何——平面最近點對
- POJ - 1556 【計算幾何 + 最短路】
- [幾何]計算不規則多邊形的面積、中心、重心
- OpenCV計算機視覺學習(3)——影像灰度線性變換與非線性變換(對數變換,伽馬變換)OpenCV計算機視覺
- 數學趣題:平面幾何(二)
- HNOI2016礦區(計算幾何+對偶圖)
- 幾何圖形在logo設計中的有哪些情感意義?Go
- 三維幾何生成:多段線、圓弧
- 【Notes_8】現代圖形學入門——幾何(基本表示方法、曲線與曲面)
- WPF繪圖(一):幾何(Geometry)與形狀(Shape)繪圖
- BNUOJ 12887 isumi(計算幾何+最大流)