Home › Forums › GAMES在线课程(现代计算机图形学入门)讨论区 › 关于作业三diplacement结果的一点疑问(b是否需要归一化 This topic has 4 replies, 2 voices, and was last updated 4 years, 8 months ago by 遆沐一. Viewing 1 reply thread Author Posts 2020年3月16日 at 下午4:38 #4295 Score: 0 遆沐一Participant 兄弟萌我有一个小小的问题想求助一下:请问diplacement(/bump)中不是[t,b,n]是局部坐标系么,而且 t 是切线 n 是法线 可是我按照框架里的方法写出之后法线 t,n的夹脚略大于90度虽然可能是误差引起的,但是这样的话叉乘得出来的b就不是单位向量(长度略小于1),那么这个b之后还需不需要归一化(归一化和不归一化 的高光不同),还有一个问题就是 t b n不正交应该会导致结果有问题吧(附图 左边是b没有归一化(这个跟样例一样) 右边是b归一化, (或者是我理解有误 Attachments:You must be logged in to view attached files. 2020年3月16日 at 下午5:08 #4308 Score: 0 sublimationParticipant Karma: 3 pts [t,b,n]是局部坐标系的坐标轴的坐标,这个是求了将全局坐标到局部坐标的逆矩阵。 如果非单位/不正交应该是浮点数的计算造成的精度误差。 2020年3月16日 at 下午10:48 #4335 Score: 0 遆沐一Participant 首先谢谢你解答了我的第一个疑惑,可是还有一个问题就是这个方法比较神奇的就是因为他是正交矩阵所以它的逆矩阵是它的转置,可如果不正交这样用逆矩阵会不会有些许问题(而且b是否归一化 我也有点懵(我感觉是要的 可本来b就应该是单位向量,而且按照样例确实没有归一化)) 2020年3月16日 at 下午11:21 #4344 Score: 0 sublimationParticipant Karma: 3 pts 确实是理应归一化的,而且算出来应该是模为1的。没有归一化应该是因为计算机的浮点数精度误差。(举个例子:flaot f=1,这样的一个简单赋值语句运行之后,f可能存的就是0.99999999999999或者是1.000000000000001 2020年3月17日 at 上午8:55 #4364 Score: 0 遆沐一Participant 了解 谢谢啦 Author Posts Viewing 1 reply thread You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In