【发布时间】:2011-04-21 10:28:09
【问题描述】:
我正在研究一种在嵌入式系统上运行的控制算法。我的编程语言是 C,系统在内存和处理能力方面会受到非常严格的限制。
我在三维空间中有几个(大约 10 个)参考点。这些通常是静态的,但会偶尔更改。我想拟合一个样条曲面,使其通过所有这些点,然后有一个函数,对于给定的输入向量 (x, z) 返回距离 y 从平面 y = 0.
我认为这是一个需要分两部分解决的问题:1) 每当参考点发生变化时,都会计算一些新的系数,以及 2) 将系数插入到返回 y的函数中> 对于给定的 (x, z)。 (只有 2 个需要“实时”发生。)
我在网上对此进行了一些研究,但我在数学方面遇到了困难,而且很多材料都是针对计算机图形学的。我什至不确定我需要什么类型的样条; NURBS 和 Catmull-Rom 似乎都是相关的。最后,关于我的样条线边缘的形状:由于我的输入向量来自有界的传感器读数,我并不真正关心样条线在该边界之外做什么。
我将非常感谢相关材料的一些帮助或指针,任何sn-ps的伪代码将不胜感激。
【问题讨论】:
-
在我自己的查询之后进行更多研究:Catmull-Rom 很好,因为它满足表面通过每个点的要求,并且计算上很轻。它的问题是控制点需要限制在 z=0 平面中的规则网格中,并且不能有任何间隙,这与控制点可以在任何地方的要求不一致,我不确定会有多少。我想知道是否有一种方法可以通过对我的控制点进行逆 Catmull-Rom 来合成控制网格?
-
你看过贝塞尔曲面吗?当您说“距平面的距离”时,您的意思是“距表面的距离”还是“距表面的高程”?这篇论文有帮助吗? waset.org/journals/waset/v65/v65-45.pdf
标签: embedded surface spline nurbs catmull-rom-curve