矩陣與空間變換

http://blog.csdn.net/as3_flash/article/details/2378462

依據能否便捷的被數學函數公式精確描述,空間變換可以分為兩大類:簡單變換和複雜變換。位移,反射,旋轉,斜切等變換都可以通過簡單的函數來描述屬於簡單變換;在 Photoshop中對一幅圖像應用塗抹工具,是複雜的變換,需要根據具體情況具體處理。

簡單空間變換是計算機圖形學的重要研究內容,其運算是依靠矩陣來描述的。使用腳本控制動畫形變,主要是進行簡單空間變換。AS3中的Matrix類提供了處理簡單空間變換的能力,其本質就是矩陣操作。

假設舞台平面內存在一個點S(xy),可以將其看成一個一行兩列的矩陣A[xy],如果企圖使之水平方向放大兩倍,則目標點T的坐標為(2xy),依然可以看成一個矩陣C[2xy]。假設有一個矩陣B,滿足A×B=C,那麼矩陣B就是一個變換矩陣,其功能為令對像水平拉伸2倍。數學已經證明B是存在的,而且可以斷言,矩陣B是一個2×2的矩陣。假設矩陣B內的元素為[(ab)(cd)],如圖所示:

根據矩陣乘法,可以寫出以下方程組:

x×a+y×c=2x

x×b+y×d=y

為使這個方程組成立,只需要令a=2b=0c=0d=1即可。於是得到了矩陣B中元素的具體數值,可以明確寫出矩陣B(如圖所示)

顯然,對於任意點進行水平放大兩倍的變形,都可以應用矩陣B實現。而通過修改矩陣B的值,實現對任意點垂直放縮也不困難。這就體現了矩陣變形操作靈活直觀的優勢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值