runif3: Generate randomly oriented vectors in 3D

View source: R/runif3.R

runif3R Documentation

Generate randomly oriented vectors in 3D

Description

Generate randomly oriented vectors in 3D, following an isotropic distribution (optionally truncated to a region).

Usage

runif3(
  n = 1,
  r = c(0, 1),
  azimuth = c(0, 2 * pi),
  polarangle = c(0, pi),
  quasi = FALSE,
  start = 1
)

Arguments

n

number of random vectors to be generated

r

2-vector specifying the range of radii

azimuth

2-vector specifying the range of azimuth angles (maximum range 0..2*pi)

polarangle

2-vector specifying the range of polar angles (maximum range 0..pi)

quasi

logical flag. If true, quasi-random numbers with low-discrepancy are drawn, based on a Halton sequence. Otherwise, the standard internal pseudo-random generator of runif() is used.

start

starting index of Halton sequence. Only used if quasi=TRUE.

Value

Returns an n-by-3 array of n vectors.

Author(s)

Danail Obreschkow

See Also

runif2

Examples

## draw 20 unit vectors on a sphere
x = runif3(20,r=c(1,1))
print(rowSums(x^2))


obreschkow/cooltools documentation built on Nov. 16, 2024, 2:46 a.m.