五月天青色头像情侣网名,国产亚洲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ó)家法律
陇西县| 靖安县| 德江县| 永春县| 梅州市| 甘肃省| 斗六市| 大宁县| 广元市| 万山特区| 高阳县| 赞皇县| 江西省| 枣庄市| 彭山县| 曲水县| 凤阳县| 益阳市| 井研县| 宁德市| 鹤岗市| 花莲县| 尉犁县| 福泉市| 石首市| 辉南县| 靖州| 隆子县| 宁乡县| 凤阳县| 浙江省| 阿克苏市| 石景山区| 镇宁| 新化县| 商都县| 新津县| 鄂伦春自治旗| 康平县| 绥江县| 临猗县|