Grasshopper

algorithmic modeling for Rhino

Hi all,

Looking for a few pointers for the following:

(a) I would like to take existing breps (shard-like polysurfaces) and map them onto a sphere such that they mimic panels. I have internalized some shard examples but they will not necessary always be that shape.

(b) Specifically, I would like them to be oriented such that their largest surface is oriented to the plane normal of the sphere (see photo). I 'm having the most trouble here.

(c) They can overlap and there can be gaps between the shards, and they do need to be morphed to better fit the sphere. In a way, I am trying to digitally recreate work done by a Korean artist

How do you map and orient breps to another geometry? Thanks!

Views: 593

Attachments:

Replies to This Discussion

Hmm

If I got it correctly your issue is how to get "pieces" (out of some breps) and put them into another brep (BTW: a sphere can't emulate the porcelain freaky Korean thingy) where:

(a) as much as possible pieces are used.

(b) the sum of the used breps (i.e. pieces) "engulfs" the target brep as "closely" as possible ... yielding as minimum "gaps" as possible.

Is this description correct?

BTW: Orienting them without taking into account the whole collection means nothing: this is a freaky 3d packing puzzle so to speak (Google: bin packing to get the gist of "normal" similar solutions that are highly on demand these days),

BTW: Is rather most unlikely that you can solve this without coding ... but let's pretend that you can.

 

Pretty much!

The sphere is a base geometry but let's stick to it for now.

(a) yes. 

(b) yes. I imagine then maximizing the sum of surface intersection areas with the sphere? This might then eventually require a solver like galapagos.

(c) I was thinking that this could be done somehow through bounding boxes. Perhaps you divide up the surface and then replace each divided surface with the breb. Then you allow the centroid of the largest surface of the brep to move along the surface of the sphere and run a solver to max "coverage", but then you still have to orient the brep. So...I'm at a loss.

(d) It's a bit of a tricky thing! Any advice on how to think this through? 

Thank you! 

Well ..

I've discussed the whole "artistic" 3d packing puzzle of yours (BTW: if this is art of some sort > then I've missed something BIG, he he) with a couple of fellas: Me, Myself and the Lord (of Darkness),

They said:

1. The only way to do that is an ability to interactively modify pieces (on a per piece basis). In plain English: emulating the way that the actual "artistic" ... ugly thing is made in real-life.

2. This is impossible to do with native components, easy with code (C# in my case). 

3. Why? Well ... because each time that something (a single component or a bunch of components) executes in GH you get volatile data related with a particular collection as a whole (for collection read: the sum of the broken $#%$# pieces in 3d space). But ...what you actually need is an ability to store (as persistent data) EACH step related with EACH piece ... thus controlling the placement of EACH piece on a per piece basis.

4. The fact that you don't actually know what blob could "host" better all the broken pieces ... adds to the pleasure. A classic trial and error procedure, that is (like tuning a Harley Davidson > avoid at any cost). Of course if you can tolerate a bit (with regard the gaps) there's many blobs that could "host" the pieces thus the only guideline is some sort of aesthetic evaluation of the insofar done combo (meaning that whilst on the making is more than probable to change your mind > meaning that the whole procedure should provide a "back trace" ability as well). 

They also said:

A demo C# that does interactively that #%$%$# thingy could be provided ... but ... er ... would this guide you to some Nirvana or to a Nightmare? (you tell me).

Moral: This case is simply another pile of worms (or another brick to the wall).

Not a pile of worms!

Sorry it's taking me a while to reply ; I've been working away on this script. Thanks for consulting the lord of darkness on this one! I've opted for the easy way out and faking the breaks with a branching script projected onto the results of a morphed sphere/brep script. The results are still pretty fabulous...and maybe even not an"ugly" type of art . Thanks again for the pointers! 

Hi,

Just to answer to your last question: "How to map and orient breps to another geometry?" a good start is to follow the tutorial made by Andy Payne and Lift architects. You can download it there and it s on page 79:

http://www.liftarchitects.com/blog/2009/3/25/grasshopper-primer-eng...

ah good idea! I'll take a look. Thank you!

It also works easily with different Breps, you can create as many geometry you want and map them randomly. You just have to be careful with your list organization! 

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service