空間直角坐標轉(zhuǎn)換之仿射變換.doc

空間直角坐標轉(zhuǎn)換之仿射變換.doc

ID:26843977

大?。?50.00 KB

頁數(shù):9頁

時間:2018-11-29

空間直角坐標轉(zhuǎn)換之仿射變換.doc_第1頁
空間直角坐標轉(zhuǎn)換之仿射變換.doc_第2頁
空間直角坐標轉(zhuǎn)換之仿射變換.doc_第3頁
空間直角坐標轉(zhuǎn)換之仿射變換.doc_第4頁
空間直角坐標轉(zhuǎn)換之仿射變換.doc_第5頁
資源描述:

《空間直角坐標轉(zhuǎn)換之仿射變換.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫

1、空間直角坐標轉(zhuǎn)換之仿射變換一、仿射變換仿射變換是空間直角坐標變換的一種,它是一種二維坐標到二維坐標之間的線性變換,保持二維圖形的“平直線”和“平行性”,其可以通過一系列的原子變換的復(fù)合來實現(xiàn),包括平移(Translation)、縮放(Scale)、翻轉(zhuǎn)(Flip)、旋轉(zhuǎn)(Rotation)和剪切(Shear)。此類變換可以用一個3×3的矩陣來表示,其最后一行為(0,0,1)。該變換矩陣將原坐標(x,y)變換為新坐標(x',y'),這里原坐標和新坐標皆視為最末一行為(1)的三維列向量,原列向量左乘變換矩陣得到新的列向量:[x'][m00m01m02][x][m

2、00*x+m01*y+m02][y']=[m10m11m12][y]=[m10*x+m11*y+m12][1][001][1][1]如果將它寫成按旋轉(zhuǎn)、縮放、平移三個分量的復(fù)合形式,則其代數(shù)式如下:x’=m00*x+m01*y+m02;y’=m10*x+m11*y+m12;其示意圖如下:幾種典型的仿射變換:1.publicstaticAffineTransformgetTranslateInstance(doubletx,doublety)平移變換,將每一點移動到(x+tx,y+ty),變換矩陣為:[10tx][01ty][001](譯注:平移變換是一種“剛

3、體變換”,rigid-bodytransformation,中學(xué)學(xué)過的物理,都知道啥叫“剛體”吧,就是不會產(chǎn)生形變的理想物體,平移當(dāng)然不會改變二維圖形的形狀。同理,下面的“旋轉(zhuǎn)變換”也是剛體變換,而“縮放”、“錯切”都是會改變圖形形狀的。)2.publicstaticAffineTransformgetScaleInstance(doublesx,doublesy)縮放變換,將每一點的橫坐標放大(縮?。┲羢x倍,縱坐標放大(縮?。┲羢y倍,變換矩陣為:[sx00][0sy0][001]3.publicstaticAffineTransformgetShear

4、Instance(doubleshx,doubleshy)剪切變換,變換矩陣為:[1shx0][shy10][001]相當(dāng)于一個橫向剪切與一個縱向剪切的復(fù)合[100][1shx0][shy10][010][001][001](譯注:“剪切變換”又稱“錯切變換”,指的是類似于四邊形不穩(wěn)定性那種性質(zhì),街邊小商店那種鐵拉門都見過吧?想象一下上面鐵條構(gòu)成的菱形拉動的過程,那就是“錯切”的過程。)4.publicstaticAffineTransformgetRotateInstance(doubletheta)旋轉(zhuǎn)變換,目標圖形圍繞原點順時針旋轉(zhuǎn)theta弧度,變換

5、矩陣為:[cos(theta)-sin(theta)0][sin(theta)cos(theta)0][001]5.publicstaticAffineTransformgetRotateInstance(doubletheta,doublex,doubley)旋轉(zhuǎn)變換,目標圖形以(x,y)為軸心順時針旋轉(zhuǎn)theta弧度,變換矩陣為:[cos(theta)-sin(theta)x-x*cos+y*sin][sin(theta)cos(theta)y-x*sin-y*cos][001]相當(dāng)于兩次平移變換與一次原點旋轉(zhuǎn)變換的復(fù)合:[10-x][cos(theta

6、)-sin(theta)0][10x][01-y][sin(theta)cos(theta)0][01y][001][001][001]二、仿射變換四參數(shù)求解A、C#自定義函數(shù)實現(xiàn)求解:1、求解旋轉(zhuǎn)參數(shù)Rotaion:?1/**////

?2?3????????///獲取旋轉(zhuǎn)角度?4?5????????///?6?7????????///源點1?8?9????????///目標點1

7、m>1011????????///源點21213????????///目標點21415????????///返回旋轉(zhuǎn)角度1617????????private?double?GetRotation(CoordPoint?fromPoint1,?CoordPoint?toPoint1,CoordPoint?fromPoint2,CoordPoint?toPoint2)1819?

8、???????{2021????????????do

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。