2

我正在学习计算机图形学课程。在 3D 中,我有一个点和一个多边形,我想确定这个点位于我的多边形上方或下方。提前感谢您的回复。

4

2 回答 2

1

如果高于或低于多边形所在的平面,您可以比较该点与平面法线的点积和平面上任何点的点积。或者,如果您愿意,可以查看法线和从平面上的点到该点的向量之间的点积符号。

要检查它实际上是“上方”还是“下方”,即直接位于上方或下方(即,不偏向某处),然后通过将整个事物沿法线投影到 2d 中,然后在多边形中做一个点沿正常测试的距离。

于 2011-03-05T13:50:59.300 回答
0

这取决于你对上面和下面的定义,我先说一下简单的情况:

  • 如果您从全局方向(通常是 y 轴或 z 轴)考虑上/下,只需比较该轴上的值。

好的,现在更难解释:多边形的哪一侧是点。

  • 除非它是平面的,否则您不能立即为多边形确定它。因此,如果它是非平面的,则必须将其镶嵌成三角形并为每个三角形做出决定。

  • 对于三角形,您可以决定一个点是在它上面还是下面(在 3D 中),首先计算构成三角形边的 2 个向量的叉积;这将定义一个方向(=“上方”和“下方”的定义),这取决于您使用这两个向量的顺序,所以要小心。然后计算新向量(称为该三角形的垂线)的点积以及待测点和三角形底的差向量。

于 2011-03-05T14:01:32.653 回答