Grasshopper

generative modeling for Rhino

# Creating a fan shape in grasshopper

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

Tags: fan, shape

Views: 340

### 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:

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:
I also gave it a try, but more simple then the one here above witch is indeed very neat
Can you explain how to make it simpler? Thank you.
here is my file:

I just used a circle-> divide -> made a cull pattern-> moved the rest to the middle with a vector.
Attachments:

by 雷锋

by 雷锋

by 雷锋

• View All