initial
[smouse] / src / vmath.c
1 #include <math.h>
2 #include "vmath.h"
3
4 quat_t quat_rotate(quat_t q, float angle, float x, float y, float z)
5 {
6         quat_t rq;
7         float half_angle = angle * 0.5;
8         float sin_half = sin(half_angle);
9
10         rq.w = cos(half_angle);
11         rq.x = x * sin_half;
12         rq.y = y * sin_half;
13         rq.z = z * sin_half;
14
15         return quat_mul(q, rq);
16 }