Vivid
Loading...
Searching...
No Matches
VectorHelper.h
1#pragma once
2
3#include "Vec.h"
4
5namespace Vivid::Maths
6{
7 Vec3 Cross(Vec3 a, Vec3 b)
8 {
9 return Vec3(
10 a.y * b.z - a.z * b.y,
11 a.z * b.x - a.x * b.z,
12 a.x * b.y - a.y * b.x);
13 }
14
15 float Dot(Vec3 a, Vec3 b)
16 {
17 return a.x * b.x + a.y * b.y + a.z * b.z;
18 }
19
20 Vec3 Normalize(Vec3 a)
21 {
22 float length = sqrt(a.x * a.x + a.y * a.y + a.z * a.z);
23 return Vec3(a.x / length, a.y / length, a.z / length);
24 }
25}