有效地计算两个向量之间的差异
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有效地计算两个向量之间的差异相关的知识,希望对你有一定的参考价值。
我正在编写一个三维框架,它由以不同角度排列的多边形表面组成。在我的代码的某一部分,我想基于光源计算表面的亮度,光源的角度由矢量给出。
更具体地,表面的取向由矢量表示,并且光源也由矢量表示。根据常识,当光直接照射在其上时,或者当矢量的角度差为0时,表面最亮。
然而,在我目前的解决方案中,我需要为每个光计算atan()六次以获得差异,这在计算上是低效的。
有没有更好的办法?
答案
我觉得有。查找Lambert's cosine law。它表示来自漫反射表面的光强度只是光矢量(指向光源)与平面法向矢量之间角度的余弦。因此,您需要做的就是将矢量标准化并采用点积。
以上是关于有效地计算两个向量之间的差异的主要内容,如果未能解决你的问题,请参考以下文章