Given two tangents and the sweep angle, how to determine the ellipse

conic sectionsgeometry

I have an ellipse that is defined by two known tangent points (A and C that converge at a known B), and an angle, θ (always <180º) representing ∠ADC where D is the center of the ellipse (but D is unknown).

How do I determine the parameters of the ellipse from this data?

enter image description here

Best Answer

We can generate a one-parameter family of conics that pass through $A$ and $C$ and have the correct tangents there by taking an affine combination of two degenerate conics: the pair of tangent lines and the double line through $A$ and $C$.

Let $\mathbf a$, $\mathbf b$ and $\mathbf c$ be homogeneous coordinate vectors of points $A$, $B$ and $C$, respectively. Set $$Q_1=(\mathbf a\times\mathbf b)(\mathbf b\times\mathbf c)^T+(\mathbf b\times\mathbf c)(\mathbf a\times\mathbf b)^T.$$ This symmetric matrix represents the two tangent lines. For the double line through $A$ and $C$, we have $$Q_2 = (\mathbf a\times\mathbf c)(\mathbf a\times\mathbf c)^T.$$ These generate the one-parameter family of conics $Q(\lambda) = (1-\lambda)Q_1+\lambda Q_2$. Since this is a linear combination of $Q_1$ and $Q_2$, it includes all of the points that those two conics have in common, so in particular it passes through $A$ and $C$. The extension of the chord of contact of the tangents through $B$ is its polar $Q\mathbf b = \lambda(\mathbf a\times\mathbf c)(\mathbf a\times\mathbf c)^T\mathbf b$, which is clearly a nonzero scalar multiple of $\mathbf a\times\mathbf c$ when $\lambda\ne0$, so it is the line through $A$ and $C$ as required.

The center of $Q(\lambda)$ (when it does have a center), turns out to be ${1-\lambda\over1+\lambda}B+{\lambda\over1+\lambda}(A+C)$. Reparameterizing by setting $\mu=(1-\lambda)/(1+\lambda)$ produces $$D=(1-\mu){A+C\over 2}+\mu B \tag1$$ so all of the centers lie on the line through $B$ and the midpoint of $AC$. If $\mathrm m\angle{ADC}=\theta$, then $P$ satisfies $$\left((A-D)\cdot(C-D)\right)^2 = \lVert A-D\rVert^2 \lVert C-D\rVert^2 \cos^2\theta. \tag2$$ With the parameterization in (1), both sides of this equation are quadratic in $\mu^2$, so solving for $\mu$ should be straightforward, albeit messy. This overgenerates solutions, though: select one for which the midpoint of $A$ and $C$ lies between $B$ and $D$, i.e., $\mu\lt0$ ($\mu\ge0$ does not produce ellipses). Substitute back into $Q$ to get the conic in general form and then use standard techniques for extracting semiaxes and other desired parameters from it.


Once we know that the ellipse’s center lies on the line through $B$ and the midpoint $M$ of $AC$, we can instead proceed in several relatively simple stages.

  1. Construct circles centered at $A$ and $C$ with radius ${\lvert AC\rvert\over 2\sin\theta}$.
  2. Find the intersection $E$ of these circles that lies on the opposite side of $AC$ from $B$. Alternatively, construct just one of these circles and intersect it with the perpendicular bisector of $AC$.
  3. Construct the circle with center $E$ that passes through $A$ and $C$.
  4. $\mathrm m\angle{AEC}=2\theta$, so for any point $F$ on the arc opposite $M$, $\mathrm m\angle{AFC}=\theta$. Find the intersection $D$ of this circle with the line $MB$ that lies on the same side of $AC$ as $E$. This point is the center of the ellipse.

You now have the center of the ellipse, two point on it and the tangents at those points. I’m sure that there are further geometric constructions for the ellipse from here, but analytically the problem devolves to solving a system of homogeneous linear equations. Setting $$Q=\begin{bmatrix}m_{11}&m_{12}&m_{13}\\m_{12}&m_{22}&m_{23}\\m_{13}&m_{23}&m_{33}\end{bmatrix},$$ we have the following constraints: $$\begin{align} \mathbf a^TQ\mathbf a = \mathbf c^TQ\mathbf c = 0 &\text{ (two points on the ellipse)} \\ (\mathbf a\times\mathbf c)\times(Q\mathbf b) = 0 &\text{ (tangents meet at }B\text{, so it’s the pole of }AC\text{)} \\ (0,0,1)^T\times(Q\mathbf d) = 0 &\text{ (polar of the center is the line at infinity)}. \end{align}$$ Here $\mathbf d$ is a homogeneous coordinate vector of the center point $D$. This system of homogeneous linear equations in the unknown elements of $Q$ is underdetermined and you should end up with one free variable that you can set to $1$ or some other convenient value. This will give you a general conic equation of the ellipse, from which you can proceed as above.