Grasshopper

algorithmic modeling for Rhino

Hey all,

So.... I've got a little issue that I could do with some pointers on.

I want to make a pattern within two concentric circles - both controlled by sliders. Let's call them Inner & Outer diameter. Within those circles I'd like to control via a slider the creation of more circles, each of these smaller by a percentage than the one before it which is dependent on the ratio between the ID and OD and the number of circles made

So far I've used a compounding formula to give me the percentage I want each circle to be smaller by but I can't figure out a strategy for referencing each circle to the last.

Once this problem is figured out there's more to my pattern but I've fallen at the first hurdle.

I'll upload an image of where I've got to in the morning.

Thx,

JT

Views: 2502

Replies to This Discussion

I did a crappy sketch, something a bit like this.

Attachments:

If I understand you correctly you want the Outer Diameter Circle to be replaced each time with the new circle.  Simplest way would be to create a loop.  You can't do this with native components (other than a scripted component which would probably be pretty simple, but my c# skills are lacking) but if you download the anemone or hoopsnake plugin you can create a loop that can do it.

Simple version in python:

radii = [outer_radius]

tween_radius = step * outer_radius

while tween_radius > inner_radius:
  radii.append(tween_radius)
  tween_radius *= step

  if len(radii) > maximum:
    break

radii.append(inner_radius)

Attachments:

I would do it like this:

- Create a domain for your two main radii

- create a range of numbers from 0 to 1, reflecting the number of circles you want

- use a graph mapper to manipulate the numbers on domain 0 to 1

- remap the values from the graph mapper to your circle domain

The path mapper component also has other curves available so you can really start to play visually instead of having to program a function...

OK, So I've been tinkering.

I've got a bit of the definition that gets me the percentage I need, I think. I'll post this and then try and read/understand your suggestions.

Here's a better vision of where I'm trying to get to - (Manually Drawn)

Attachments:

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service