13
$\begingroup$

The box that an ellipse fits is easily calculated if there are no rotation, or if the rotation is ${x*90^o}$ (where x is an integer) is easy.

For a (major radius) and b (minor radius), it is :

Xmax = a
Ymax = b

or it is :

Xmax = b
Ymax = a

But how to do it in a general case, when the rotation angle is not a multiple of 90 degrees?

The limits to ellipse are like on the next image:
ellipse box

I am given all ellipse's parameter (as described in wiki) :

  1. ellipses formula:
    $x_{0}=a\cdot \cos (\varphi )$
    $y_{0}=b\cdot \sin (\varphi )$
    • where: a=major radius, b=minor radius, $\varphi \in [0,\pi ]$
  2. rotation formula:
    $x_{1}=x_{0}\cdot \cos (\Theta )-y_{0}\cdot \sin (\Theta )$
    $y_{1}=x_{0}\cdot \sin (\Theta )+y_{0}\cdot \cos (\Theta )$
    • where $\Theta$=ellipse's rotation

All parameters (a, b and $\Theta$) are known.

If you like you can also use the canonical form for ellipse: $\frac{x^2}{a^2}+\frac{y^2}{b^2}=1$

$\endgroup$
3
  • 1
    $\begingroup$ What exactly are you given? E.g. do you have the equation for the rotated ellipse? $\endgroup$ Dec 13, 2011 at 15:58
  • $\begingroup$ @QuinnCulver I added equations. Hope it is enough. btw I am looking for any kind of help on how to find the solution (I thought I finished with math 10 years ago ;) $\endgroup$ Dec 13, 2011 at 20:33
  • 2
    $\begingroup$ My solution to a related question: math.stackexchange.com/a/33555/409 (You can stop reading when you get to "$x_\star$" and "$y_\star$".) $\endgroup$
    – Blue
    Dec 14, 2011 at 2:13

3 Answers 3

20
$\begingroup$

The previous answerer had the right idea, but the wrong execution. We have, for the rotated ellipse

$$\frac{(x\cos\,\theta-y\sin\,\theta)^2}{a^2}+\frac{(x\sin\,\theta+y\cos\,\theta)^2}{b^2}=1$$

the following expression for the derivative:

$$\frac{\mathrm dy}{\mathrm dx}=-\frac{a^2 x\,\sin^2\theta+y(a-b)(a+b)\sin\,\theta \cos\,\theta+b^2 x\,\cos^2\theta}{a^2 y\,\cos^2\theta+x(a-b)(a+b)\sin\,\theta \cos\,\theta+b^2 y\,\sin^2\theta}$$

We can separate the numerator and denominator of this expression, and equate any of the two to zero, and then solve as a simultaneous equation with the equation of the ellipse. (Zero numerator corresponds to horizontal tangents, and zero denominator corresponds to vertical tangents.)

After much algebra and tears, we find that the required limits are $x=\pm\sqrt{a^2\cos^2\theta+b^2\sin^2\theta}$ and $y=\pm\sqrt{a^2\sin^2\theta+b^2\cos^2\theta}$.

This could also have been done starting from the parametric equations; for that route, one will need to use the Weierstrass substitution so that one has the rational parametrization of the ellipse, and the problem is reduced again to the solution of algebraic equations.


Here is a Mathematica demonstration:

With[{a = Sqrt[2], b = 1, th = Pi/6}, 
 Block[{xa = Sqrt[a^2 Cos[th]^2 + b^2 Sin[th]^2], 
        ya = Sqrt[a^2 Sin[th]^2 + b^2 Cos[th]^2]}, 
       ParametricPlot[
         RotationMatrix[th].{a Cos[u], b Sin[u]}, {u, 0, 2 Pi}, 
         Epilog -> {AbsoluteThickness[4], 
         Line[{{-xa, -ya}, {xa, -ya}, {xa, ya}, {-xa, ya}, {-xa, -ya}}]}
      ]]]

ellipse in rectangle

$\endgroup$
5
  • $\begingroup$ Can you please explain why you differentiate y with x in the second step? $\endgroup$ Aug 23, 2017 at 11:36
  • 1
    $\begingroup$ Because we want to get the slope of the tangents. $\endgroup$ Aug 23, 2017 at 11:39
  • $\begingroup$ Thanks, can you please also explain what will happen if ellipse is translated to some arbitrary point. $\endgroup$ Aug 23, 2017 at 11:45
  • 1
    $\begingroup$ The formulae will change due to the shift, but the strategem of differentiating implicitly remains sound. I invite you to do the experiment yourself. $\endgroup$ Aug 23, 2017 at 11:50
  • $\begingroup$ @J.M.isn'tamathematician is it possible to find intersection points of bounding box and the ellipse as like a formula you provided? for example how do you define the y point correspond to x_max? $\endgroup$
    – Tyr
    May 12, 2021 at 13:47
7
$\begingroup$

You don't need calculus here, just a little geometry.

Let $c$ be the (positive) $x$-coordinate of the vertical tangent, and let $d$ be the (positive) $y$-coordinate where the rotated ellipse meets the $y$-axis. Apply a vertical shear transformation, of the form $(x,y) \mapsto (x,y+ux)$, to transform the rotated ellipse into an ellipse with horizontal major axis $c$ and vertical minor axis $d$. This transformation is area-preserving, so $\pi cd = \pi ab$. Thus $c = ab/d$.

To find $d$, take the equation of the rotated ellipse (filched from J.M.'s answer):

$$\frac{(x\cos\theta-y\sin\theta)^2}{a^2}+\frac{(x\sin\theta+y\cos\theta)^2}{b^2}=1$$

and set $x = 0$:

$$\frac{(d\sin\theta)^2}{a^2}+\frac{(d\cos\theta)^2}{b^2}=1$$

Hence

$$\frac{d^2}{a^2b^2}(b^2\sin^2\theta+a^2\cos^2\theta) = 1$$

giving

$$c = \frac{ab}{d} = \sqrt{b^2\sin^2\theta+a^2\cos^2\theta}$$

Similarly, using a horizontal shear transformation, the $y$-coordinate of the horizontal tangent is $\sqrt{a^2\sin^2\theta+b^2\cos^2\theta}$.

$\endgroup$
1
  • 2
    $\begingroup$ "You don't need calculus here, just a little geometry." - I agree (+1), but I felt like nuking mosquitoes today... :) $\endgroup$ Dec 14, 2011 at 4:15
0
$\begingroup$

Let the equation of the ellipse be $\frac{X^2}{a^2}+\frac{Y^2}{b^2}=1$ in the rotated frame. The equation of tangent at parametric coordinate $\alpha$ becomes after rotation to the original frame $$ x\left(\cos\theta \cos\alpha/a+\sin\theta\sin\alpha/b\right)+y\left(\cos\theta \sin\alpha/a-\sin\theta\cos\alpha/b\right)=1$$ We need the tangents with slope 0 and inf. This gives the required lines as $$x=\frac{ab}{a\sin\theta\sin\phi+b\cos\theta\cos\phi}$$ and $$y=\frac{ab}{b\sin\theta\sin\phi+a\cos\theta\cos\phi}$$ where $\tan\phi=\frac ab\tan\theta$.

$\endgroup$
1
  • 1
    $\begingroup$ This seems to have the wrong behaviour in the case $\theta=\pi/4$. In that case, we should have $x=y$, but setting them equal yields $(a-b)(\sin\phi-\cos\phi)=0$, which doesn't hold for $a\ne b$. $\endgroup$
    – joriki
    Dec 13, 2011 at 17:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.