IOS中二維座標變換

2021-06-04 02:34:17 字數 1361 閱讀 8714

1.1 座標系

數學中我們使用的是笛卡兒座標系,如下圖所示:                    

x軸正方向向右,y軸正方向向上,原點o,座標點a(x,y)。

1.2 仿射變換

已知座標點a,變換後新座標系中座標為b ,則有:

b = am

a為1*3的矩陣[x,y,1]

b為 1* 3的矩陣[x』,y』,1]

m為3*3仿射矩陣

所以am=b可以寫成:

展開後得到:   

以下是常用的變換矩陣:

單位矩陣:

展開後得:

平移矩陣:          

展開後得: 

縮放矩陣:

展開後得:

旋轉矩陣:

展開後得:       

1.3 座標變換型別

模型變換: 座標系固定不動,變換座標系中的模型

座標軸變換:座標系中模型固定不動, 變換座標系,相對於新座標系構造的變換矩陣和模型變換矩陣是一樣的          

如上圖所示,a為原座標系c中座標,a'為新座標系中c'座標,在模型變換中新座標系和原座標系重疊在一起    

二種變換方式a->a'變換矩陣都是相同的.     

2. ios中座標系

2.1 ios中包含uikit座標系(x軸正方向向右,y軸正方向向下)和標準的quartz 2d繪圖座標系(x軸正方向向右,y軸正方向向上)

2.2 例子分析

2.2.1把中心點為a(50,50)長為20,寬為10的矩形以x軸逆時針旋轉45度

- (void)drawrect:(cgrect)rect
2.2.2 繪製,下面函式在工作執行緒裡面很有用

void drawimage(cgcontextref context, cgimageref image , cgrect rect)
2.2.3 座標軸變換

/** * 原座標係為quartz 2d,目標座標係為ukit,用原座標系中座標繪圖 */- (void)drawrect:(cgrect)rect

OpenCV中二維座標順序

opencv的二維影象中,通過rows cols x y四個屬性來表示大小或位置,容易混淆。rows代表的是行,cols代表的是列。x在cols上,y在rows上。容易混淆 矩陣mat img int rows,int cols,int type 先行 寬 後列 高 矩形 rect rect int...

Matlab中二維離散傅利葉變換

fft是快速傅利葉變換 中值濾波的理解 還有一種非線性濾波 中值濾波器。中值濾波器對脈衝型雜訊有很好的去掉。因為脈衝點都是突變的點,排序以後輸出中值,那麼那些最大點和最小點就可以去掉了。中值濾波對高斯噪音效果較差。常見的影象增強方法有對比度拉伸,直方圖均衡化,影象銳化等。前面兩個是在空域進行基於畫素...

二維與三維座標變換

left begin x y 1 end right left begin x t x y t y 1 end right left begin 1 0 t x 0 1 t y 0 0 1 end right left begin x y 1 end right left begin x y 1 e...