五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

法線變換的推算

2023-02-15 15:17 作者:海豹_Chili  | 我要投稿

之前一直不是很理解《unity shader入門精要》中的法線變化,網(wǎng)上查也不是很明白這里做一個(gè)所以自己就之前照著書中的公式做了一個(gè)推導(dǎo)過程。

Unity的空間轉(zhuǎn)換都是對(duì)坐標(biāo)/方向做3種和變換矩陣的矩陣乘法操作分別是位置偏移,旋轉(zhuǎn)和縮小 。法線是一個(gè)方向所以位置偏移對(duì)它沒有作用。

接下來我會(huì)二維坐標(biāo)系中演示一個(gè)坐標(biāo)為(0,0),(0,1),(1,0)的三角形并且在(0.5,0.5)上面畫法線來測(cè)試旋轉(zhuǎn)和縮小是否會(huì)對(duì)法線進(jìn)行影響

如圖所示在這個(gè)二維坐標(biāo)系當(dāng)中藍(lán)色代表圖形,紅色代表法線而綠色代表切線
(0,0)為圓心乘以了一個(gè)旋轉(zhuǎn)矩陣法線法線是不變的
當(dāng)放大一倍后法線的方向上還是正確的
而當(dāng)只有y軸放大(縮放)2倍時(shí)法線不再垂直平面,而切線由于是頂點(diǎn)之前差值計(jì)算得到所以可以直接依賴變換矩陣所以是正確的

參考《Unity Shader入門精要》的方法,先假設(shè)一個(gè)變換矩陣(G)來變化空間A的法線(NA)到b空間,而空間B的切線(TB)等于用于空間變換的矩陣(MA->B)乘以TA(空間A的切線),由于法線和切線不同空間下都垂直得出公式可得:

進(jìn)一步推導(dǎo)后可得

接下來我們來逐步分析這些公式:

第一步:

點(diǎn)積操作能變成轉(zhuǎn)置矩陣相乘是因?yàn)橐粋€(gè)1*n的矩陣乘以n*1的矩陣的矩陣和點(diǎn)積的計(jì)算方法都是相同的

第二步

這里依賴轉(zhuǎn)置矩陣的性質(zhì)

書中轉(zhuǎn)置矩陣篇章截圖

第三步

依賴矩陣的性質(zhì)滿足結(jié)合律不滿足交換律

書中矩陣相乘篇章

最后

TA的倒置矩陣乘以NA等于TA和NA的點(diǎn)積(和第一步性質(zhì)相同)等于0.

而只有單位矩陣不影響這個(gè)公式

MTA->BG=I(單位矩陣)

因此

G等于M的逆轉(zhuǎn)置矩陣


法線變換的推算的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
清远市| 二连浩特市| 斗六市| 德清县| 卓资县| 仲巴县| 陆丰市| 长沙县| 公安县| 平定县| 秦安县| 丰原市| 桦川县| 武义县| 恩施市| 内丘县| 从化市| 潜山县| 全州县| 灌南县| 开化县| 上饶市| 克什克腾旗| 咸阳市| 鹤山市| 永济市| 孟村| 浏阳市| 泰来县| 呼伦贝尔市| 黔西县| 清流县| 隆安县| 崇礼县| 延川县| 正宁县| 若尔盖县| 大竹县| 许昌县| 太湖县| 错那县|