1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /*
- * 3D Engine
- * vector.c:
- * Based on pikuma.com 3D software renderer in C
- * Copyright (c) 2021 986-Studio. All rights reserved.
- *
- * Created by Manoël Trapier on 02/03/2021.
- */
- #include <vector.h>
- #include <math.h>
- vec3_t vec3RotateX(vec3_t original, double angle)
- {
- vec3_t ret = {
- .x = original.x,
- .y = original.y * cos(angle) - original.z * sin(angle),
- .z = original.y * sin(angle) + original.z * cos(angle)
- };
- return ret;
- }
- vec3_t vec3RotateY(vec3_t original, double angle)
- {
- vec3_t ret = {
- .x = original.x * cos(angle) - original.z * sin(angle),
- .y = original.y,
- .z = original.x * sin(angle) + original.z * cos(angle)
- };
- return ret;
- }
- vec3_t vec3RotateZ(vec3_t original, double angle)
- {
- vec3_t ret = {
- .x = original.x * cos(angle) - original.y * sin(angle),
- .y = original.x * sin(angle) + original.y * cos(angle),
- .z = original.z,
- };
- return ret;
- }
|