如何在Python中把任意曲线分割成线段和弧段?

问题描述 投票:1回答:1

我有一个近似于路段的(x,y)点序列,我想识别并将它们分成两类。

  1. 直线段
  2. 非直线段。目前我并不关心这些参数化的问题。它们可以是恒定曲率的弧线,也可以是变化曲率的线段......任何东西(但最好是简单的)。

有没有关于如何在Python中解决这个问题的提示?我可以通过搜索 "曲线分解成线和弧 "或类似的术语,找到一些关于它的学术出版物,但它们没有提供任何示例代码,而且从头开始实现整个方法对我来说是不可行的。希望能得到任何帮助!

谢谢!我有一个(x,x)的序列。

python geometry line curve decomposition
1个回答
0
投票

用三点P1,P2,P3或P3,P4,P5或P100,P101,P102等。

有了三点你就可以找到穿过它们的圆周率。如果它的半径太大(比如100公里),它可能是一条直线,尽管它也可能是一个衣冠冢的开始(R 是无限的,因为在直线与丛状线的连接处)。)

所以你必须测试第四个点,判断它是属于那个cicumference还是在clothoid中。参数 A 知道4个点后,可以通过连续迭代计算出这条丛状线的。

如果给定的轴不是路轴,而是平行于路轴的轴,那么记住平行于菱形的曲线就是 另一个土块。

一旦你有了所有段的类型定义,你需要进行微调,使所有的段在其端点处都是相切的。这项工作可以通过使用三联段、除以切线错误值旋转中间的段或其他你能想到的方法来完成。

© www.soinside.com 2019 - 2024. All rights reserved.