0

假设有一条抛物线Y = aX^2 + bX + c,它可能会旋转如下:

X = x.sin(phi) + y.cos(phi)
Y = x.cos(phi) - y.sin(phi)
phi = rotation angle

我们希望将其安装在边框上(例如,眼睑的内边框,下图)。问题是我们如何在每次迭代中改变抛物线,使其最小化成本函数。我们知道抛物线可以有不同的旋转,并且它的原点在搜索区域中可能会有所不同。请注意,拟合抛物线应通过两个给定点(例如下图中的白色方块)。因此,在每次迭代中,我们可以通过两个给定点和原点(三个方程和三个变量)计算 和a。问题是我们如何在最小迭代中达到目标(不是测试所有可能性,即搜索区域中的所有角度和所有位置)。bc

在此处输入图像描述

任何想法将不胜感激。

4

2 回答 2

1

@woodchips:我认为这是一个编程问题,他要求解决方案。我绝对不同意你的看法。

一种可能的解决方案是首先沿着与两个给定点之间的线正交的垂直线进行搜索。您还可以在此间隔内改变角度。由于问题的性质(眼睑边界),您可以限制 -pi/4 和 pi/4 之间的角度变化。在这条垂直线上找到一个职位的最低成本后,您可以沿着水平线搜索并执行类似的任务。

于 2013-03-03T20:50:27.890 回答
0

为什么不使用回归将抛物线拟合到目标形状中的多个点?然后,您可以使用您想要获得近似解决方案的任何算法。牛顿法收敛得非常快。这里的优化是在近似抛物线的系数上。

于 2013-03-04T09:37:01.553 回答