Cubic B-splines for type design.
Belleve Invis
Posts: 269
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
-
It's implemented in Inkscape and very useful to draw organic shapes. I use it at the first stages of drawing my font Geranium and convert to Bézier afterwards because there is no solution to put extremas when working with B-splines.
0 -
ivan louette said:It's implemented in Inkscape and very useful to draw organic shapes. I use it at the first stages of drawing my font Geranium and convert to Bézier afterwards because there is no solution to put extremas when working with B-splines.0
-
Found various papers about this idea, and they went further: Degree 1, 2, 3 curves could easily combine together
1 -
Never heard of B-splines before, so I just watched a short video about the B-splines tool in Inkspace.
My 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?0 -
You can have cusps if you hold down Shift while clicking.
0 -
Yeah, saw that in the video, but what if you don't want cusps? Consider something like a rounded S. Wouldn't it be hard to control its shape precisely (the precise width at certain points, the precise amount of overshoot, etc.) using B-slpines?0
-
You are right, precision assistants for B-splines remain to be invented at the moment. But nevertheless they are very interesting for organic and purely visual design. Sometimes I use them also to rebuilt a curve drawn with Béziers which lacks of fluidity : I draw a spline on top of it, convert this new curve to Béziers and incorporate it to my previous design. I know that some programs do this kind of enhancements automatically but this is the only tool I have in Inkscape to do that (except perhaps the spiro-splines which are a little bit more difficult to manage for my taste and generate too much knots when converted to Bézier).
0 -
So 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/48ff85b838f1a4904aebc575fbde3b832 -
Here is a more direct B-spline-to-Bezier conversion that directly maps the control points to Bezier points. Note that, the Bezier points are a linear combination of B-spline control points and the coefficients are only connected with the knot intervals.
https://gist.github.com/be5invis/828d247819ddebe1dc3ba483b89cc533
0 -
Ori Ben-Dor said:Yeah, saw that in the video, but what if you don't want cusps? Consider something like a rounded S. Wouldn't it be hard to control its shape precisely (the precise width at certain points, the precise amount of overshoot, etc.) using B-slpines?0
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 803 Font Technology
- 1K Technique and Theory
- 622 Type Business
- 444 Type Design Critiques
- 542 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 485 Typography
- 303 History of Typography
- 114 Education
- 68 Resources
- 499 Announcements
- 80 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 270 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports