我有一个由4个点指定的贝塞尔曲线。我需要知道一个点在贝塞尔曲线的左侧还是右侧。你能给我建议一个算法吗?
编辑:我确定我生成贝塞尔曲线的方式不会形成循环。
后续编辑:我意识到我的初始问题可以在不使用相对位置的情况下解决。当我发表这个问题时,我认为有一个数学公式可以用于相对位置,就像检查点是否在圆的内部一样。看来这是不可能的。所以我会接受一个建议时间高效的解决方案的答案。
我有一个由4个点指定的贝塞尔曲线。我需要知道一个点在贝塞尔曲线的左侧还是右侧。你能给我建议一个算法吗?
编辑:我确定我生成贝塞尔曲线的方式不会形成循环。
后续编辑:我意识到我的初始问题可以在不使用相对位置的情况下解决。当我发表这个问题时,我认为有一个数学公式可以用于相对位置,就像检查点是否在圆的内部一样。看来这是不可能的。所以我会接受一个建议时间高效的解决方案的答案。
我现在记不起来数学知识了,但你可能想使用细分算法来逐步细化曲线,直到线段足够“直”,以便您可以将它们视为线段,以满足您的需求。
通过使用曲线细化的边界多面体来确定您的“点”在所有多面体之外的位置,并立即转换为线段,您可能能够更快地得到答案。
假设点被限制在曲线上,您必须将其中一个锚点定义为起点,另一个锚点定义为终点,然后计算属于曲线且位于中间(长度的一半)的点...这样您就可以确定该点是在起点和中点之间还是在中点和终点之间。
这是您想要的吗?还是我完全迷失了方向?