3d-renderer/scripts/vector.c
2025-07-07 00:12:24 -07:00

28 lines
674 B
C

#include "vector.h"
#include <math.h>
// TODO: Implementation of all vector functions
vec3_t vec3_rotate_x(vec3_t v, float angle) {
return (vec3_t) {
.x = v.x,
.y = v.y * cos(angle) - v.z * sin(angle),
.z = v.y * sin(angle) + v.z * cos(angle),
};
}
vec3_t vec3_rotate_y(vec3_t v, float angle) {
return (vec3_t) {
.x = v.x * cos(angle) - v.z * sin(angle),
.y = v.y,
.z = v.x * sin(angle) + v.z * cos(angle),
};
}
vec3_t vec3_rotate_z(vec3_t v, float angle) {
return (vec3_t) {
.x = v.x * cos(angle) - v.y * sin(angle),
.y = v.x * sin(angle) + v.y * cos(angle),
.z = v.z,
};
}