矩陣是如何變換向量的?
原創作者:金庭波
通俗的理解,想把一個物體變大變小,將此物體乘一個系數就行了;這個物體在數學中是用向量表示的;那就變成了向量乘以一個系數就行了, 但這個物體它是有維度的,所以它的各個維度的系數都不一樣,所以最好的辦法是用一個矩陣來表示它各個方面的系數,這樣,物體的變化就變成了向量與矩陣乘的結果了,
一個向量v=[x y z],它可以寫成它的基向量的線性組和形式:v=xp+yq+zr;
這樣,v的線性變換就成了基向量p、q、r的線性變換了,
基向量是與坐標系聯系在一起的,比如:
p=[1 0],就表示2D坐標系,在x軸上為1,在y軸上為0;
p=[1 0 0],就表示3D坐標系,在x軸上為1,y軸上為0,z軸上為0;
q、r基向量與坐標系的聯系同理,
基向量又是如何與矩陣聯系起來的呢?
矩陣其實是一個陣列容器,一個3D空間的基向量p,q,r當然可以放在矩陣中:
| p | | px py pz |
M=| q | = | qx qy qz |
| r | | rx ry rz |
重點來了:矩陣又是如何把向量變換的呢?
只需要向量乘該矩陣就可以了,注意不能矩陣乘向量哦!因為它不支持交換律,
比如要把一個向量v=[x y z] 用M進行變換,就用v.M就可以了,
向量,你可以理解為一個物體的一個邊或一個頂點之類的,這樣向量就與物體聯系起來了,向量的變換,其實就是物體變換了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/241938.html
標籤:其他
上一篇:C語言求組合數
