liba 0.1.15
An algorithm library based on C/C++
Loading...
Searching...
No Matches
three-dimensional vector
Collaboration diagram for three-dimensional vector:

Data Structures

struct  a_vector3
 instance structure for three-dimensional vector More...

Macros

#define A_VECTOR3_C(x, y, z)
#define a_vector3_c(x)
#define a_vector3_(_, x)
#define A_INTERN   A_PUBLIC extern
#define A_INTERN   static A_INLINE

Typedefs

typedef struct a_vector3 a_vector3

Functions

a_real a_vector3_set_dir (a_vector3 *ctx, a_real x, a_real y, a_real z)
void a_vector3_val (a_vector3 const *ctx, a_real *x, a_real *y, a_real *z)
void a_vector3_set_val (a_vector3 *ctx, a_real x, a_real y, a_real z)
void a_vector3_pol (a_vector3 const *ctx, a_real *rho, a_real *theta, a_real *z)
void a_vector3_set_pol (a_vector3 *ctx, a_real rho, a_real theta, a_real z)
void a_vector3_sph (a_vector3 const *ctx, a_real *rho, a_real *theta, a_real *alpha)
void a_vector3_set_sph (a_vector3 *ctx, a_real rho, a_real theta, a_real alpha)
void a_vector3_add (a_vector3 const *lhs, a_vector3 const *rhs, a_vector3 *res)
void a_vector3_sub (a_vector3 const *lhs, a_vector3 const *rhs, a_vector3 *res)
void a_vector3_mul (a_vector3 const *lhs, a_real rhs, a_vector3 *res)
void a_vector3_div (a_vector3 const *lhs, a_real rhs, a_vector3 *res)
void a_vector3_neg (a_vector3 const *ctx, a_vector3 *res)
a_real a_vector3_unit (a_vector3 *ctx)
a_real a_vector3_norm (a_vector3 const *ctx)
a_real a_vector3_norm1 (a_vector3 const *ctx)
a_real a_vector3_norm2 (a_vector3 const *ctx)
a_real a_vector3_dot (a_vector3 const *lhs, a_vector3 const *rhs)
a_real a_vector3_dist (a_vector3 const *lhs, a_vector3 const *rhs)
a_real a_vector3_dist1 (a_vector3 const *lhs, a_vector3 const *rhs)
a_real a_vector3_dist2 (a_vector3 const *lhs, a_vector3 const *rhs)
a_real a_vector3_angle (a_vector3 const *lhs, a_vector3 const *rhs)
a_bool a_vector3_isver (a_vector3 const *lhs, a_vector3 const *rhs)
a_bool a_vector3_ispar (a_vector3 const *lhs, a_vector3 const *rhs)
void a_vector3_cross (a_vector3 const *lhs, a_vector3 const *rhs, a_vector3 *res)
void a_vector3_outer (a_vector3 const *lhs, a_vector3 const *rhs, a_real res[9])
int a_vector3_ortho (a_vector3 const *ctx, a_vector3 *u, a_vector3 *v)
void a_vector3_rot_ (a_vector3 const *ctx, a_vector3 const *dir, a_real sin, a_real cos, a_vector3 *res)
void a_vector3_rot (a_vector3 const *ctx, a_vector3 const *dir, a_real angle, a_vector3 *res)
void a_vector3_rot2d (a_vector3 const *iu, a_vector3 const *iv, a_real angle, a_vector3 *ou, a_vector3 *ov)

Detailed Description

Macro Definition Documentation

◆ a_vector3_

#define a_vector3_ ( _,
x )
Value:
a_cast_s(a_vector3 _, x)
instance structure for three-dimensional vector
Definition vector3.h:87

◆ A_VECTOR3_C

#define A_VECTOR3_C ( x,
y,
z )
Value:
#define a_real_c(x)
static cast to floating-point number
Definition a.h:1009

constructs a three-dimensional vector from cartesian coordinate

◆ a_vector3_c

#define a_vector3_c ( x)
Value:
a_cast_s(a_vector3, x)

static cast to three-dimensional vector