math - 使用点积确定点是否位于平面上

标签 math 3d geometry vector-graphics

给定 A:一个点,B:已知存在于平面 P 上的一个点,C:平面 P 的法线。我可以通过 (A - B) 和 C 之间的点积的结果来确定 A 是否位于 P 上零? (或在一定精度范围内,我可能会使用 0.0001f)

我可能只是遗漏了一些明显的数学缺陷,但这似乎比将点转换为三角形的坐标空间更简单、更快捷,就像 Check if a point is inside a plane segment 的答案一样。

其次,我猜;如果这是一个有效的检查,如果我只想看看点是否在平面上,它的计算速度会比使用矩阵变换更快吗? (而不是它是否位于所述平面上的多边形内,我可能会继续使用矩阵变换)

最佳答案

您是正确的,当且仅当 dotProduct(A-B,P) = 0 时,B 位于通过 A 的平面上并且具有法线 P。

要估计此类事情的速度,您几乎可以计算乘法。这个公式只有三个乘法,所以它比任何与矩阵有关的都快。

关于math - 使用点积确定点是否位于平面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17227149/

相关文章:

C - 如何实现 Set 数据结构?

java - 如何在 Android 中进行大数数学运算?

c# - 64 位 Windows 上的 DirectX 应用程序

javascript - 3D 建筑物上的 Google 地球插件点击事件

Java 数字框架

math - 用 Python 数到一百万 - 理论

Flash 10 3D 使文本模糊

javascript - 我如何在 ThreeJS 中访问这些变量?

geometry - 根据任意数量的点识别形状

python - 在opencv2中使用3D感知