二維圖形變換
通過學習【向量分析】和【圖形變換】,可以設計出一些方法來描述我們所遇見的各種幾何對象,並學會如何把這些幾何方法轉換成數字。
一、向量
從幾何角度看,向量是具有長度和方向的實體,但是沒有位置。而點是只有位置,沒有長度和方向。
在幾何中把向量看成從一個點到另一個點的位移。
1、向量的基本知識
(1)向量的表示
從P點到Q點的位移用向量v=(3,-2)表示。
v是從點P到點Q的向量,兩個點的差是一個向量:v=Q-P
換個角度,可以說點Q是由點P平移向量v得到的,或者說v偏移P得到Q:Q=P+v
(2)向量的基本運算
向量的加(減)法可以采用“平行四邊形法則”
(3)向量線性組合
m個向量v1,v2,...,vm的線性組合具有如下形式的向量:
w=a1v1+a2v2+...+anvn
1>仿射組合
線性組合的[系數的和等於1],那么它就是仿射組合
a1+a2+...+am=1
2>向量的凸組合
a1+a2+...+am=1,[ai>=0(i=1,2,...,m)]
2、向量的點積和叉積
【點積得到一個標量,叉積產生一個新的向量。】
(1)向量的點積
a=(a1,a2) b=(b1,b2)
點積最重要的應用就是計算兩個向量的夾角,或者兩條直線的夾角:
可知,兩個非零向量夾角與點積的關系:
(2)向量的叉積
兩個向量的叉積是另一個三維向量。【叉積只對三維向量有意義】
最常用的屬性是【它與原來的兩個向量都正交】
【利用叉積求平面的法向量】
垂直於平面的直線所表示的向量為該平面的法向量。
二、圖形坐標系
坐標系是建立圖形與數之間對應聯系的參考系
1、坐標系的分類
從維度上看,可分為一維、二維、三維坐標系。
從坐標軸之間的空間關系來看,可分為直角坐標系、極坐標系、圓柱坐標系、球坐標系等。
在計算機圖形學中, 從物體(場景)的建模,到在不同顯示設備上顯示、處理圖形時同樣使用一系列的坐標系
2、計算機圖形學中坐標系的分類
(1)世界坐標系
描述對象的空間被稱為世界坐標系,即場景中物體在實際世界中的坐標。
世界坐標系是一個【公共坐標系】,是現實中物體或場景的統一參照系。
計算機圖形系統中涉及的其他坐標系都是參照它進行定義的。
(2)建模坐標系(局部坐標系)
每個物體(對象)有他自己的局部中心和坐標系。
建模坐標系【獨立於】世界坐標系來定義物體的幾何特性。
一旦定義了“局部”物體,就可以很容易的將“局部”
物體放入世界坐標系內,使它由局部上升為全局
(3)觀察坐標系
觀察坐標系主要用於【從觀察者的角度】對整個世界坐標系內的對象進行重新定位和描述。
依據【觀察窗口的方向和形狀】在世界坐標系中定義的坐標系——>觀察坐標系
要建立觀察坐標系,需要已知三個要素:
觀察者的位置
觀察者的方向
世界坐標系的上向量
觀察坐標系通常以【視點的位置為原點】,由視點的位置和觀察的方向即可確定【z軸】。
確定於x軸垂直的平面,世界坐標系的上向量在該平面上的投影即【y軸】,由z軸和y軸,通過【左手定則】即可確定【x軸】。
(4)設備坐標系
在多數情況下,對於每一個具體的顯示設備,都有一個單獨的坐標系統。
【注意:設備坐標是整數】
(5)規范化坐標系
規范化坐標系【獨立】於設備,能容易的轉變為設備坐標系,是一個【中間坐標系】。
為使圖形軟件能在不同的設備之間移植,采用規范化坐標,【坐標軸取值范圍是0-1】
三、圖形變換
1、圖形變換的用途
(1)由一個基本的圖案,經過變換組合成另一個復雜圖形;
(2)用很少的物體組成一個場景;
(3)可以通過圖形變換組合得到動畫效果。
2、圖形變換的基本原理
(1)圖形變化了,但原圖形的連邊規則沒有變化;
(2)圖形的變化,是因為頂點位置的改變決定的。
變換圖形就是要變換圖形的【幾何關系】,即【改變頂點的坐標】;同時,保持圖形的【原拓撲關系不變】。
仿射變換是一種【二維】坐標到【二維】坐標之間的線性變換。
(1)“平直性”——>直線經過變換之后依然是直線
(2)“平行性”——>平行線依然是平行線,且直線上【點的位置順序不變】。
稱為二維仿射變換,其中坐標x',y'都是原始坐標x和y的線性函數,參數a,b,c,d,m和n是函數的關系。
四、齊次坐標
假如變換前的點坐標為(x,y),變換后的點坐標為(x*,y*),這個變換過程可以寫成如下矩陣形式:
其中1和2是等價的,對於向量(x,y,1),可以在幾何意義上理解為是在【第三維為常數的】平面上的一個二維向量。
【這種用【三】維向量表示【二】維向量,或者一般而言,用一個n+1維的向量表示一個n維向量的方法稱為齊次坐標表示法。】
n維向量的變換是在n+1維的空間進行的,變換后的n維結果是被反投回到感興趣的特定的維空間內而得到的。
【為什么要采用齊次坐標】
在笛卡爾坐標系內,向量(x,y)是位於z=0的平面上的點;而向量(x,y,1)是位於z=1的等高平面上的點。對於圖形來說,沒有實質性的差別,但是卻給后面的矩陣運算提供了可行性和方便性。
采用了齊次坐標表示法,就可以統一地把二維線性變換表示如下式所示的規格化形式:
對於一個圖形,可以用【頂點表】來描述圖形的【幾何關系】,用【連邊表】來描述圖形的【拓撲關系】。所以【對圖形的變換】,最后是【只要變換圖形的頂點表】。