Module to find the vertices of an hexagon inscribed in an ellipse given its centre, half side-lengths and orientation angle. More...
Prototypes | |
void | LALHexagonVertices (LALStatus *status, HexagonOut *out, RectangleIn *in) |
Module to find the vertices of an hexagon inscribed in an ellipse given its centre, half side-lengths and orientation angle.
out,
Output. in,
Input. This code computes the vertices of an hexagon for plotting a grid of templates with xmgr, useful when looking at the minimal-match-Hexagons around mesh points in a template bank. Used by SpaceCovering in the test directory.
Given the centre \((x_0,y_0)\) and half-sides \((dx,dy),\) the vertices of a Hexagon in a diagonal coordinate system are given by
\begin{eqnarray} x_1 & = & x_0 - dx, \quad y_1 = y_0 - dy, \\ x_2 & = & x_0 + dx, \quad y_2 = y_0 - dy, \\ x_3 & = & x_0 + dx, \quad y_3 = y_0 + dy, \\ x_4 & = & x_0 - dx, \quad y_4 = y_0 + dy. \end{eqnarray}
The coordinates of a Hexagon oriented at an angle \(\theta\) is found by using the formulas
\begin{eqnarray} x' = x \cos(\theta) - y \sin(\theta), \\ y' = y \cos(\theta) + x \sin(\theta). \end{eqnarray}
The function returns 7 coordinate points (1,2,3,4,5,6,1), and not just the 6 verticies, to help a plotting programme to complete the Hexagon.
None.
Definition in file LALHexagonVertices.c.