Curve Morphing

Hello! I was thinking about morphing letters with Grasshopper, and tried it this way: (9.7 KB)

The result is better than I expected. Unfortunately, the order of the curve points is not optimal. How can this be done better?


Hi @mitternachtsblau

Maybe this post may help you!


the order of the curve of each letter can be changed, but I think another problem is the amount of curves per letter: as you can see it’s rarely the same amount and never in the same location, so I think that will produce kind of random results

I thought about using divisions by the same amount of points, but the same problem takes place: a given portions of letters x wants to transform into a different portion of letter x’, “the inception way” :slight_smile: (22.5 KB)

I think the best solution would be to transform the axis-curves of the same letters, but that’s also a pretty challenging task… without counting the added complications due to the presence of serifss etc etc :slight_smile:


[image from wikipedia Rupa huruf tanpa kait - Wikipedia bahasa Indonesia, ensiklopedia bebas ]

2 Likes (9.8 KB)

This doesn’t really make it better. But thank you!

Interesting. Thank you!

I also think handling for example serifs wouldn’t be completely impossible. Here is a nice example. Font design software allows to do stuff like that, but it has major limitations. For example, always the same number of points is necessary to morph between styles. Also the direction of the paths should be the same.

A more interesting approach is maybe this. And I wonder how something like this could be done in a good way with Grasshopper.

Would there be a way to define specific points on two different letters that act like anchors?

nice indeed :+1: but I think it was made ad-hoc to work just with those two fonts: at the end all you need is two sorted list of curves with same number of elements for each letter: here I did it manually for the writing “test” (18.6 KB)

Looks pretty cool! Do you think this is already close to the maximum that could be done with Grasshopper, or are there many ways to improve?

1 Like

well, considering that GH is a canvas that can be used to express ideas, “the maximum that could be done with Grasshopper” is just about the best idea you are able to express through it

I’m sure you can get pretty pleasant result if you dedicate enough time to that because font_a and font_b are just different curves

this is an experiment between arial and times new roman, I think the whole point is to have the same number of curves, sorted in the very same order (19.4 KB)


That’s amazing! I think there is so much potential to revolutionize type design. It’s usually a very long-lasting process. With such tools one could breed individual font families in a very short time.