filled paths made from bezier curves "extruded" from normals evenly spaced along the curve, laid out on the page with normally-distributed starts, ends, and control points, playing around with width of the extruded shape along the curve and stddev of gaussian noise added to the width

applying the same effect to sequences of bezier curves constructed from catmull-rom splines of normally-distributed points, and using a sine function to set the width of the curve (which gives it an interesting calligraphic effect I think)

bunch of single-stroke "letters" in a grid using this technique

aaaand applying the calligraphic effect to handwriting data (specifically, random glyphs from github.com/aparrish/chars74k-j)

implied violence, joke about lettering 

composing characters by splitting strokes from two randomly-selected handwritten forms from the chars74k down the middle, then drawing the points from the left portion of the first character and the points from the right portion of the second character. the strokes all belong to their own "shapes" here so you get a bit of bleed-through for each because of alpha transparency. pretty happy with this, looks just like someone messing around with an ink brush

I think the problem with the method I selected for controlling the width of the curve (symmetrical points offset along the normal, multiplied by a fixed list of values) is that you can pretty much *only* get ink brush-esque effects. might have to experiment with also being able to set the thickness based on, e.g., the direction of the tangent at each point on the curve? something?

@aparrish
Some calligraphy pens would be well modeled by simply offsetting one side from the other by a fixed vector.

@anne yeah I know but that's not very exciting to implement :blobmiou:

@aparrish
If you want interesting, how about 3d "brush strokes"? I have a printer...

Sign in to participate in the conversation
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!