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