Practical solution for B) * Split the whole curve into 4 pieces that all have about the same amount of total absolute turning in them (better than splitting by arc-length!). * Place the control points that correspond to the joined ends of two consecutive Bezier segments at these splitting points. * Take the tangent directions at these points from the given curve. * Place the inner control points for each Bezier segment onto these tangent lines, at a distance that observes the convex hull property and leads to eaqual velocities on both sides of the junction (some compromising may be necessary). Practical solution for C) * Put a Bezier segments between every pair of subsequent data points. The given data points thus are the endpoints of the Bezier segments, and the subdivision of the curve is implicitly given. * Now we need to choose good tangent directions at all the data points (to place the inner Bezier control points): o Heuristic 1 (based on Catmull-Rom spline): Make tangent parallel to the chord between the two nearest neighbor data points. o Heuristic 2: Make tangent perpendicular to the angle divider in the (red-dashed) connectivity polygon at this point. * Now we need to pick a good distance from the data points for all the inner control points: o Heuristic 1 (based on Catmull-Rom spline): 1/6 of chord length between the two neighbor points (this gives actually C1 continuity). o Heuristic 2: Place the control points individually 1/3 of the length of the associated chord away from the data point (gives only G1 continuity, but may produce rounder, "fair" curves with less extreme lobes).