[線代] 將圖形原地旋轉
其實我是在練習用電腦處理 2D 圖像
但是碰到和線代有關的問題,想不到如何處理
我想要的效果是讓圖形原地旋轉
有點像地球自轉那樣
相關的操作的方式有:
Translate: 試起來是平移矩陣
Rotate: 試起來是旋轉矩陣,旋轉方式為
|cos -sin|
| |
|sin cos |
Rotate 內部使用 Concat
Add: 和另一個矩陣相加
Concat: 和另一個矩陣相乘
目前想到是先 Rotate 後再 Translate 回來
但試了半天,試不出想要的效果
上來問各位大大
有需要什麼可再補充
在這裡先感謝各位大大
[Update]
後來解決方式就是把圖拉回原點再旋轉,然後再把圖拉回來
步驟如下:
(x, y) = 圖形所在的座標
(w, h) = 圖形的寛度和高度
theta = 想旋轉的角度
1. Translate(-x - w/2, -y - h/2)
2. Rotate(theta)
3. Translate(x + w/2, y + h/2)
直接 Rotate 的話,圖會跑掉,很難算 Translate 的距離
雖然線代還是不會,至少解決了問題 (遮臉)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.1.85
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1476848594.A.4EF.html
推
10/19 12:12, , 1F
10/19 12:12, 1F
→
10/19 12:13, , 2F
10/19 12:13, 2F
感謝 j 大提供靈感
※ 編輯: Neisseria (125.227.36.84), 10/19/2016 14:37:50
→
10/20 01:37, , 3F
10/20 01:37, 3F
→
10/21 02:29, , 4F
10/21 02:29, 4F
→
10/21 02:31, , 5F
10/21 02:31, 5F
→
10/21 02:32, , 6F
10/21 02:32, 6F
→
10/21 02:33, , 7F
10/21 02:33, 7F