Grasshopper

algorithmic modeling for Rhino

Help wrapping Bounding box around tetrahedral to morph onto surface

Hey guys,

I'm very very new to all of this :)

I found a script which loops a scaling relationship for a tetrahedral shape in a fractal way. (It partially uses Anemone)

What I now want to do is project this form onto a surface. I am attempting to use a morph box component with a bounding box component for my geometry.

I have hit a few problems with this.

As the tetrahedral form is actually multiple closed breps I thought that maybe this was causing troubles. So I grouped and unified the adjacent breps within my bounding box. 

I am still now having issues with the alignment of the geometry within my BBox (see below) as it is projected into my triangular panels. It seems as though the geometry is being smooshed in because the alignment is not right. I want the tetrahedral geometry to tessellate snugly within the triangular panels which I have set up.

To set up my triangular sub surfaces (of my wall) I used a triangular panels component from lunchbox as it had the desired look I was going for.

I thought that perhaps I could extract the vertices of each triangular panel sub surface so that I could use them to inform my surface boxes. Then I was going to try to make a custom Bounding box for my tetrahedral which could align with my surface boxes. 

I have been reading forums and watching videos for days but I just can't seem to fix this! I am sure there are issues with my script and the logic, so my apologies for the mess! But if anyone could shed some light on this, it would be amazing!

Thanks :)

Views: 2221

Attachments:

Replies to This Discussion

Yes, box morphing tends to not obey midpoints, if that's the problem, so things won't match up. I haven't looked at your system in detail, sorry.

I ran into a tetrahedral morphing VB (Visual Basic) script once upon a time and have it here, used to populate target circles with an ornament. The script accepts simple source and target tetrahedron vertex points. I can't remember why but box morphing failed to let me control height or something.

You will have to create an apex tetrahedron point for source and target triangles, perhaps by mesh normals or create single mesh faces to use that to get a center normal and move up along the normal scaled by perhaps the face area.

Interesting that the script is just math to create a transformation matrix for the mysterious Transform component. I found the reference:

http://www.grasshopper3d.com/forum/topics/mapping-a-shape-between-t...

Attachments:

Oh my, you're creating weird target boxes squished into triangles. My original critique thought of the problem as fitting a bounding box around each triangle, which tend to fail to align midpoints of the source and target boxes where the third triangle vertex lies. So you are actually distorting the hell out of the source object by doing that, squishing it.

It's worth a try with bounding boxes to see if that's good enough. Manually constructed bounding boxes I mean, so they are aligned with the triangles instead of with the world coordinate grid system, aligned with one box edge sharing one triangle edge identically. Call it the thinking outside the box solution, since the box lies much outside the triangles.

Here is tetrahedral morphing for your system though:

The target tetrahedron heights are not being scaled to size, really, just a fixed multiple of the face normal vector.


To make your original system work even approximately, you'd have to make the source box also squished to fit the original pyramid base, but the tip of the base would stick out and so be ill defined, being outside the box.

Attachments:

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service