Changeset 4512 for trunk/doc/pslib/psLibADD.tex
- Timestamp:
- Jul 7, 2005, 5:55:45 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/doc/pslib/psLibADD.tex (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/pslib/psLibADD.tex
r4207 r4512 1 %%% $Id: psLibADD.tex,v 1.7 6 2005-06-10 03:25:46 eugene Exp $1 %%% $Id: psLibADD.tex,v 1.77 2005-07-08 03:55:45 price Exp $ 2 2 \documentclass[panstarrs]{panstarrs} 3 3 … … 1483 1483 \begin{center} 1484 1484 \psfig{file=rotations.ps} 1485 \caption{Definition of the rotation angles\label{rotations}} 1485 \caption{Definition of the rotation angles\label{rotations}. Three 1486 rotations are performed in series: first, a rotation of $\alpha_p$ is 1487 made about the $z$ axis; second, a rotation of $\delta_p$ (not $90 - 1488 \delta_p$ as shown) is made about the modified $y$ axis, $y'$; 1489 finally, a rotation of $\phi_p$ is made about the modified $z$ axis, 1490 $z''$. Note that it is the coordinate system that rotates, not the 1491 position of interest.} 1486 1492 \end{center} 1487 1493 \end{figure} 1488 1494 1489 \subsubsection{Quaternion Construction} 1490 1491 The following describes the algorithms needed to implement 3-D 1492 rotations in terms of quaternions. A quaternion is an ordered set of 1493 four numbers, $\bar{q} = (q_0, q_1, q_2, q_3)$. A rotation of angle 1494 $\theta$ about the axis defined by the unit vector $(v_x, v_y, v_z)$ 1495 has quaternion components: 1496 \begin{eqnarray} 1497 q_0 & = & v_x sin(\theta/2), \\ 1498 q_1 & = & v_y sin(\theta/2), \\ 1499 q_2 & = & v_z sin(\theta/2), and \\ 1500 q_3 & = & cos(\theta/2). \\ 1501 \end{eqnarray} 1502 Note that the sine and cosine are taken of the half angle of the 1495 1496 \subsubsection{Quaternions} 1497 1498 A quaternion is an ordered set of four numbers, $q = (q_0, q_1, q_2, 1499 q_3)$, which is useful for specifying rotations. A quaternion is made 1500 up of a three-vector which specifies an axis about which to rotate, 1501 and a scalar which specifies the amount of rotation. In the 1502 following, we call the final value, $q_3$, the scalar value; note that 1503 other sources (e.g., MathWorld) may choose to call the first value the 1504 scalar value. 1505 1506 The conjugate of a quaterion, $q = (q_0, q_1, q_2, q_3)$, is $\bar{q} 1507 = (-q_0, -q_1, -q_2, q3)$. Note that the vector components are 1508 negated, but not the scalar component. 1509 1510 \subsubsection{Quaternion for a position} 1511 1512 Given an angular position on the sky, $(\alpha, \delta)$, we can 1513 construct a quaternion by treating it as a unit vector in cartesian 1514 space: 1515 \begin{eqnarray} 1516 p_0 & = & \cos \delta \cos \alpha \\ 1517 p_1 & = & \cos \delta \sin \alpha \\ 1518 p_2 & = & \sin \delta \\ 1519 \end{eqnarray} 1520 and we set the scalar value to zero, $p_3 = 0$. 1521 1522 Given a quaternion, $p$, we can calculate the position using the 1523 inverse of the above equations: 1524 \begin{eqnarray} 1525 \phi & = & \atan(p_1, p_0) \\ 1526 \theta & = & \asin(p_2) \\ 1527 \end{eqnarray} 1528 Note that in this case, we neglect the scalar component of the 1529 quaternion --- it should be zero. 1530 1531 \subsubsection{Quaternion for a rotation} 1532 1533 A rotation of angle $\theta$ about the axis defined by the unit vector 1534 $(v_x, v_y, v_z)$ is specified by a quaternion with components: 1535 \begin{eqnarray} 1536 r_0 & = & v_x \sin(\theta/2) \\ 1537 r_1 & = & v_y \sin(\theta/2) \\ 1538 r_2 & = & v_z \sin(\theta/2) \\ 1539 r_3 & = & \cos(\theta/2) \\ 1540 \end{eqnarray} 1541 Note that the sine and cosine are taken of the half-angle of the 1503 1542 rotation. Note also that this implies that the quaternion components 1504 are normalized such that $| \bar{q}| \equiv q_0^2 + q_1^2 + q_2^2 + q_3^21543 are normalized such that $|q| \equiv q_0^2 + q_1^2 + q_2^2 + q_3^2 1505 1544 = 1$. 1506 1545 1507 The 3-vector representation of the angle of the pole is determined 1508 from the coordinate of the pole ($\alpha_p, \delta_p$) by: 1509 \begin{eqnarray} 1510 v_x & = & \cos \delta_p \cos \alpha_p \\ 1511 v_y & = & \cos \delta_p \sin \alpha_p \\ 1512 v_x & = & \sin \delta_p \\ 1513 \end{eqnarray} 1514 1515 \subsubsection{Combining Two Rotations} 1516 1517 Given two quaternions $\bar{a}$ and $\bar{b}$, there is a third 1518 quaternion, $\bar{p}$, which represents the result of first applying 1519 $\bar{a}$, and then $\bar{b}$. The components of $\bar{p}$ are given 1520 by: 1546 \subsubsection{Multiplication of quaternions} 1547 1548 Given two quaternions $a$ and $b$, there is a third quaternion, $p = 1549 ab$. The components of $p$ are given by: 1521 1550 1522 1551 \begin{eqnarray} … … 1527 1556 \end{eqnarray} 1528 1557 1558 Note that quaternion multiplication is associative (whether you do the 1559 left pair or the right pair first doesn't matter): 1560 \begin{equation} 1561 (ab)c = a(bc) 1562 \end{equation} 1563 but not commutative (you can't switch the order of the operands): 1564 \begin{equation} 1565 abc \ne acb 1566 \end{equation} 1567 1529 1568 \subsubsection{Rotating a Vector} 1530 1569 1531 You may rotate a unit vector by first constructing a quaternion 1532 $\bar{b}$, whose first three components are the components of the 1533 unit vector, and whose fourth component is zero. To rotate this vector 1534 by a quaternion $\bar{a}$, you apply the formula above for combining 1535 two quaternions. The rotated vector is found in the first three 1536 components of the resulting quaternion, $\bar{p}$. 1570 Rotation of a position is performed by constructing the quaternion for 1571 the position, $p$, and the rotation, $r$, according to the above 1572 equations, and calculating the product: 1573 \begin{equation} 1574 q = r p \bar{r} 1575 \end{equation} 1576 $q$ is the quaternion of the result. Note the use of the conjugate of 1577 the rotation quaternion. 1578 1579 A general rotation may be specified by three individual rotations 1580 about a predefined set of axes. We choose to specify rotations around 1581 the $z$, $y$ and $z$ axes, in that order. The amount of rotation 1582 around each of these axes are known as Euler angles. Given the Euler 1583 angles of a rotation, the rotation may be performed by rotating in 1584 turn about the designated axes. Euler angles are specified below for 1585 the various rotations required. To use them, the following rotation 1586 quaternions are used: 1587 1588 \begin{itemize} 1589 \item First, about the Z axis: 1590 \begin{eqnarray} 1591 r_0 & = & 0 \\ 1592 r_1 & = & 0 \\ 1593 r_2 & = & \sin(\alpha_p/2) \\ 1594 r_3 & = & \cos(\alpha_p/2) \\ 1595 \end{eqnarray} 1596 \item Second, about the Y axis: 1597 s_0 & = & 0 \\ 1598 s_1 & = & \sin(\delta_p/2) \\ 1599 s_2 & = & 0 \\ 1600 s_3 & = & \cos(\delta_p/2) \\ 1601 \end{eqnarray} 1602 \item Finally, about the Z axis again: 1603 \begin{eqnarray} 1604 t_0 & = & 0 \\ 1605 t_1 & = & 0 \\ 1606 t_2 & = & \sin(\phi_p/2) \\ 1607 t_3 & = & \cos(\phi_p/2) \\ 1608 \end{eqnarray} 1609 1610 These three quaternions may be multiplied together to yield the 1611 quaternion of the combined rotation: $tsr$ (note the order --- $r$ is 1612 done first, so it is nearest the position quaternion, etc.). 1537 1613 1538 1614 \subsubsection{Rotation Matrix} … … 1653 1729 The appropriate values, from the Hipparcos and Tycho Catalogues are: 1654 1730 \begin{eqnarray} 1655 \alpha_p & = & 282.85948^\circ \\1656 \delta_p & = & 62.87175^\circ \\1657 \phi_p & = & 32.93192^\circ \\1731 \alpha_p & = & 180^\circ - 192.85948^\circ \\ 1732 \delta_p & = & 90^\circ - 62.87175^\circ \\ 1733 \phi_p & = & 90^\circ + 32.93192^\circ \\ 1658 1734 \end{eqnarray} 1659 1735 … … 1662 1738 The appropriate values, from Zombeck, are: 1663 1739 \begin{eqnarray} 1664 \alpha_p & = & 0^\circ \\1740 \alpha_p & = & 270^\circ \\ 1665 1741 \delta_p & = & 23^\circ27'8''.26 - 46''.845\, T - 0''.0059\, T^2 + 0''.00181\, T^3 \\ 1666 \phi_p & = & 0^\circ1742 \phi_p & = & 90^\circ 1667 1743 \end{eqnarray} 1668 1744 where $T$ is the time in Julian centuries since 1900. … … 1673 1749 be rapidly calculated using the following rotation angles: 1674 1750 \begin{eqnarray} 1675 \alpha_p & = & 90^\circ -(0^\circ.6406161\, T + 0^\circ.0000839\, T^2 + 0^\circ.0000050\, T^3) \\1751 \alpha_p & = & 180^\circ + (0^\circ.6406161\, T + 0^\circ.0000839\, T^2 + 0^\circ.0000050\, T^3) \\ 1676 1752 \delta_p & = & 0^\circ .5567530\, T - 0^\circ.0001185\, T^2 - 0^\circ.0000116\, T^3 \\ 1677 \phi_p & = & 90^\circ + 0^\circ.6406161\, T + 0^\circ.0003041\, T^2 + 0^\circ.0000051\, T^31753 \phi_p & = & 180^\circ + 0^\circ.6406161\, T + 0^\circ.0003041\, T^2 + 0^\circ.0000051\, T^3 1678 1754 \end{eqnarray} 1679 1755 where $T$ is $($MJD$_{\rm out} -$ MJD$_{\rm in})/36525$ is the
Note:
See TracChangeset
for help on using the changeset viewer.
