2009年10月16日 星期五

HW2

在這次的作業方面
因為先前接觸BCB的次數並不多
且並未嘗試過選轉圖片的功能
所以這次除了自己去搜尋資料外
也必須請教同學有關於旋轉公式的部分
所以也是得知了sin以及cos的應用後才知道如何旋轉
因為也是第一次使用圖片的互相讀取部分
所以也花了一些時間去理解除了開圖檔外的互相圖檔讀取的code
這次利用的角度公式除了課本上的提供外
另外查詢了網路上資訊網站的用法

x = (int)( ( i - xcenter )*cos - ( j - ycenter )*sin + xcenter )
y = (int)( ( i - xcenter )*sin+ ( j - ycenter )*cos + ycenter )

於公式中的X以及Y中心點
因為旋轉的關係所以如果直接抓取圖片的中心點的話
會產生圖片顯示不完整以及顯示的陣列存取點顯示在不是我們想要的位置
所以在 i 以及 j 的存取點扣除顯示的部份要另外算
而且在最後加上圖片的中心點也要依照自己設定的Image2做更改動作

旋轉-45度角的結果:





因為經過換算的存取點有點計算錯誤,所以導致圖片有點被壓縮成正方形了


旋轉角度45度:




同樣是以45度去作旋轉
但是每個參考的存取點都不相同
所以即使旋轉的角度相同
但是旋轉的方向不同
就要另外去計算中心點的狀況
這算是這個公式的缺點之一
所以就初步的旋轉動作是成功了
但是要正確的將圖片顯示出來就必須另行運算多次才能成功
算是還需加強的部分

沒有留言:

張貼留言