gpt4 book ai didi

math - 平滑地连接两个贝塞尔曲线(C2连续)

转载 作者:行者123 更新时间:2023-12-04 08:45:26 27 4
gpt4 key购买 nike

(对this question的跟进。)

给定一系列三次贝塞尔曲线,如何最小化它们以使其以C2连续的方式连接?

输入:

带有控制点P0P1P2P3

  • 曲线P
    带有控制点Q0Q1Q2Q3
  • 曲线Q
  • 如果有帮助,您可以假定它们已经是C1连续的了。

  • 限制条件:
  • C0连续性:P3 = Q0
  • C1连续性:P2 - P3 = Q0 - Q1
  • C2连续性:P1 - 2*P2 + P3 = Q0 - 2*Q1 + Q2
  • 修改的曲线尽可能接近原始曲线P和Q

  • 最佳答案

    使修改后的曲线尽可能接近原始曲线可能有多种解释,但可以考虑使端点和切线远离连接点的常数保持不变。因此,点P0P1P3 = Q0Q2Q3是恒定的。

    我们可以更改原点,以便可以将强制C2连续性的P3 = Q0 = 0表示为:

    P1 - 2*P2 = 2*Q1 + Q2

    一个人可以用复杂的表示形式表达 P2=a*e^i*rQ1=b*e^i*r(保持相同的角度可以增强C2的连续性。
    (P1 - Q2)/2 = c*e^i*s

    强制执行C2连续性应该选择 r=s,并找到 ab的组合,例如 a+b =c。有无数种解决方案,但是可以使用启发式方法,例如,如果 a最小,则更改它(从而产生不那么明智的更改)。

    如果变化不够小,请尝试两步优化:首先更改 P1Q2以使 s更接近 r,然后应用上述步骤。

    关于math - 平滑地连接两个贝塞尔曲线(C2连续),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12295773/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com