Grasshopper

algorithmic modeling for Rhino

Hi everyone,

 

Could someone point me in the right direction? I need some help:

 

I have two ovoids and am trying to figure a way of "blending" the two. Kind of the same way metaballs work but instead of sampling points in a circular area, the idea would be to apply it to ovoids.

 

Image 1 shows two closed curves in oval forms. In reality, the curves should be ovoids (symmetrical on only one axis) and not ovals. But anyways, in blue are the closed shapes that we start with and in red, the corresponding curves that I am trying to achieve.

 

Image 2 shows this in 3D form. The modeling was done by just a simple revolution but obviously the initial curves aren't right.

 

Image 3 shows more or less the final form. The two egg shapes aren't on the same axe and are deviated from each other. I would imagine that I would try and find the point of intersection of the main axis of symmetry of each and then find a way of creating the isocurves. 

 

What I am trying to achieve in the end is a catwalk or a connection space between two egg shaped spaces. The idea is that the structure of each spaces can then flow through one and the other creating this catwalk.

 

Oh boy, I am not even sure I'm making sense. But thanks to anyone if you have some thoughts.

 

Image 1

Image 2

 

Image 3

 


Views: 2651

Attachments:

Replies to This Discussion

Hey,

 

I think you are on the right way. I have made a dirty and fast definition. Move the first Slider to understand the idea.

 

Best Regards

 

DeDackel

Attachments:

Hey DeDackel,

 

Yeah definitely a quick way to forming a connection. But what about when the shapes are not on the same axe?

 

Best,

 

Ben

What you're describing isn't technically a metaball, but a Connolly surface. Connolly surfaces are very popular in molecular chemistry and there's unfortunately no known algorithm to create them analytically.

 

http://www.netsci.org/Science/Compchem/feature14e.html

 

If you were to implement this as a metaball, then the proximity of Ovoid A would 'grow' Ovoid B where they are closest.

 

The Metaball algorithm in Grasshopper is located in GH_Util.dll and therefore not immediately accessible from a VB/C# script component, though the assembly reference could be added. It is technically possible to use the existing algorithm to create custom shape metaballs, you'll just need to supply a function that can solve the field potential at any given location. This is not exactly trivial, I wrote a small proof-of-concept script (attached), that uses CurveClosestPoint to construct metaballs around curves.

 

You'll need to repair the assembly reference as it's unlikely my GH_Util.dll is in the same place as yours. To do so, open the menu of the VB component, click on "References Assemblies..." add the actual GH_Util.dll on your machine and remove the current reference.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

 

 

Attachments:
This link is really usefull and thanks David.

This script uses more samples and is able to find more of the isosurface intersections.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

 

Attachments:

Here are my results:

 

It's pretty neat! 

 

so to create a reentrant surface, is it always necessary for the initial curves to expand (threshold) until the intersecting isocurves are found?

Thanks for the paper David! I'm going to read up on it this afternoon. 

 

And I haven't gotten a chance to open your gh files as I have to download the new version of GH.

 

But I thought I'd share where I'm at right now: I assumed that treating this problem through a singular algorithm would pose certain difficulties and that in the end, I might not be happy with the end result.

 

I attempted a "solution" by using the tangents of the isocurves at specified points and moving those points along that vector. With those four points (point on isocurve, displaced point x 2 because of the other egg) I created a (control point) curve which defined my surface connection through loft. 

 

This gives me a number of controls on the curvature of the "connection" by displacing the points closer or further away on the axis of convergence of both shapes to their intersecting point. 

 

Though this gives me the "effect" I need, I still have to align the curves correctly to get a proper base for a sound structure.

 

Image 4 

 

Attachments:

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service