It looks like you're new here. If you want to get involved, click one of these buttons!

- 2.7K All Categories
- 2 Introductions
- 2.2K Typeface Design
- 292 Font Technology
- 753 Technique and Theory
- 291 Type Business
- 278 Type Design Critiques
- 396 Type Design Software
- 27 Punchcutting
- 57 Lettering and Calligraphy
- 35 Technique and Theory
- 22 Lettering Critiques
- 210 Typography
- 145 History of Typography
- 65 Education
- 324 Announcements
- 56 Events
- 60 Job Postings
- 96 Type Releases
- 111 Miscellaneous News
- 165 About TypeDrawers
- 41 TypeDrawers Announcements
- 72 Suggestions and Bug Reports

Belleve Invis
Posts: **248**

I am curious about that, are there any attempts about using cubic B-splines as the extended form of cubic Bezier curves?

The advantages of B-splines are:

The advantages of B-splines are:

- Converting cubic B-splines down to Bezier curves is lossless (Boehm's algorithm).
- Four-point cubic B-splines with knot interval [0, 1, 0] is
**identical**to one segment of cubic Bezier curve. - Algorithms for handling cubic B-splines are well-studied (de-Boor, etc).
- B-splines preserves C2 continuity, it could prevent kinks when interpolation.

2

## Comments

206248248242My first impression is that it's good for drawing smooth paths, but at the expense of precise & intuitive control, since there are no on curve nodes (ignoring cusps) which are probably the easiest way to force the path to pass through certain points.

I'm wondering what the approach to drawing precise shapes with B-splines should be. Do you know of any resources?

206242206248So I made a little example using the techniques in the papers I posted yesterday. All these six shapes have the exact same control points (a square) but with different corner and edge "interval" assignments. In our conversion, each non-zero corner is converted into a quadratic Bezier curve arc, and each non-zero edge is converted into a cubic Bezier arc. Example 2 zeroes all the corner intervals to produce cubic B-splines. Example 3 zeroes all the edge intervals to produce a TrueType curve (quadratic B-spline).

CODE = https://gist.github.com/be5invis/48ff85b838f1a4904aebc575fbde3b83

248https://gist.github.com/be5invis/828d247819ddebe1dc3ba483b89cc533

248