pattern within an organic shape

mariathurn's Avatar


23 Nov, 2017 12:35 PM


I want to do a pattern within a shape. And the closer the pattern comes to the border of the shape it is supposed to become smaller. The shape is not is organic.
I have come so far yet. Is there a possibility in Nodebox to do that, or do I have to do that in Grasshopper?

Many thanks, if anyone has an answer.

  1. Support Staff 1 Posted by john on 24 Nov, 2017 09:28 AM

    john's Avatar

    Hi Maria,

    I'm not entirely clear on what you mean by "organic". Could you post an example of the effect you are trying to create?

    You are already using the compound node to clip a repeating pattern inside the boundary of a shape. Making each element of the pattern change size as it approaches the boundary is trickier, but there are ways to do this.

    I am attaching one simple example. I fill a grid with dots and use a compound node to clip them to the shape of a footprint. A normal dot (ellipse) has a pointCount of 13. Dots on the boundary which get partially clipped will have some other pointCount. I can use this fact to distinguish those boundary dots and make them smaller (instead of just clipping them).

    When drawing the pattern I replace the dots with stars. If you look closely at the screenshot you can see that the stars around the edge of the footprint are smaller than the stars in the interior. I also wiggle and randomly rotate them for a less rigid (more organic?) look.

    This is a simple but somewhat crude technique since it only produces two sizes. If you want something fancier, maybe an Escher-like hyperbolic effect, you may need to do some trigonometry, but with determination almost anything is possible in NodeBox.

    If this technique doesn't work for you, send me an example of what you are trying to achieve and I could take another whack at it. Please let me know if this helps.



  2. 2 Posted by mariathurn on 24 Nov, 2017 01:52 PM

    mariathurn's Avatar

    Hey John,

    Thanks for the reply!

    I want to recreate a pattern on a outsole of a shoe. That the pattern adapts to the outline. Maybe if I have points that act as centers and then take the distance between them and the border. I don't know...

  3. Support Staff 3 Posted by john on 24 Nov, 2017 10:05 PM

    john's Avatar


    Wow - what an interesting challenge!

    I spent a few minutes looking at shoe print clip art and the soles of actual shoes, boots, and sneakers (two examples attached). Each one is different - and some are fabulously complex. It's a whole art form of compelling beauty that was right under my feet this whole time.

    You've already made a great deal of progress, but this is a hard problem. One thing I notice is that most shoe prints are organized around sinuous patterns that flow like a snake or a stream, following the natural curves of a foot. I begin to see what you mean by "organic".

    One way of approaching this would be to develop a "language" of core concepts - which could be expressed by subnetworks. NodeBox currently lets you stack shapes like rectangles or ovals. One useful component would be a curved stack that follows a supplied curve instead of a straight line.

    You could then add an additional concept of controlling the size within a curve of shapes so that the shapes grow and shrink as they follow the curve. That pattern of growth and shrinkage could itself be controlled by a "growth curve".

    The next step would be to build up methods for producing the shapes within each stack. You could start with rectangles or ellipses or polygons as base elements and then soften or distort them in different ways. You might find my curvify subnet useful for this (

    The shapes could then be fed into a clipping subnet that modifies shapes that cross the boundary of the shoe. For a softer edge you could do an ordinary compound then extract the inflection points and reconnect them with my curvify to produce more organic outlines.

    Once you have the nodes to express these concepts you can string them together in a myriad of different ways to create footprints composed of separate regions that fit together to form the overall pattern. NodeBox would let you scrub various settings to get the effect you want. You could then create endless variations, each one unique.

    Not easy but definitely possible. I might try noodling around with this some more. Feel free to keep this dialog going.


  4. 4 Posted by mariathurn on 28 Nov, 2017 09:52 AM

    mariathurn's Avatar

    Hey John,

    Wow, this does seem quite tricky. Thank you for your incredible feedback and ideas. I'll definitely do some further explorations into that topic. It's interesting what complex system you can create by a seemingly simple piece of software.
    If I ever have a breakthrough I'll post it here :)

    Thanks again!

  5. 5 Posted by D on 29 Nov, 2017 02:31 AM

    D's Avatar

    Hi Maria,

    Yes, Rhino might be better suited for your project, specially if you plan to 3d print the pattern. You can certainly use grasshopper if you are planning to feed pressure data etc. But Rhino, will work just fine for the parametric design you need, just search for 'Rhino Panelling Tools' on google or better yet youtube for tutorials


  6. Support Staff 6 Posted by john on 19 Dec, 2017 12:22 PM

    john's Avatar


    Just wanted to let you know that I became fascinated with this problem and am still working on it. I am finally starting to make some progress and can now make various organic-looking shoe patterns. See attached screenshot.

    Are these the kind of patterns you were looking for?

    Along the way I have invented a dozen specialized nodes to soften curves, spread grids, trace outlines, etc. By combining them you can create endless variations and do things that go far beyond shoes. The process is still a bit more complicated than I'd like, though.

    Let me know if you are still interested in this problem. If you are I could eventually post a shoe-making kit of some kind.


  7. Support Staff 7 Posted by john on 03 Feb, 2018 10:39 PM

    john's Avatar

    Another update...

    I wrote a blog entry about this project:

    I also just posted a demo on the NodeBox forum with code to perform six basic tasks that make drawing organic shapes (including shoe soles) much easier:



Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:


Already uploaded files

  • Bildschirmfoto_2017-11-23_um_13.32.53.png 414 KB
  • Bildschirmfoto_2017-11-23_um_13.33.36.png 74.7 KB

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac

Recent Discussions

12 Feb, 2018 07:14 AM
03 Feb, 2018 10:39 PM
03 Feb, 2018 10:28 PM
27 Jan, 2018 03:06 PM
19 Jan, 2018 09:04 AM


19 Jan, 2018 02:16 AM
17 Jan, 2018 08:44 PM
10 Jan, 2018 01:15 PM
08 Jan, 2018 10:44 AM
27 Dec, 2017 11:52 PM
16 Dec, 2017 01:04 AM