我在笛卡尔坐标系中有两个酉向量P
和Q
。我需要一种非常快速的方法来确定当时之间的角度是否小于某个量A
。我能想到的最好方法是:
if(acos(dot(P, Q)) < A)
cull();
else
draw();
或者反过来说:
if(dot(P, Q) > cos(A))
cull();
else
draw();
角度越大,余弦越小。这是一个剔除算法。如果角度小于A(在视野范围之外),则不会绘制对象,因此,可以接受少量的假阴性(我偶尔可以向视野中发送一些东西) ,但误报不是(我不能在视野内渲染某些东西)。
最快的方法是什么?我可以比我现在做得更好吗?