作者littleshan (我要加入劍道社!)
看板GameDesign
標題Re: [程式] 以某點為中心縮放
時間Fri Apr 13 20:41:41 2007
※ 引述《eliang ()》之銘言:
: 那請問什麼樣的變換矩陣才能讓形狀以某個點為中心做縮放?
: 謝謝!
設縮放中心點為 (s, t)
那麼整個過程相當於把原點移動到 (s, t)、對原點縮放、再把原點移回原位
第一個矩陣為
[ 1 0 -s ]
M1 = [ 0 1 -t ]
[ 0 0 1 ]
第二個矩陣為
[ Sx 0 0 ]
M2 = [ 0 Sy 0 ]
[ 0 0 1 ]
第三個矩陣為第一個矩陣的 inverse
[ 1 0 s ]
M3 = [ 0 1 t ]
[ 0 0 1 ]
三個矩陣乘起來 (M3 * M2 * M1) 即為對 (s, t) 進行 (Sx, Sy) 縮放的矩陣
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.3.35
推 kaiwae:應該說 把物體移到原點 縮放後 在移到 s,t 這樣比較妥當 04/14 09:27
推 eliang:3Q 04/14 12:10