XMM-Newton SAS Home Page
XMM-Newton Science Analysis System


ssclib (ssclib-4.36.1) [xmmsas_20230412_1735-21.0.0]

`Rotated' and `phase' formats

Dealing with ellipses is complicated by the fact that there are at least two convenient ways to parameterise an ellipse, which I will call the `rotated' and `phase' forms. In the `rotated' form the ellipse is specified by two semiaxes $R_x$ and $R_y$ and a an angle of rotation $\alpha$. In these terms the ellipse is specified most transparently by three equations:

  $\displaystyle
\frac{x_0^2}{R_x^2} + \frac{y_0^2}{R_y^2} = 1
$ (2)
$\displaystyle x = x_0 \cos(\alpha) - y_0 \sin(\alpha)
$
$\displaystyle y = y_0 \cos(\alpha) + x_0 \sin(\alpha).
$

The ellipse in `phase' format is specified by two amplitudes $A_x$ and $A_y$ and a phase $phi$ by two parametric equations in $theta$ as follows:

  $\displaystyle
x = A_x \cos(\theta)
$ (3)
  $\displaystyle
y = A_y \cos(\theta + \phi).
$ (4)

If an ellipse is thought of as a squashed circle, $theta$ is the angle around the original circle.

Rotations of coordinate system are easily accommodated in the `rotated' format; changes of aspect ratio of the coordinate system are better accommodated in the `phase' format.

Subroutines are given for translating between the two formats:

  subroutine ellipsePhaseToAngle(xAmp, yAmp, phase&
    , shortSemiAxis, longSemiAxis, rotatedAngle)

    real(single), intent(in)  :: xAmp, yAmp, phase
    real(single), intent(out) :: longSemiAxis, shortSemiAxis, rotatedAngle
  end subroutine ellipsePhaseToAngle

  subroutine ellipseAngleToPhase(shortSemiAxis, longSemiAxis, rotatedAngle&
    , xAmp, yAmp, phase)

    real(single), intent(in)  :: longSemiAxis, shortSemiAxis, rotatedAngle
    real(single), intent(out) :: xAmp, yAmp, phase
  end subroutine ellipseAngleToPhase

XMM-Newton SOC -- 2023-04-16