red pill
This commit is contained in:
22
modules/math/vector3.sx
Normal file
22
modules/math/vector3.sx
Normal file
@@ -0,0 +1,22 @@
|
||||
#import "math.sx";
|
||||
|
||||
vec3_dot :: (a: Vector(3,f32), b: Vector(3,f32)) -> f32 {
|
||||
return a.x*b.x + a.y*b.y + a.z*b.z;
|
||||
}
|
||||
dot :: ufcs vec3_dot;
|
||||
|
||||
vec3_cross :: (a: Vector(3,f32), b: Vector(3,f32)) -> Vector(3,f32) {
|
||||
.[a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x];
|
||||
}
|
||||
cross :: ufcs vec3_cross;
|
||||
|
||||
vec3_length :: (v: Vector(3,f32)) -> f32 {
|
||||
return sqrt(dot(v, v));
|
||||
}
|
||||
length :: ufcs vec3_length;
|
||||
|
||||
|
||||
vec3_normal :: (v: Vector(3,f32)) -> Vector(3,f32) {
|
||||
return v / length(v);
|
||||
}
|
||||
normal :: ufcs vec3_normal;
|
||||
Reference in New Issue
Block a user