我正在寻找一种使用matlab计算点到nurbs曲面的最小距离的简单方法。我正在寻找最近的点=>不是正交投影。 我已经阅读了关于采样的概念以获得开始然后进行牛顿迭代,但当时这超出了我的matlab功能。谢谢你的帮助。
答案 0 :(得分:0)
我正在寻找最近的点=>不是正交投影。
表面上最近的点是您的空间点到表面上的正交投影。在连接点和投影的线垂直于投影点处的曲面切线平面的意义上的正交。
NURBS曲面由两个参数 u 和 v 参数化。您还可以计算位置如何变为 u 。 v 更改。为此,您需要计算偏差。你应该得到一对跨越切平面的切向量。现在,您希望平面上的点与空间中的点之间的差异与这两个矢量正交,即具有点积为零。这意味着您将获得两个方程式,一个用于 u 方向,另一个用于 v 方向,这将帮助您找到 u 和 v 您需要的参数。
但请注意,这个方程组很可能是高度非线性的。因此,获取一些优秀的计算机代数或数字软件来找到所有解决方案,然后计算每个解决方案的距离,以选择最小的解决方案。