Join two bezier o that the radius of curvature is smooth

317 Views Asked by At

I need to join more Bezier curves in order to obtain a smooth trajectory for a vehicle simulation. Let' say the curve 1 has the points P0, P1, P2, P3, and the curve 2 has the points Q0, Q1, Q2, Q3.

I imposed C2 continuity:

  • P3 = Q0
  • P2, P3, Q1 have same direction
  • Distance P2P3 is equal to distance Q0Q1

I thought this is enough to obtain the same radius of curvature at the joining point, but it isn't. So, how can I obtain it?

1

There are 1 best solutions below

0
On BEST ANSWER

Your 3 equations only ensure $C^1$ continuity. The simplest way to achieve curvature continuity is to enforce additional $C^2$ continuity, namely $C_1^"(1.0)=C_2^"(0.0)$, which can be written as

$P_3-2P_2+P_1=Q_2-2Q_1+Q_0$

Please note that enforcing $C^2$ continuity is not a necessary condition for achieving curvature continuity. For example, once you obtain $Q_2$ from above equation, translating $Q_2$ in the direction of $\overrightarrow{Q_0Q_1}$ will not change the curvature at $Q_0$ and the curvature continuity will still be maintained.