仿射變換生成玫瑰花結

2021-06-26 08:24:02 字數 827 閱讀 4814

這幾天學了仿射變換, 我們之前的烏龜程式是共形變換, 就是有點相似三角形一樣。而仿射變換 是一種新的變換, 他有四種變換組成的 :

平移(translation), 旋轉(rotation), 伸縮(scale), 扭曲(skew)。 大家可以在這裡看一下:  .   當然我是參考《計算機圖形學和幾何造型導論》的 第四章 仿射變換 , 裡面有相應的數學,大家可以看看,有高中的數學基本上就可以看懂的。

然後我參考 建立了乙個工程。 然後在有關繪製圖形的函式裡面,實現了乙個玫瑰花結的繪製:

**如下:

d2d1_size_f size = m_prendertarget->getsize();

//中心點

d2d1_point_2f center = d2d1::point2f(size.width/2, size.height/2);

//以中心點為支點的一條邊的另一頭端點。

d2d1_point_2f peak = d2d1::point2f(size.width / 2 + 200, size.height / 2);

const int num = 20;

d2d1_point_2f peaks[num];

//生成乙個以中心點為圓心, 均勻分布在圓上的20個點。

for (int i = 0; i != num; ++i)

//把每乙個點和其他的點用直線連線。

仿射變換生成分形

在學習仿射變換的時候,我們對仿射變換對二維圖形的作用很滿意,它能滿足平移,旋轉,伸縮和錯切等特性。而且相對於之前的共形幾何,仿射幾何變換似乎更強大,那麼我們之前用logo語言繪製出來的那些分形圖形是否也可以利用仿射幾何搞定呢?那最簡單的三角形地墊來講 首先是乙個大的三角形 然後分別以三個頂點a,b,...

剛性仿射變換演算法 仿射變換

哎慢慢來吧,感覺一大堆東西看不懂.仿射變換就是affine transformation 這是乙個跟影象相關的變換,影象變換是通過矩陣變換來實現的。影象的幾個基本變換有平移 縮放 旋轉 仿射 透視。剛性變換 就像這個題目這樣顯示的,就是非常強硬的變換,在這個二維平面上開始是怎麼樣,後來就是怎麼樣 仿...

仿射變換transform

void viewdidload void clickmeaction 2 仿射變換比例 uiview animatewithduration 1animations 3 仿射變換旋轉 uiview animatewithduration 1animations 4 三種變換的結合 1 transl...