二维插值算法

Gay*_*yan 8 algorithm geometry interpolation coordinates

我有两个形状,它们是一个通道的横截面.我想计算两个定义点之间的中间点的横截面.在这种情况下使用的最简单(相对简单?)算法是什么?

PS:我遇到了几个算法,比如自然邻居和泊松,这看起来很复杂.我正在寻找一个可以快速实施的简单解决方案.

编辑:我从标题中删除了"最简单"这个词,因为它可能会产生误导

Hig*_*ark 3

这很简单:

  1. 在每个横截面上沿着横截面的边界以均匀间隔绘制 N 个点。
  2. 从横截面 1 上的第 n 个点到横截面 2 上的第 n 个点绘制直线。
  3. 在旧横截面之间所需的距离处取下新横截面。

更简单的是:

  1. 使用现有横截面之一而不进行修改。

我想第二个建议可能太简单了,但我敢打赌没有人提出更简单的建议!

编辑以下OP的评论:(太多了,无法重新评论)

好吧,您确实要求一个简单的方法!我不确定第一种方法是否存在与您相同的问题。如果横截面不是太奇怪(如果它们是凸多边形,则可能是最好的)并且您没有做任何奇怪的事情,例如将一个横截面的左侧映射到另一个横截面的右侧(从而迫使大量交叉线)那么该方法应该产生某种合理的横截面。在您建议使用三角形和矩形的情况下,假设三角形位于其底部,一个顶点位于顶部。将该点映射到矩形的左上角,然后沿着连接相应点的两个横截面的边界沿相同方向(顺时针或逆时针)前进。我没有看到任何交叉线,并且在两个横截面之间的任何距离处都看到了明确的形状。