Jump to content

Differential curve growth


Recommended Posts

added some attraction and repulsion forces so it will fill up the volume.
still sometimes the line can escape the bounding object but hey! maybe someone here will fix it
if you will run it you will see the green parts indicate the point is being attracted to the surface and if it is red it is being repulsed by it




Edited by leohak
  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
  • 2 months later...
  • 3 weeks later...

Nice thread with interesting topic.

My two cents to this topic:  

- solver which allows structure to separate grown parts from initial structure when some condition is met and continue to process those parts same way it processes starting structure.

In attached example I tried to keep things as simple as possible. The whole magic is inside solver inside for each loop, where shape is tested against conditions if physical distance between two points is small enough and there is more than K points on the shape in between them, separation occurs.  This example works in 2D but with this concept it can be extended to work in 3D space. Instead for searching if two points are close enough you search for 3 points which form triangle whose area is small enough but larger than zero.



Both examples are in the scene file   






  • Like 3
Link to comment
Share on other sites

  • 4 weeks later...

Hey guys, 

I very new to Houdini and was messing around with the differential line growth tutorial from Entagma.

Instead of using a single circle I used a copy and transform node to have that growth relative between multiple clones, then after the solver I want to translate each primitive on the z axis.

I have been able to achieve it manually but it's just the opposite of what houdini is cool for, so I tried the for each loop trying to translate each primitive by increment but it didn't work.

I'm sure it's very easy that I am missing because of my lack of knowledge but should be for sure piece of cake for most of you.


Capture d’écran 2017-12-23 à 07.52.34.png

  • Like 2
Link to comment
Share on other sites

Thanks, much appreciated. And just to be clear, I don't remember how Entagma set this up, I actually don't remember 90% of my own setups I posted on Vimeo, I have to go back and check all the time what the hell I did on one setup or another when people ask me how I thought, etc... :D


  • Haha 1
Link to comment
Share on other sites

Man, it's really badly threaded, though, checking the performance monitor, the relax node isn't multithreaded so it'll just drag the whole thing to a crawl... I really would recommend setting this stuff up in POPs instead, using either the POP interact or the grain solver, it's just so much faster as they are multithreaded.


And what expression? In the transform? That will fetch the information for which iteration you are currently on which is a detail attribute of the node I pointed to. :)

Edited by Farmfield
Link to comment
Share on other sites

Ok now I'm trying to constrain the growth within a letter but also copy it over multiple scattered points on the letter. It seems to work fine except on the for each, it translates all primitives instead of having the 3 groups starting from the origin. I can't really visualize how I could achieve this, I tried to have the copy to points before the copy/transform but the scale is relative to the SOP centroid.

loopcopy to points.hipnc


Capture d’écran 2017-12-24 à 03.25.42.png

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...