最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
仙居县| 广南县| 环江| 阳朔县| 广水市| 广东省| 高要市| 龙山县| 中牟县| 方正县| 阿拉善右旗| 怀集县| 涞源县| 龙里县| 宜都市| 含山县| 红桥区| 雷波县| 平阴县| 托克托县| 莎车县| 沐川县| 张家港市| 吐鲁番市| 大邑县| 辉南县| 高陵县| 通许县| 乐都县| 周口市| 阜平县| 宜章县| 佛教| 舞钢市| 基隆市| 义乌市| 安岳县| 曲周县| 石狮市| 梁平县| 霍城县|