Grasshopper

algorithmic modeling for Rhino

I need to create a series of circular fan shapes, and I need to be able to change the number of wings by using a slider component. How should I do that?

I was thinking about dividing a circle into n units (using a slider) and use that as the base for the number of arms of the fan. However, I am not able to figure out how exactly I should do it.

Can anyone help me with that? Or are there any other ways to do it?

Thanks
Yan

Views: 1548

Replies to This Discussion

One approach might be to use the Scale Component to reduce the radius of certain control points around the circle.

1) Create circle.
2) Divide Circle by N points
3) create a repeating pattern of scales eg 0.5,1,1,0.5,1,1.....N
4) plug points and scale pattern into scale component
5) Append first point to end of list
6) create Polyline. with transformed list.

It has its drawbacks that only a certain combination of N points and repeating patterns will produce an elegant solution. But it should start the ball rolling for other possibilities.
That's a very neat solution.

If I may throw in my two cents:

1/100: there's no need to create a circle - let's just create points form polar coordinates, should be a bit faster,
2/100: if we'd like for the wings to have parallel sides, the scaling should follow a specific formula (see attached definition)

* I've added a width control for the wings to make the definition more flexible


cheers,
JJ
Attachments:
Jacek Jaskólski

That's a very neat solution. But can you explaint the part which ensures the parallel lines. I'm a new user to grasshopper, I'm jut a little confused the formula. Thank you very much.
Sure thing:


If you transform the four equations in 3°, ruling out spare variables, you'll get the formula.

1. There's probably a simpler formula out there...
2. Instead of using trigonometry you could find intersections of parallel segments, but the solution would run a bit slower, I think.

Cheers,
JJ
Hi Danny, I don't quite understand what you mean by step 3, "create a repeating pattern of scales eg 0.5,1,1,0.5,1,1.....N", can you explain it a little?
Thank you so much
Here's a picture of what I had in mind:

Attachments:
Can you explain how to make it simpler? Thank you.

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service