Math 连接两个Bé;平滑的zier曲线(C2连续)

Math 连接两个Bé;平滑的zier曲线(C2连续),math,graphics,bezier,continuous,Math,Graphics,Bezier,Continuous,(后续行动) 给定一系列三次Bézier曲线,如何对其进行最小修改,使其以C2连续方式连接 输入: 带控制点的曲线PP0,P1,P2,P3 带控制点的曲线QQ0,Q1,Q2,Q3 如果有帮助,您可以假设它们已经是C1连续的 限制条件: C0连续性:P3=Q0 C1连续性:P2-P3=Q0-Q1 C2连续性:P1-2*P2+P3=Q0-2*Q1+Q2 修改后的曲线尽可能接近原始曲线P和Q 将修改后的曲线尽可能地与原始曲线相交可以有多种解释,但可以考虑保持端点和切线远离连接点常数可以适合。因

(后续行动)

给定一系列三次Bézier曲线,如何对其进行最小修改,使其以C2连续方式连接

输入:

  • 带控制点的曲线P
    P0
    P1
    P2
    P3
  • 带控制点的曲线Q
    Q0
    Q1
    Q2
    Q3
  • 如果有帮助,您可以假设它们已经是C1连续的
限制条件:

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

将修改后的曲线尽可能地与原始曲线相交可以有多种解释,但可以考虑保持端点和切线远离连接点常数可以适合。因此点

P0
P1
P3=Q0
Q2
Q3
是恒定的

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

P1 - 2*P2 = 2*Q1 + Q2
人们可以用复杂的表示法来表达
P2=a*e^i*r
Q1=b*e^i*r
(保持相同的角度强制C2连续性。计算

(P1 - Q2)/2 = c*e^i*s
强制C2连续性应该是选择
r=s
,并找到
a
b
的组合,从而
a+b=c
。有无限多的解决方案,但如果
a
是最小的(从而产生不太合理的变化),则可以使用启发式方法,如更改
a

如果没有产生足够小的变化,请尝试两步优化:首先更改
P1
Q2
,使
s
更接近
r
,然后应用上述步骤