Grasshopper

algorithmic modeling for Rhino

hello everyone again!

I added 2 Images that describe my idea: step 1 and step 2

at first, I want to make a path between 2 points. this path supposed to be kind of a street so it can be linear or curve one. then, create random volumes along/near that path that change their extrude high, depend of the distance between the center of each volume to the closest point on this curve/line path that I made before. The closest volume to the path will be extrude less than the farthest volume of course.

I don't know if there is any component that can do this... maybe I have to divide the path line to points and then connect them somehow to the center of the volumes.

I believe this is not very difficult to make for u, so if someone would like to help me it will be awesome!!!

tnx for the fast respond - daniel

Views: 1120

Attachments:

Replies to This Discussion

There is no single component that does what you describe (it's far too specific), but you can probably get it to work with a dozen or fewer components.

You're certainly correct to break apart your problem into two disjoint algorithms, as the shape of the road (which, according to your description could be anything) and the positioning of the builds are separate steps.

You'll need to decide how you want your building seed points to be generated. You can either place them in space according to some algorithm, and only then measure their distance to the curve. Or you can pick points along the curve according to some algorithm and then move those points at perpendicular angles away from the curve. Whichever approach you should pick depends on your goal.

Distances from points to curves can be quickly measured using the [Curve Closest Point] component, which outputs the distance along with the point and the parameter. You can then either pass this distance to some equation, or use the [Graph Mapper] to convert the distance into an extrusion height.

It also looks like you might want your buildings to be sufficiently far apart so that they won't intersect each other. One way to remove proximate points is to use the [Cull Duplicates] component, but it may be too simplistic for your purposes.

The attached file shows how to remove all points closer than or further than two distinct threshold distances, as well as showing how to remove points that are too close together.

Attachments:

tnx a lot man! I will try to work on it later. I hope that if there will be any more question- u still be able to answer :)

have a great day!

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service