Grasshopper

algorithmic modeling for Rhino

Hello,

I would like to create a sort of rectangle full of elements, using for example the arrey tool.

But then I want some of the elements to rotate, some and not all!

In particular I need to create a word turning some of these elements.

Can you help me?

Hope you understood my issue!

Thanks.

Marta

Views: 960

Replies to This Discussion

OK,

1. You want to define a tree of points within a flat piece (a surface > then divide by u/v). This yields a single dimension tree (N of branches: u, N of items: v). Or spread randomly points on that surface or use some other logic (attractors for instance).

2. You want to create random sized shapes using the tree [1] (and/or rotate, scale etc some or all). This could yield a data tree of shapes "similar" to 1.

3. You want to place (and "fit") a given text (as closed curves) on that surface (easy with code).

4. If the center of a given shape [2] is inside each curve [3] (or the shape intersects the curve or ... using some other filtering logic) > sample the shape in some List and then do whatever comes next.

Kinda "pixelating" text with a freaky way.

correct?

Yes, a plane full of little squares can be an example.

Then I want to create a word in this plane and I want only the squares inside the word to rotate in 3d around one of the side.

Is it possible?

I did something similar: i created the plane of squares and the word and I identified all the squares inside the word. But when I told them to rotate, the full word rotated and not the single squares inside it.

Thanks.

Marta

Let's say ... like this? (rotation NOT enabled for clarity, not to mention that is not needed in most of similar "random pixelation" cases)

PS: In order to modify a list on a per item basis (say: rotate) you'll need to provide an equal number of modifiers (say: +/-angle AND plane). Try it with data trees (each containing ONE item: is more easy to understand the 1:1 requirement). 

No, much easier I guess:

I would like only the squares inside the M to rotate like this

But if I use the intersect command, then I get this

Er ... that's indeed very easy. But what means "inside" ? (usually this implies a point like the centroid or some else). Obviously "inside" could also mean intersection or planar curve/curve containment. 

Post here your stuff and I'll add the proper bits in no time. Actually the only thing missing (I suspect) is a filtering procedure based on intersection or Curve-Curve containment or Point-Curve containment events (i.e. if true > keep ... if not > discard).

Notify as well if you want this to happen in any surface

Well ... I would suggest a (say: centroid) point in Curves containment filtering approach since there's always the probability for a rectangle to intersect 2 "letter" curves.

Study the screen shot to see what I mean (for instance the rectangle between "T" and "h" [in "The" word] that falls into the "common" case etc etc).

more soon

Thank you, but unfortunately my level in grasshoper is very low and I even donì'y know where I can find "inside" or some botton you placed

Hmm ... play with this (load Rhino file first) and we talk later.

DON'T get bored with the weird "component" present that does the rectangles (is here in case that you want some quite unusual results when you gain confidence with all that stuff). Alternatively replace it with your rectangles (as array). Anyway this is not the point here at all (the point is how to cull items based on some condition).

Works in 2 modes: Point inside curves or collision events.

Attachments:

Forgot to mention that I can provide some sort of "black box" (so to speak: you can just use it and don't get bored about how it works or what actually is) that gets a text string, a desired font and then makes regions as in the initial screenshots.

That way you can change your text in real-time (on the fly) and avoid using the Rhino text + font + size + place it + sample the curves in a GH component etc etc etc. 

Hello Peter,

sorry for the delay.

Your file works very well and I played with it a lot in these weeks but it s very complex for my very low level in grasshoper: I don't get how you use the filters.

Anyway I still have an issue on that: in the letters like A O B and so on I would like to exclude the internal "holes" from the selection.

Is it very complex again? :-)

Thanks.

Marta

Well ...

Here's the holly grail of things: the V1A that is; tests properly the center (Note: when the PointContainment option is used [BTW: this is waaay faster than the other]) of the rectangle VS the trimmed Surfaces (Breps if you ask me) and then cuts the mustard accordingly.

See "o" and "d" (or use a "B" with 2 holes or any shape with 666+ holes).

PS: The other option remains unchanged since it works OK.

Attachments:

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service