用矩阵来运算向量与点的平移
用4*4的矩陣來描述向量與點:
1.為什么要用4*4的矩陣,而不是3*3的矩陣呢?
因為在3D世界中,描述一個點至少需要3個維度,如果使用3個維度來描述向量或者點,
那么點與向量就沒法區別對待,但是點平移與向量平移是不同的,點平移要改變,向量
平移不變,所以,需要擴展為4*4的。
2.如果使用4*4的矩陣來描述一個點 or向量:
點A = [x,y,z,w],向量B = [a,b,c,w]
由以前的篇幅可知,一個矩陣乘以單位矩陣結果不變,那么我們用單位矩陣C來乘以 A /B.
[x,y,z,w] *[1,0,0,0 ] ? x*1+y*0+z*0+w*0 =x
?0,1,0,0 ? ?x*0+y*1+z*0+w*0 =y
?0,0,1,0 ? ?x*0+y*0+z*1+w*0 =z
?0,0,0,1 ? ?x*0+y*0+z*0+w*1 =w
同時,將點A移動一段距離,假設移動向量N = [α,β,γ,δ],根據以前知識可知,結果為兩個向量
相加,A+N =[x+α,y+β,z+γ,w+1]
那么乘以這樣的向量N'
?[x,y,z,w] *[1,0,0,0 ] ? x*1+y*0+z*0+w*α =x+w*α
?0,1,0,0 ? ?x*0+y*1+z*0+w*β =y+w*β
?0,0,1,0 ? ?x*0+y*0+z*1+w*γ =z+w*γ
?α,β,γ,1 ? ?x*0+y*0+z*0+w*1?=w
從此次可知,只要w =0,那么位移一段距離也不會改變A,如果w =1,那么就會改變位置,所以可以描述
向量。
轉載于:https://www.cnblogs.com/leiGameDesigner/p/8371642.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的用矩阵来运算向量与点的平移的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue-router VUE路由系统
- 下一篇: log4j日志的基本使用方法(1)——概