Grasshopper

algorithmic modeling for Rhino

Does anyone know how to find a plane tangent to three ellipses in 3d space?

There should be two possible planes for each 3 ellipses I think.
Finding these planes would be useful for me when constructing developable surfaces.
Please see attached model as well. Thanks!

Views: 1262

Attachments:

Replies to This Discussion

Marten,

This is a pretty interesting situation. This might be a better one for the Rhino newsgroup, or even the Rhino Plugins newsgroup. The only thing I've got is some very deep iteration to get this solved, but some of those guys there may be offer a better algorithmic solution.

-Damien
Hi Mårten,

there's not just 2 answers. Imagine slicing a cylinder with three planes. This will give you three ellipses which -between the 3 of em- have an infinite number of tangent planes solutions.

Whatever the algorithm is that you end up with, it has to be smart enough to deal with these cases as well.

I think the Rhino newsgroup would indeed be a better place for this. Pascal and Lowell both know a lot about developable surfaces and they don't hang out here.

--
David Rutten
david@mcneel.com
Seattle, WA
Thanks Damien and David!
I'll try this in the Rhino Newsgroup.

Just to clarify: I say ellipses, but eventually I would like to use any three ellipse-like curves.

Finding a plane tangent to two ellipses (or curves) is equivalent to finding a ruling line for a developable surface, right? Therefore I guess similar techniques may work even in this case.
David, you're right, there will be some special cases that produce more than two planes. Those cases may actually be interesting as well, but should be easy to avoid when placing the ellipses, I think.
Is your plan to rule surfaces between the ellipses like the grey lines in that rhino file?

Because those will not generally be developable unless the ellipses are sections of a common cone.
Hi Daniel.
Yes, the plan is to loft the grey lines and get a developable surface (need some more lines though, the ones in the model are just for illustration). It usually works really well.
Imagine several thin cone segments with varying curvature and focal point, put together. Like this:
Developable surfaces & sketch models.
Oh I see now. Very nice work
Thanks. The triangle I'm looking for (the plane tangent to three curves) will allow three developable surfaces to meet in a T-joint, like in this model:

Three developable surfaces joined by a flat triangle

There is another similar shape possible, upside down, but in this model it was left uncovered

This can reduce the number of edges and vertices in a form.
I took a quick look at your website. Maybe you should think about learning some Origami. It could be of great help to your research. Enjoy.
Thanks Theunis, that might be a good idea. It sure is fun with origami!
How do you then find the correct ruling for the curved parts ?

Isn't that the more difficult part? Because if you can find those then you can use their intersections to find the triangles:


Perhaps something like this algorithm
Daniel, I think you're right: Finding the developable surfaces between pairs of these ellipses will when intersected produce the tangent planes I'm looking for. So I guess that answers my original question. Thanks!
However, if the model is a little more complex than just those 3 ellipses, this approach may not work. For example, look at the photo I attached earlier of the wire model covered with paper. Finding those triangles break the model up into parts that are (fairly) easy to cover with developable surfaces.
I realize though that it will be very tricky to get a computer to understand what kind of topology the model is made up of, when just providing a bunch of curves (or perhaps just one continuous curve like in the photo.
Thanks for the link to the page by Mitsuhiro Itakura. It looks interesting. The rail curves in the examples are planar though, I'm not sure why that is necessary.
Jess Maertterer solved this with a script. You can read his post in the Rhino newsgroup here.

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service