rotate | R Documentation |
Rotates a three-column matrix whose rows are vectors in 3D space, using quaternions
rotate(x, H)
x |
A matrix of three columns whose rows are points in 3D space |
H |
A quaternion. Does not need to have unit modulus |
Returns a matrix of the same size as x
Robin K. S. Hankin
orthogonal
data(bunny)
par(mfrow=c(2,2))
par(mai=rep(0,4))
p3d(rotate(bunny,Hi),box=FALSE)
p3d(rotate(bunny,H1-Hi+Hj),box=FALSE)
p3d(rotate(bunny,Hk),box=FALSE)
p3d(rotate(bunny,Hall),box=FALSE)
o <- function(w){diag(3)-2*outer(w,w)/sum(w^2)} # Householder
O <- o(1:3) %*% o(3:1)
rotate(bunny,as.quaternion(O))
bunny %*% t(O) # should be the same; note transpose
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.