Just draw a rectangle that touches the edges of the ellipse, and then use Ellipse->Diameter with the mid snap on.
Oh I wish the pics were as clear cut as that
I will remember that though, as whatever angle a circle is photoed at, the elipse can be horiz as such.
Its wreckage of something with a bend that was circular, I can but place points at what I think are the locations around the circular bend then get a best fit elipse.
You should post specific examples then, because when you say:
it makes people think that you have photos of circular items taken at an angle and you want to draw an ellipse through them.
I thought this had described that I had drawn points along what was an eliptical shape, sorry if it wasnt clear enough.
through points that are eliptical. an eliptical array of points seems descriptive enough to me ?
In the simplest case, if you have photos of circular objects at an angle, then putting points along the curve is a total waste of time. The only thing that matters when drawing a true ellipse is the size and location of the major and minor axis. If your example is more complicated than what I posted, you should post a picture.
an example as requested.
I am now working on a photo to do some 2D drafting sussing location of some nuts and again need an elipse through what I can see.
Here is a trace of the elipses in the picture ( I am unable for reasons I cannot go into, to post the actual picture)
I might at times also have points rather than the trace if I see areas of the elipse not enough to draw with Interp curve tool.
The item is an aircraft spinner and thus circular, the circles thus have a common axis. I need to find that axis.
The rearmost edge seems to have a slight knock so might throw results. the other two should be enough.
Only part of the spinner is visible, a circle photographed at an angle is an elipse we would think, though one could get into a deep debate over effect of perspective, focal lengths etc, maybe elipses only exist in geometry slight inacuracies dont matter in this task.
I need to put elipses to these partial elipses, the gap is where the blade is in the way. a line through their centres is my spinner axis.
Partial elipse visible find centre.3dm (31.8 KB)
I’d make an ellipse or circle, some place. Then with Gumball set to align ;To object’ maneuver the ellipse rotating & scaling on one axis at a time with gumball until it fits the clearest and best ellipse segment in the image. The rest will be scaled copies moved along the short axis, to which Gumball will conveniently line up.
GumballAlignment command click object, got that far !
Cant get the hang of this though, I am unfamiliar with Gumball and in need of practice. This is a visual alignment as opposed to getting any snaps I assume ?
I can make my circle go eliptical one axis at a time, adjust its height, move it so elipse top matches the target curve VISUALLY, drag green square to alter height and the top of the elipse moves from where I placed it when I was wanting to extend it downwards wishing to keep top where it was, no snaps here so top is a visual placement , I am used to snaps, surprised rhino in its original toolset has no click click click along an elipse type shape and a best fit elipse occurs to that. a tail chase is developing, it keeps moving, just me being unfamiliar I guess.
Gumball scaling is always about the Gumball’s pivot point, which is by default at the bounding box center of the object. You can move the pivot point by holding down the control key, dragging the pivot point and letting up on the control key before you release the mouse button so it can snap somewhere else.
You don’t HAVE to use the gumball, there is also Scale1D and the Knot osnap and a million other tools in Rhino. You’re matching to a photo for pete’s sake, you’ll have to use your judgement at some point.
My hunch is that mathematically speaking, what you’re expecting here is impossible. I think in order for this to work with any sort of accuracy, you need to be able to see significantly more than 1/2 of the ellipse (2/3 or so), because you need to be able to sort out the major and minor axis of the ellipse. If you only have 1/2 of the ellipse, there is no guarantee that the line across the the center equates with the major axis. It’s sort of like saying “I have two points on the perimeter of a circle, can I fully define the circle? No.”
All that being said, Pascal’s suggestion to use the gumball and scale/rotate/move a circle so that it lines up with your photographic data is the only approach that makes any sense at all. As I said before, if you want to create an ellipse, there is no purpose to hand picking points along a photograph and then doing a fit curve to those points. The only thing that approach leads to is madness. At least with Pascal’s method, you end up with an actual ellipse.
Indeed some judgement is needed here, and some reasonable approximations. Without knowing the actual purpose of this exercise, it’s all a bit in the air… in the following, bounding box was used to approximate major axes of the large ellipses
I think raja has it as close as is possible with that given data.
If you have more complete data, you can do something like what I’ve done in the attached file. (You can just turn on/off the layers top to bottom to see the progression)
I drew an ellipse, and then rotated it at a random angle. I then drew a line across part of it, that cuts it at a random angle. I rebuilt that curve, so that the original “data” is lost - this is to represent the “dumb” data of the photograph, so you can’t just cheat, turn the points on and get all the info you need. I then did Line->Perpendicular->2Curves and picked both sides of the ellipse, roughly near where the major axis is. Then I drew a line perpendicular from the mid point of the major axis, to create the minor axis. Then I used Ellipse-From Center, using the Major-Minor axis geometry. So for this method, you’d have to trace the photo in the area of major axis on both sides in order to Line->Perpendicular->2Curves to work. Sounds like a lot of work, right? Personally, I’d rather just do what Pascal says - use the Gumball and Move/Scale/Rotate a circle so it matches with the photo data.
It should be pointed out that ALL of the methods suggested here by myself and others are different ways of getting to the exact same data - the major and minor axes of the ellipse.
The problem with having only half the ellipse as you do is that there is no guarantee that either the major or minor axis is shown. So, it’s basically a best guess at that point. raja’s best guess is a good as it gets imho.
InferredEllipse.3dm (54.9 KB)
Pascal, sorry I didnt realise, I took it that the gumball usage had extra powers to solve this, not knowing of its secrets, and yes I went over to using scale1D to keep the top etc, still tricky though, as I said unfamiliar with gumball, so please excuse me there, now wiser on the centre move, cheers Mitch.
Skyg agreed need at least half an elipse in this case, which was more of an extreme compared to previous tasks regards what was viewable.
as you say Pascals method is the best approach here.
I was thinking axis horiz, of course, angle it to what we do have. I had in my mind established a rule that the axes would have to be horiz and vert, because if one photos a circle thats where the elipses axes would be, but you have a spinner showing result valid, and in fact the curvature is visually like the original.
So one could look for an axis on an angle and progress with that.
Purpose of exercise was too involved to explain fully but I had need to establish the location and angle between some nuts on the spinner backplate and needed to draw lines from them to the spinner centreline/thrustline to assist.
A lot I see viewing this task, assume they also need to know, so hope its proving useful,
It is possible with math to find the equation of an ellipse which is the best fit to a set of six or more points, even if all the points are located in a single quadrant of the ellipse and neither major nor minor axis is visible. This is similar to how Rhino can find the circle which fit through any three points using Circle with the FitPoint options. An ellipse requires a minimum of six points compared to a circle which only requires three. Currently it appears that Rhino does not have this capability for ellipses.
An algorithm for fitting the ellipse using a minimum of six points could work like this:
- Determine the plane of the ellipse. Rhino already has this capability in PlaneThroughPt.
- Pull the points onto the plane.
- Set a temporary physical (not parameter) coordinate system with two axis on the plane…
- Find the equation of the ellipse on the plane in the temporary coordinate system which minimizes the error in distance between the ellipse and the points. This is a six variable, non-linear regression problem which will need iteration to solve.
- Transform the equation of the ellipse into NURBS format in the original coordinate system.
Edit - Step 2) put in.
Yea, I briefly looked at some literature like this one before answering further up:
It spoke of an optimization problem and thus I thought of Galapagos in Grasshopper. Of the two definitions posted in by others in this thread, I find that David’s is very easy to use…
I don’t have any trouble getting sub-2mm accuracy by just using a diam ellipse to recreate this broken tracing of an ellipse. Yes would be lovely to have a more automatic option such as available through the ‘circle _3point’ command, but whatever.
attached an example of need for ElipseThroughPoints command as easily selected as circleThroughPoints.
I have to establish the size of an eliptical tank and can only see indication of its welding onto a bulkhead.
Anyone care to solve the fit of the eliptical tank weld I can see traces of, to establish best fit elipse ?
The outside edge of the tank will be at the inner weld points, but there is more of the outer weld edge visible, so I shall adjust the blue based on results from blue and red.
Centre axis elipse is shown, blue outer lines represent the known width and top.
I just wish we had a simple command . with 886 views a few others might also be interested !
RequirementElipseThroughPoints.3dm (46.5 KB)
amended original 3dm as points lower left were spurious !
Do you know enough about the dimensions of the real object that you could model it in an orthographic view based on circles then rotate it in space to derive your ellipse using Make2D?
I know its width but not height,
how would I do that, create a circle at 90 deg to the elipses plane then rotate circle3d whilst looking at it in a different ortho until a visual match, how do I get it to fit points, visual ?
When CAF is a mathematical geometry sort of thing, visual seems a little basic.
Do any CAD progs have elipseThroughPt ?