在C++;如何计算所有可能的Bezier控制柄点以使曲线达到给定长度? 在C++中,给定两个锚点和一个四次Bezier曲线的句柄点,如何计算另一个处理点,使曲线长度达到一个固定值?

在C++;如何计算所有可能的Bezier控制柄点以使曲线达到给定长度? 在C++中,给定两个锚点和一个四次Bezier曲线的句柄点,如何计算另一个处理点,使曲线长度达到一个固定值?,c++,bezier,C++,Bezier,它将是什么样的轨道 我正在做一个CAD软件。我需要使光标“捕捉”在可能的点附近移动时。因此,我需要计算轨道,而不是简单地检查长度。二次贝塞尔曲线P1P2P3的长度以多段线P1P2P3的长度为界,即。e、 , ||P3 - P2|| + ||P2 - P1|| = const 作为P1和P3是固定的,因此,P2位于一个椭圆上,P1和P3是其。在这个问题上,我看不到任何特定于C++,甚至编程的东西。你在问一个数学问题。@abelenky编程相关。我不一定会考虑这个话题。另一方面,这个问题有点含糊—

它将是什么样的轨道


我正在做一个CAD软件。我需要使光标“捕捉”在可能的点附近移动时。因此,我需要计算轨道,而不是简单地检查长度。

二次贝塞尔曲线P1P2P3的长度以多段线P1P2P3的长度为界,即。e、 ,

||P3 - P2|| + ||P2 - P1|| = const

作为P1和P3是固定的,因此,P2位于一个椭圆上,P1和P3是其。

在这个问题上,我看不到任何特定于C++,甚至编程的东西。你在问一个数学问题。@abelenky编程相关。我不一定会考虑这个话题。另一方面,这个问题有点含糊——再说一次,我手头的事情还不足以对此做出评论。计算贝塞尔曲线的长度与编程有关,因为代数曲线的弧长不存在方便的闭合形式。所寻求的控制点轨迹应符合您希望数值求解的微分方程。不过,问题应在此表格下结束。当你有一些代码要写的时候回来,同时你可以向math.stackexchange寻求帮助。我添加了一些解释。是的,这是一个数学问题,但我需要用C++来解决。由于计算机不能很容易地解决复杂的计算,因此需要优化编程。也可能在C++中有一些类似的解决方案。谢谢,我将在那里发布。