3

我想显示一个透视立方体,所以我应该计算立方体中的点是否是可见性。

像图片一样,红色顶点应该是不可见的,而其他顶点应该是可见的。

谁能给我一个计算公式?

立方体可能会旋转,我无法做到。

我尝试使用 HitTest 来做到这一点,但它的性能很差。

我想知道一个公式来计算点和面和线是否可见。

编辑:

点是线上的任意一点。

我用 Media3D 构建它。

4

2 回答 2

1

如果连接到顶点的任何面的法线朝向相机(请参见背面剔除),则顶点是可见的。这应该很快就能计算出来。

于 2017-04-18T13:39:46.647 回答
1

尝试取“相机矢量”(通常为 (0,0,1))和相关顶点接触的立方体面的所有法线矢量的点积。
如果任何点积返回负值,则相机矢量与相应立方体面的法线矢量之间的角度大于 90 度,因此“面向”相机。
如果兴趣点是一个顶点,您将运行三个点积。如果兴趣点位于顶点之间的一条线上,您将只计算两个。

于 2017-04-18T21:55:36.777 回答