# R/rot.matrix.R In Directional: Directional Statistics

#### Documented in rot.matrix

```################################
#### Rotation matrix from a rotation axis and angle of rotation
#### Tsagris Michail 11/2013
#### [email protected]
#### References: Chang Ted (1986)
#### Spherical egession. Annals of statistics, 14(3): 907-924
################################
rot.matrix <- function(ksi, theta, rads = FALSE) {
## ksi is the rotation axis, where the first element is the
## latitude and the second is the longitude
## theta is the angle of rotation
if ( rads ) {
lat <- ksi[1]
long <- ksi[2]
the <- theta
} else {
lat <- ksi[1] * pi / 180
long <- ksi[2] * pi / 180
the <- theta * pi / 180
}

t1 <- cos(lat) * cos(long)
t2 <- cos(lat) * sin(long)
t3 <- sin(lat)
L <- matrix( c(0, t3, -t2, -t3, 0, t1, t2, -t1, 0), ncol = 3 )
diag(3) + L * sin(the) + L %*% L * ( 1 - cos(the) )
}
```

## Try the Directional package in your browser

Any scripts or data that you put into this service are public.

Directional documentation built on July 12, 2018, 9:03 a.m.