]> git.lizzy.rs Git - nothing.git/blob - src/point.h
Move mat3x3 to math "subpackage"
[nothing.git] / src / point.h
1 #ifndef POINT_H_
2 #define POINT_H_
3
4 #include "./pi.h"
5 #include "./math/mat3x3.h"
6
7 typedef struct point_t {
8     float x, y;
9 } point_t;
10
11 typedef point_t vec_t;
12
13 vec_t vec(float x, float y);
14 vec_t vec_from_polar(float arg, float mag);
15 vec_t vec_from_ps(point_t p1, point_t p2);
16
17 float vec_arg(vec_t v);
18 float vec_mag(vec_t v);
19
20 float rad_to_deg(float a);
21
22 vec_t vec_sum(vec_t v1, vec_t v2);
23 vec_t vec_neg(vec_t v);
24 void vec_add(vec_t *v1, vec_t v2);
25 float vec_length(vec_t v);
26 vec_t vec_scala_mult(vec_t v, float scalar);
27 vec_t vec_entry_mult(vec_t v1, vec_t v2);
28 vec_t vec_entry_div(vec_t v1, vec_t v2);
29
30 point_t point_mat3x3_product(point_t p, mat3x3 m);
31
32 #endif  // POINT_H_