矩陣與空間變換

2023-10-12 01:08
文章标签 變換 空間 矩陣

本文主要是介绍矩陣與空間變換,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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的值,實現對任意點垂直放縮也不困難。這就體現了矩陣變形操作靈活直觀的優勢。

这篇关于矩陣與空間變換的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/192138

相关文章

矩陣分析-基礎-常見矩陣

http://www.cnblogs.com/pegasus/archive/2011/10/18/2121170.html   單位陣(Identity Matrix) 定義:單位陣是對角元素為1,其它元素為0的方陣。 ,也可表示為In = diag(1,1,...,1)   性質: AIn = A 且 InB = B 對稱陣(symmetric matrix) 定義:

矩陣分析-線性系統-5 最小二乘問題(The Least Squares Problem)

http://www.cnblogs.com/pegasus/archive/2011/11/10/2244472.html   1. 引文 假設我們要確定一根繩子的彈性,而它的長度與拉力間服從公式,F為拉力,l為繩子在拉力F作用下的長度,e和k為待確定的常數。為此,我們進行一批實驗采集如下數據,並繪制其散點圖

矩陣分析-線性系統-4 病態系統(ill-conditioned Systems)與條件數(condtion number)

http://www.cnblogs.com/pegasus/archive/2011/11/21/2257262.html   1. 病態系統 系統的精確解為x=1,y=-1。若對b2=0.067進行輕微的擾動變為0.066,那麼精確解變為x=-666,y=834。這個例子深刻說明了病態系統(ill-conditioned systems)的解對於小擾動非常敏感。而這種敏感是由於系

矩陣分析-線性系統-3 LU分解

http://www.cnblogs.com/pegasus/archive/2011/11/21/2257258.html  1. LU分解 LU分解在本質上是高斯消元法的一種表達形式。實質上是將A通過初等行變換變成一個上三角矩陣,其變換矩陣就是一個單位下三角矩陣。這正是所謂的杜爾裡特算法(Doolittle algorithm):從下至上地對矩陣A做初等行變換,將對角線左下方的元素

矩陣分析-線性系統-2 高斯消元法、高斯-若爾當消元法

http://www.cnblogs.com/pegasus/archive/2011/07/31/2123195.html   1. 高斯消元法 高斯消元法(Gaussian elimination)是求解線性方陣組的一種算法,它也可用來求矩陣的秩,以及求可逆方陣的逆矩陣。它通過逐步消除未知數來將原始線性系統轉化為另一個更簡單的等價的系統。它的實質是通過初等行變化(Elementa

矩陣分析-線性系統-1 定義、方程組解的表現形式和性質

http://www.cnblogs.com/pegasus/archive/2011/07/31/2121792.html   1. 定義 線性系統(線性方程組)的一般形式如下,其中 是未知數,  是系數,   是常量。   線性方程組的列向量形式如下。從這個角落來看,常量b是系數列向量{a1,a2…,an}基於未知數的加權線性組合(linear combination)。

矩陣算法原理

http://blog.csdn.net/as3_flash/article/details/2378598 Matrix類的變形方法,最終都是根據用戶給出的參數修改內部矩陣。這些方法的不同之處,在於修改值的算法,以及修改結果在矩陣中的位置。 當用戶在代碼中調用translate(5,13)時,AS3修改矩陣類的內建矩陣,將其中的(tx,ty)T與(5,13)T相加,由於在矩陣創建時(tx,

矩陣變形方法

http://blog.csdn.net/as3_flash/article/details/2378571 用戶在代碼中可以創建矩陣類的實例,並通過手動設置矩陣的內部屬性a、b、c、d、tx和ty,純手工的創造或改變一個變換矩陣。如果用戶具備豐富的圖形學知識,可以自己算出位移,縮放,旋轉,斜切等變形所需要的二次變換矩陣值,那麼使用這種方法就足夠了。高級用戶使用這種方式將會相當的高效。 但是

旋轉變換矩陣

http://blog.csdn.net/as3_flash/article/details/2378483  利用矩陣能完成旋轉。對於圖中的點S(j,0),可以看作矩陣A[j,0],令點S旋轉a度得到點T(m,n),可以看作矩陣C[m,n],顯然可以存在變換矩陣B,令A×B=C成立。由簡單的幾何知識就能得出變換矩陣B的構造。 因為點S位於坐標軸上,使得計算矩陣B的過程極大的簡化了。如果

矩陣的運算

http://blog.csdn.net/as3_flash/article/details/2378453 把一組數字記錄成矩陣形式是沒有意義的,學習矩陣的關鍵在於掌握矩陣之間的運算。 1.矩陣加法運算 矩陣之間也可以相加。把兩個矩陣對應位置的單個元素相加,得到的新矩陣就是矩陣加法的結果。由其運算法則可知,只有行數和列數完全相同的矩陣才能進行加法運算。 矩陣之間相加沒有順序,假設A、B