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
Tags:
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
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
This script uses more samples and is able to find more of the isosurface intersections.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
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
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by