Learn R Programming

clugenr (version 1.0.4)

rand_vector_at_angle: Get a random unit vector at a given angle with another vector.

Description

Get a random unit vector which is at angle radians of vector u. Note that u is expected to be a unit vector itself.

Usage

rand_vector_at_angle(u, angle)

Value

Random unit vector with n components which is at angle

radians with vector u.

Arguments

u

Unit vector with n components.

angle

Angle in radians.

Examples

Run this code
u <- c(1.0, 0, 0.5, -0.5)            # Define a 4D vector
u <- u / norm(u, "2")                # Normalize the vector
v <- rand_vector_at_angle(u, pi / 4) # Get a vector at 45 degrees
arad <- acos((u %*% v) / norm(u,"2") * norm(v, "2")) # Get angle in radians
arad * 180 / pi # Convert to degrees, should be close to 45 degrees

Run the code above in your browser using DataLab