Determine position of ellipse that contacts two fixed ellipses

159 Views Asked by At

I'm working in a vector program with three identical ellipses, all of which additionally have the same angle of rotation. The first two are at the same Y coordinate and are tangent. I would like to position the third ellipse such that it is tangent with the first two. How can I calculate the third ellipse's position?

One solution good enough for my end goal has been to start with two circles, rotate a copy of one 90° along the intersection point, and then decrease the eccentricity of all three to the desired form. This gives me the result I'm looking for, but I'd rather know a more elegant and less procedural solution.

three ellipses

4

There are 4 best solutions below

6
On

If there is no other constraint on the position of the third ellipse other than bitangency, there are infinitely many solutions.

If you have enough with one solution, stretching three tangent circles is certainly the most elegant.

5
On

Ellipses are drawn with major axis parallel to x-axis.

The placement of ellipses results in anti-symmetry about lines drawn parallel to x-axis as shown making contact points at $y= \pm b/2, b$ is minor axis as shown around points P and Q.

AntiSymmetryConfiguration

A vertical positioning of ellipse would be attempted next and a general tilted position later.

When contacting ellipse has major axis vertical

By a property of ellipse connecting slope $\phi$ and angle at elliptic arc $\psi$ eccentricity $e<1$

$$ \frac{\cos \psi_1}{\cos \phi_1}= e\,; \frac{\cos \psi_2}{\cos \phi_2}= e\tag1 $$

$$ \phi_1+\phi_2=\pi/2,\,\sqrt{\cos \psi_1^2+\cos \psi_1^2} =e \tag2 $$

$$ \frac{\cos \psi_1}{\cos \psi_2}= \tan\phi_2,\, \quad \frac{\cos \psi_1}{\sin \phi_2}=e\, \tag3 $$

enter image description here

The detail at contact area is zoomed at right. $F_1F_2$ is of arbitrary length upto a scale factor of construction. The construction has been made to numerical values

$$ \psi_1=1.2,\,\psi_2=0.47, \phi_1=1.1, \,e= 0.798855 $$

in radians for the three ellipses. If the first of 2) is chosen different from $\pi/2$ then the resulting intruding contact ellipse can be computed and drawn to any inclination.

0
On

Let's suppose that the two input ellipses have their centers at $(x_0, y_0)$ and $(x_1, y_0)$, and that the major axis of each ellipse has length $b$. Note that the minor axis has length $a = \frac{x_1-x_0}{2}$ by tangency.

If you scaled your desired picture vertically by a factor of $s = \frac{a}{b}$, you'd see two horizontally-aligned tangent circles of radius $a$, and a third circle, tangent to both, slightly below them. The center of that third circle is at location $(x_3, y_3)$, where $$ x_3 = \frac{x_0+x_1}{2}, $$ and where the vertical distance from the first two circle-centers to the lower circle-center is $a\sqrt{3}$. When you unscale by the $s$ factor, this vertical distance is multiplied by $\frac{b}{a}$ to give $b\sqrt{3}.$ So the $y$-coordinate of the third ellipse-center must be $$ y_3 = y_0 - b \sqrt{3}. $$

Hence the third ellipse is at location $$ (x_3, y_3) = (\frac{x_0+x_1}{2},y_0 - b \sqrt{3}). $$

0
On

Let an equilateral triangle of side $2$. It has base $2$ and height $\sqrt3$. Three circles of radius $1$ centered on the vertices are tangent pairwise.

Hence by scaling, three ellipses of axis $a,b$ with their centers at the vertices of an isosceles triangle of base $2a$ and $\sqrt3\,b$ are tangent pairwise.

enter image description here

There is nothing "procedural" here.