orthogonal: Orthogonal matrix equivalents

orthogonalR Documentation

Orthogonal matrix equivalents

Description

Convert a quaternion to and from an equivalent orthogonal matrix

Usage

matrix2quaternion(M)
as.orthogonal(Q)

Arguments

M

A three-by-three orthogonal matrix

Q

A vector of quaternions

Value

Function matrix2quaternion() returns a quaternion.

Function as.orthogonal() returns either a 3\times 3 matrix or a 3\times3\times n array of orthogonal matrices

Note

Function matrix2quaternion() is low-level; use as.quaternion() to convert arrays.

Author(s)

Robin K. S. Hankin

See Also

rotate

Examples


as.orthogonal(rquat(1))

o <- function(w){diag(3)-2*outer(w,w)/sum(w^2)}  # Householder
matrix2quaternion(o(1:3))   # Booorrrriiinnnggg
matrix2quaternion(o(1:3) %*% o(3:1))

Q <- rquat(7)
Q <- Q/abs(Q)
as.quaternion(as.orthogonal(Q))   # +/- Q


A <- replicate(7,o(rnorm(3)) %*% o(rnorm(3)))
max(abs(as.orthogonal(as.quaternion(A))-A))


RobinHankin/onion documentation built on April 20, 2024, 2:05 p.m.