blob: 7274cbb48bd4fc21a1eb5bf9d1dc782c0baa0e51 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <math.h>
#include "vector.h"
static inline double vec3_magnitude(Vec3 v) {
return hypot(v.x, hypot(v.y, v.z));
}
static inline Vec3 vec3_diff(Vec3 a, Vec3 b) {
return (Vec3){.x = a.x - b.x,
.y = a.y - b.y,
.z = a.z - b.z};
}
static inline Vec3 vec3_normalize(Vec3 v) {
double len = sqrt(v.x * v.x
+ v.y * v.y
+ v.z * v.z);
if (len != 0.0)
return (Vec3){.x = v.x / len,
.y = v.y / len,
.z = v.z / len};
}
static inline Vec3 vec3_mul(Vec3 v, double n) {
}
|