diff options
author | David Doan <daviddoan@Davids-MacBook-Pro-70.local> | 2023-12-08 13:28:05 -0500 |
---|---|---|
committer | David Doan <daviddoan@Davids-MacBook-Pro-70.local> | 2023-12-08 13:28:05 -0500 |
commit | 7e02d29375e9d6a1bbea98dc6dca600730ab8ec3 (patch) | |
tree | 66b2af48f645de2bb67f78edc7a784d7f304929c /src/4dvecops/vectoroperations.cpp | |
parent | 31d28f945856ff4b3f5d55e61a747afd08d6f0f9 (diff) | |
parent | 3998e9509ffb511bb449965f1ca0695e2bec2c7d (diff) |
rotation and merge
Diffstat (limited to 'src/4dvecops/vectoroperations.cpp')
-rw-r--r-- | src/4dvecops/vectoroperations.cpp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/src/4dvecops/vectoroperations.cpp b/src/4dvecops/vectoroperations.cpp deleted file mode 100644 index d41dad3..0000000 --- a/src/4dvecops/vectoroperations.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "raytracer/raytracer.h" - -// vector operations on 4d vectors, -// reference: https://hollasch.github.io/ray4/Four-Space_Visualization_of_4D_Objects.html#chapter5 - -glm::vec4 cross4( - glm::vec4 u, - glm::vec4 v, - glm::vec4 w) { - float a = (v[0] * w[1]) - (v[1] * w[0]); - float b = (v[0] * w[2]) - (v[2] * w[0]); - float c = (v[0] * w[3]) - (v[3] * w[0]); - float d = (v[1] * w[2]) - (v[2] * w[1]); - float e = (v[1] * w[3]) - (v[3] * w[1]); - float f = (v[2] * w[3]) - (v[3] * w[2]); - - glm::vec4 result; - result[0] = (u[1] * f) - (u[2] * e) + (u[3] * d); - result[1] = -(u[0] * f) + (u[2] * c) - (u[3] * b); - result[2] = (u[0] * e) - (u[1] * c) + (u[3] * a); - result[3] = -(u[0] * d) + (u[1] * b) - (u[2] * a); - - return result; -} - -glm::vec4 dot4( - glm::vec4 u, - glm::vec4 v) { - return {u[0] * v[0], u[1] * v[1], u[2] * v[2], u[3] * v[3]}; -}
\ No newline at end of file |