seb*_*007 5 algorithm geometry computational-geometry
是否有任何算法可以使用有限数量的线段和圆弧(恒定曲率)来逼近 xy 平面(即由 x 和 y 定义的有序点集)上的路径?结果曲线需要是 C1(斜率的连续性)。
最大数量或线段和弧线可以是一个参数。另一个有趣的约束是防止两个连续的圆弧没有中间线段连接它们。
我看不出有任何方法可以做到这一点,我认为不存在针对它的方法,但欢迎对此目标的任何暗示。
例子:
考虑这条路。它看起来像一条线,但实际上是一组非常接近的点的有序套件。没有噪音,点序列的顺序是众所周知的。
我想用最少连续的线段和圆弧(假设 10 个线段和 10 个圆弧)和 C1 连续性来近似这条曲线。段/弧的数量本身不是一个目标,但我需要任何参数来减少/增加这个数量,以达到一定的参数化简单性,但代价是精度损失。
解决方案:
这是我的解决方案,基于 Spektre 的回答。红色曲线为原始数据。黑线是线段,蓝色曲线是圆弧。绿色十字是显示半径的圆弧中心,蓝色十字是线段可能连接的点。
C1 要求要求您必须具有交替的直线和圆弧。还要意识到,如果允许足够数量的线段,您可以轻松地将每对点与直线拟合,并使用微小的弧来满足斜率连续性。
我建议这个算法,
1 与一组(指定 N 条)直线段最佳拟合。(当然有成熟的算法。)
2 考虑将直线段固定并在每个接头处放置一个圆弧。单独处理每个关节,我认为您有一个易于处理的问题来找到最佳的圆弧中心/半径以满足连续性并改善配合。
3 现在您已经非常接近尝试将所有圆弧中心和半径(由相切定义的线段)视为全局优化问题。如果 N 很大,这当然会爆炸。
| 归档时间: |
|
| 查看次数: |
5068 次 |
| 最近记录: |