首页 > 编程知识 正文

空间法线方程公式是什么,空间曲线的主法线副法线

时间:2023-05-04 11:21:00 阅读:201239 作者:1148

一、法线的空间变换原理(源于Shader入门精要中介绍:)

由此得到三个重要公式:

1、如果要对法线做空间转换,需要法线向量右乘矩阵的逆转置矩阵。

2、如果是正交矩阵,则直接右乘转换矩阵:NB=MA->BNA
(注:正交矩阵M定义是MTM=I,即M的各行向量为相互垂直的单位向量,各列向量也是互相垂直的单位向量)
3、如果不是正交矩阵,但是统一缩放矩阵,则可以直接右乘转换矩阵和缩放系数的倒数:NB=(MA->BNA)/k

二、关于利用切线空间TBN进行法线转换:

假设已知切线空间TBN,切线空间的法线Nt,计算世界空间下的法线Nw?
Nw = TBN * Nt = Nt * TBNt;

Ps1:Unity/Unreal用的是列矩阵,所以float3x3(T,B,N)所构造的是其实是TBNt,所以要用右乘。
Ps2:不清楚是行主还是列主矩阵的引擎,Nw = float3(T * Nt.x, B * Nt.y, N * Nt.z)总是没错的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。