Solve for ellipse from points with normals

jj5406

New member
Joined
Feb 3, 2016
Messages
2
Hello, I'm new to this forum.

I'm trying to find a clever trigonometric way to interpolate a smooth curve between points that has some basic trigonometric properties. Given two points and their normals, I could use a spline curve to get smooth function that goes through the two points and is perpendicular to the normals at those points, but that is unsatisfactory. I was thinking of trying to use conic sections like ellipses instead, and wondering if given two points and two normals, I could find an ellipse that goes through the points, with the ellipse normals being the same as (or inverse to) the point normals.

I understand that at least some cases have an infinite number of solutions (normals pointing in opposite directions), and some may have no solutions at all (see below), and some may have at least two solutions (not sure). I'm not sure if there generally are an infinite number of solutions. I'm thinking of the general case, so the ellipse can be centered anywhere (not just the origin) and have its semi-major axis at any orientation. The point normals could be pointing either inwards on the ellipse (converging rays) or outwards (diverging rays).

If there are a pair of points/normals for which there are just two unique ellipse solutions, is the curve between the points the same for both solutions? If the curve between the points is different, I guess I could get a unique solution by choosing the solution that has the smaller (or larger) semi-major axis

If it turns out that most solvable cases are unique (or have just two solutions), then I'd like to also think about the more difficult (I think) problem for the cases where there is no solution, of finding two ellipses that are tangent to each other, such that the curve between the two points follows one ellipse, then where they are tangent, switches to follow the second ellipse through the second point. In such a case, I think the normals would be facing outwards for one ellipse, and inward for the other

From the equations I tried writing down, it seems like I have more equations than variables (which is good), but they may not all be independent.

Here are my initial thoughts about the equations:

;; given points P1 = [PX1,PY1], P2 = [PX2,PY2], with normals N1 = [NX1,NY1], N2 = [NX2, NY2]
;; find ellipse {centered at C = [X0,Y0], semi-major axis A, semi-minor axis B, rotated THETA degrees
;; from the X axis} that goes through P1 and P2, with normals N1 and N2
;;
;; PX1 = A * cos(T1) * cos(THETA) - B * sin(T1) * sin(THETA) + X0
;; PY1 = B * sin(T1) * cos(THETA) + A * cos(T1) * sin(THETA) + Y0
;

;; PX2 = A * cos(T2) * cos(THETA) - B * sin(T2) * sin(THETA) + X0
;; PY2 = B * sin(T2) * cos(THETA) + A * cos(T2) * sin(THETA) + Y0
;;
;; NX1 = B * cos(T1) * cos(THETA) - A * sin(T1) * sin(THETA)
;; NY1 = A * sin(T1) * cos(THETA) + B * cos(T1) * sin(THETA)
;;
;; NX2 = B * cos(T2) * cos(THETA) - A * sin(T2) * sin(THETA)
;; NY2 = A * sin(T2) * cos(THETA) + B * cos(T2) * sin(THETA)


I don't know if it would be easier or harder, using the non-parametric form of the equation: aX^2 + bXY + cY^2 + dX + eY + f = 0. I'm not sure what the equations for the ellipse normals would be in that case, which is why I didn't try it that way :)

Any help on whether I can solve this problem for the general case, and if so, how to proceed would be a great help.

Thanks.

-J
 
Or if there are infinite solutions, find the one with smallest (or largest) semi-major axis, or eccentricity closest to 1, or something like that.

-J
 
Top