Math 连接两个Bé;平滑的zier曲线(C2连续)
(后续行动) 给定一系列三次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 将修改后的曲线尽可能地与原始曲线相交可以有多种解释,但可以考虑保持端点和切线远离连接点常数可以适合。因
- 带控制点的曲线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
,然后应用上述步骤