考虑混合光线跟踪,因此出现以下问题:

假设我有两个实心球$ s_1 $和$ s_2 $。我们知道它们的中心和半径,并且我们知道它们在空间中有一些重叠的体积。在$ z = f $处观察某个正$ f $的平面。球体不在视平面内,并且不与之相交。连接它们重叠的体积。如果$ s_1 $或$ s_2 $完全挡住了,可能不是。

评论

如果c是投影像素的并集,则当s1或s2完全遮挡另一个球体时,并不表示c为空。请澄清。

#1 楼

鉴于我什么都没错过,您可以将其简化为2D空间中的问题。查看由球体的中心点和您的相机原点定义的平面,场景如下所示: $和$ C_2 $,并且交点圆现在只有2个点,只有较近的一个$ P $很有趣。相机/眼睛可任意设置为点$ E $。

计算球上的一个点是否可见很简单:只需检查点$ P $的角度是否介于$ E $和$ C_1 $分别$ E $和$ C_2 $都大于(或等于)90度1。

如果$ P $可见,则其中的一部分(例如至少该点)相交圆可见。否则,整个交集圆必须被一个球体遮挡,即产生小于90度角的那个球。 $:



您可以清楚地看到$ C_2 $周围的圆如何遮住该点以及$ P中$ E $和$ C_2 $之间的夹角$小于90度。


1恰好具有90度的角度意味着$ E $和$ P $之间的线仅触及点$ P中的相应圆/球体$作为切线。