Learn R Programming

rotations (version 1.6.5)

UARS: Generic UARS Distribution

Description

Density, distribution function and random generation for the the generic uniform axis-random spin (UARS) class of distributions.

Usage

duars(R, dangle, S = id.SO3, kappa = 1, ...)

puars(R, pangle = NULL, S = id.SO3, kappa = 1, ...)

ruars(n, rangle, S = NULL, kappa = 1, space = "SO3", ...)

Value

duars

gives the density

puars

gives the distribution function. If pangle is left empty, the empirical CDF is returned.

ruars

generates random deviates

Arguments

R

Value at which to evaluate the UARS density.

dangle

The function to evaluate the angles from, e.g. dcayley, dvmises, dfisher, dhaar.

S

central orientation of the distribution.

kappa

concentration parameter.

...

additional arguments.

pangle

The form of the angular density, e.g. pcayley, pvmises, pfisher, phaar.

n

number of observations. If length(n)>1, the length is taken to be the number required.

rangle

The function from which to simulate angles, e.g. rcayley, rvmises, rhaar, rfisher.

space

indicates the desired representation: matrix ("SO3") or quaternion ("Q4").

Details

For the rotation R with central orientation S and concentration \(\kappa\) the UARS density is given by $$f(R|S,\kappa)=\frac{4\pi}{3-tr(S^\top R)}C(\cos^{-1}[tr(S^\top R)-1]/2|\kappa)$$ where \(C(r|\kappa)\) is one of the Angular-distributions.

bingham09

See Also

For more on the angular distribution options see Angular-distributions.

Examples

Run this code
#Generate random rotations from the Cayley-UARS distribution with central orientation
#rotated about the y-axis through pi/2 radians
S <- as.SO3(c(0, 1, 0), pi/2)
Rs <- ruars(20, rangle = rcayley, kappa = 1, S = S)

rs <- mis.angle(Rs-S)                          #Find the associated misorientation angles
frs <- duars(Rs, dcayley, kappa = 10, S = S)   #Compute UARS density evaluated at each rotations
plot(rs, frs)

cdf <- puars(Rs, pcayley, S = S)               #By supplying 'pcayley', it is used to compute the
plot(rs, cdf)                                  #the CDF

ecdf <- puars(Rs, S = S)                       #No 'puars' arguement is supplied so the empirical
plot(rs, ecdf)                                 #cdf is returned

Run the code above in your browser using DataLab