An algorithm is presented that approximates variable-radius offset curves using cubic Bézier curves. The offset curve is approximated by a cubic Bézier curve which interpolates the positions and derivatives of the exact offset curve at both endpoints. Thus, it approximates the exact offset curve very closely near the curve endpoints, but not necessarily in the middle of the curve. Given a fixed base curve, by changing the offset radius and its derivative at an endpoint, one can easily control the offset-curve shape near the endpoint. To better control the offset-curve shape in the middle of the curve, we use two global shape parameters (bias and tension) of the offset curve. A variety of variable-radius offset curves are easily generated by the use of six shape-control parameters (the two offsets and their derivatives at both endpoints, and the bias and tension parameters). Each bristle of a Bézier brush stroke is represented by a variable-radius offset curve. Even with simple linear interpolations of the six shape-control parameters, the bristles are generated at cubic interpolations of the two boundary curves. The nonlinear interpolability gives great flexibility in modelling flexible brush-stroke shapes. As the shape-control parameters are interpolated, the associated geometric meanings are also interpolated, which makes the designed brush-stroke shapes look more natural. This is an improvement over two previous methods which are based on linear interpolations of the two boundary curves. By the application of the same interpolation scheme to the time span as well as to the brush-stroke width, it becomes relatively easy to generate flexible animated motions of brush strokes. © 1993.
Kim, M. S., Park, E. J., & Lim, S. B. (1993). Approximation of variable-radius offset curves and its application to Bézier brush-stroke design. Computer-Aided Design, 25(11), 684–698. https://doi.org/10.1016/0010-4485(93)90010-L