Grasshopper

algorithmic modeling for Rhino

Hi everyone,

I got to a point, where I don´t really know, if the way, that i took is the right one. Also it´s the first time, that I really get into generative/ iterative modeling.

That´s my little exercise piece: 

Gaps in a solid, that create a rock-like, natural appearance.

For now I don´t worry about the white surfaces, but just focus on the lines.


Each line follows the grid, but the kinks are randomized in x and y direction (easy).

There is one big constraint, that makes it complicated for me: the lines may never intersect.

 

 

All right, that´s it. I attached the first Grasshopper-definition draft and left some notes at the critical points. Everything besides that is pretty clear.

I´m thankful to every little advice, or hint.

Flo

Views: 949

Attachments:

Replies are closed for this discussion.

Replies to This Discussion

This is a good one for Grasshopper and Coffee challenge !

^No ones been drinking coffee lately :(

This is a bit tricky. I think you're right to use hoopsnake, but you might be setting it up the wrong way. For one, as a general rule you should only ever use a single hoopsnake component to loop through your data - careful management of your data trees (using entwine and explode tree for example) allows you to pass multiple sets of data through one hoopsnake component.

The approach that I took was to start by calculating far too many kinked lines, not caring about whether or not they intersect. Then I used hoopsnake to run through this list one by one. For each curve in the list, starting with the first one, if any of the other curves intersect it, I throw it out. Then I pass the curve that I've already tested to a separate list of already-checked curves, and repeat the process on the rest that were not rejected. 

I've annotated the definition in a bit more detail, but let me know if there's anything I can explain further.

Attachments:

Hi Andrew ,great definition!is a bit of time that i trying to figure out how to get something like this, but there is a passage that I can not understand where you're testing the smaller of the list-length output from the random component and the values of the curve divided by a length parameter (min spacing catch). if you can Could you kindly explain me the logic behind it ?

Thanks

Massimiliano.

the idea behind this portion is just to ensure that very short contours (such as at the corner of a rectangle when the contours are taken diagonally) don't have far too many division points for their length. It effectively sets a limit by length on the number of points each contour can be divided into. 

Thank´s for everybody´s input,

I´m now working on a nice solution, an will share it afterwards if you will.

For now, I´m gonna stop this discussion here.

thanks again.

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service