hypercube-0.3.1
[polytopiary:hypercube.git] / dynamics.c
1 /* movement */
2
3 #include "cube4d.h"
4 #include "dynamics.h"
5 #include "fixed.h"
6 #include "geometry.h"
7
8 static matrix44 m_rot;
9
10 void d_init(void) {
11     m44_id(&m_rot);
12 }
13
14 void d_transform(c4dv *from, int n, c4dv *to) {
15     int i;
16     m44_rot6(&m_rot,
17         n,
18         n/2,
19         n/3,
20         n/4,
21         n/5,
22         n/6
23     );
24     for (i = 0; i < 16; i++) {
25         v4m44_mul(&((*from)[i]), &m_rot, &((*to)[i]));
26     }
27 }
28
29 /* EOF */