23 lines
442 B
C
23 lines
442 B
C
#ifndef INCLUDED_VEC3_H
|
|
#define INCLUDED_VEC3_H
|
|
|
|
typedef struct Vec3 {
|
|
double x, y, z;
|
|
} Vec3;
|
|
|
|
Vec3 vec3_neg(Vec3 v);
|
|
Vec3 vec3_add(Vec3 v1, Vec3 v2);
|
|
Vec3 vec3_sub(Vec3 v1, Vec3 v2);
|
|
Vec3 vec3_mul(double c, Vec3 v);
|
|
Vec3 vec3_div(Vec3 v, double c);
|
|
|
|
double vec3_length(Vec3 v);
|
|
double vec3_length2(Vec3 v);
|
|
|
|
Vec3 vec3_normalize(Vec3 v);
|
|
|
|
double vec3_dot(Vec3 v1, Vec3 v2);
|
|
Vec3 vec3_cross(Vec3 v1, Vec3 v2);
|
|
|
|
#endif /* INCLUDED_VEC3_H */
|