From 0ae5be6c6697f5f5f578a27c5ad9ba845aec43c9 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 9 May 2020 21:31:30 +0200 Subject: Added basic vector and matrix library --- vendor/libftm/src/vec3/ftm_vec3add.c | 21 +++++++++++++++++++++ vendor/libftm/src/vec3/ftm_vec3cross.c | 26 ++++++++++++++++++++++++++ vendor/libftm/src/vec3/ftm_vec3dot.c | 20 ++++++++++++++++++++ vendor/libftm/src/vec3/ftm_vec3scale.c | 21 +++++++++++++++++++++ vendor/libftm/src/vec3/ftm_vec3sub.c | 21 +++++++++++++++++++++ vendor/libftm/src/vec4/ftm_vec4add.c | 22 ++++++++++++++++++++++ vendor/libftm/src/vec4/ftm_vec4dot.c | 21 +++++++++++++++++++++ vendor/libftm/src/vec4/ftm_vec4scale.c | 22 ++++++++++++++++++++++ vendor/libftm/src/vec4/ftm_vec4sub.c | 22 ++++++++++++++++++++++ 9 files changed, 196 insertions(+) create mode 100644 vendor/libftm/src/vec3/ftm_vec3add.c create mode 100644 vendor/libftm/src/vec3/ftm_vec3cross.c create mode 100644 vendor/libftm/src/vec3/ftm_vec3dot.c create mode 100644 vendor/libftm/src/vec3/ftm_vec3scale.c create mode 100644 vendor/libftm/src/vec3/ftm_vec3sub.c create mode 100644 vendor/libftm/src/vec4/ftm_vec4add.c create mode 100644 vendor/libftm/src/vec4/ftm_vec4dot.c create mode 100644 vendor/libftm/src/vec4/ftm_vec4scale.c create mode 100644 vendor/libftm/src/vec4/ftm_vec4sub.c (limited to 'vendor/libftm/src') diff --git a/vendor/libftm/src/vec3/ftm_vec3add.c b/vendor/libftm/src/vec3/ftm_vec3add.c new file mode 100644 index 0000000..9b5bd09 --- /dev/null +++ b/vendor/libftm/src/vec3/ftm_vec3add.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec3add.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 20:35:59 by charles #+# #+# */ +/* Updated: 2020/05/09 21:14:12 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec3.h" + +t_ftmvec3 *ftm_vec3add(t_ftmvec3 *dst, t_ftmvec3 *other) +{ + dst->v[0] += other->v[0]; + dst->v[1] += other->v[1]; + dst->v[2] += other->v[2]; + return (dst); +} diff --git a/vendor/libftm/src/vec3/ftm_vec3cross.c b/vendor/libftm/src/vec3/ftm_vec3cross.c new file mode 100644 index 0000000..c27534e --- /dev/null +++ b/vendor/libftm/src/vec3/ftm_vec3cross.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec3cross.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 21:20:41 by charles #+# #+# */ +/* Updated: 2020/05/09 21:25:44 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec3.h" + +/* +** s1 = a2 * b3 - a3 * b2 +** s2 = a3 * b1 - a1 * b3 +** s3 = a1 * b2 - a2 * b1 +*/ + +void ftm_vec3cross(t_ftmvec3 *dst, t_ftmvec3 *a, t_ftmvec3 *b) +{ + dst->v[0] = a->v[1] * b->v[2] - a->v[2] * b->v[1]; + dst->v[1] = a->v[2] * b->v[0] - a->v[0] * b->v[2]; + dst->v[2] = a->v[0] * b->v[1] - a->v[1] * b->v[0]; +} diff --git a/vendor/libftm/src/vec3/ftm_vec3dot.c b/vendor/libftm/src/vec3/ftm_vec3dot.c new file mode 100644 index 0000000..5d67ce6 --- /dev/null +++ b/vendor/libftm/src/vec3/ftm_vec3dot.c @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec3dot.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 21:06:09 by charles #+# #+# */ +/* Updated: 2020/05/09 21:14:44 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec3.h" + +float ftm_vec3dot(t_ftmvec3 *a, t_ftmvec3 *b) +{ + return (a->v[0] * b->v[0] + + a->v[1] * b->v[1] + + a->v[2] * b->v[2]); +} diff --git a/vendor/libftm/src/vec3/ftm_vec3scale.c b/vendor/libftm/src/vec3/ftm_vec3scale.c new file mode 100644 index 0000000..8782675 --- /dev/null +++ b/vendor/libftm/src/vec3/ftm_vec3scale.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec3scale.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 21:00:32 by charles #+# #+# */ +/* Updated: 2020/05/09 21:14:10 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec3.h" + +t_ftmvec3 *ftm_vec3scale(t_ftmvec3 *dst, float scalar) +{ + dst->v[0] *= scalar; + dst->v[1] *= scalar; + dst->v[2] *= scalar; + return (dst); +} diff --git a/vendor/libftm/src/vec3/ftm_vec3sub.c b/vendor/libftm/src/vec3/ftm_vec3sub.c new file mode 100644 index 0000000..880acbc --- /dev/null +++ b/vendor/libftm/src/vec3/ftm_vec3sub.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec3sub.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 20:57:33 by charles #+# #+# */ +/* Updated: 2020/05/09 21:14:20 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec3.h" + +t_ftmvec3 *ftm_vec3sub(t_ftmvec3 *dst, t_ftmvec3 *other) +{ + dst->v[0] -= other->v[0]; + dst->v[1] -= other->v[1]; + dst->v[2] -= other->v[2]; + return (dst); +} diff --git a/vendor/libftm/src/vec4/ftm_vec4add.c b/vendor/libftm/src/vec4/ftm_vec4add.c new file mode 100644 index 0000000..bf8ef1d --- /dev/null +++ b/vendor/libftm/src/vec4/ftm_vec4add.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec4add.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 20:45:59 by charles #+# #+# */ +/* Updated: 2020/05/09 21:15:07 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec4.h" + +t_ftmvec4 *ftm_vec4add(t_ftmvec4 *dst, t_ftmvec4 *other) +{ + dst->v[0] += other->v[0]; + dst->v[1] += other->v[1]; + dst->v[2] += other->v[2]; + dst->v[3] += other->v[3]; + return (dst); +} diff --git a/vendor/libftm/src/vec4/ftm_vec4dot.c b/vendor/libftm/src/vec4/ftm_vec4dot.c new file mode 100644 index 0000000..dc8864a --- /dev/null +++ b/vendor/libftm/src/vec4/ftm_vec4dot.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec4dot.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 21:06:09 by charles #+# #+# */ +/* Updated: 2020/05/09 21:15:32 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec4.h" + +float ftm_vec4dot(t_ftmvec4 *a, t_ftmvec4 *b) +{ + return (a->v[0] * b->v[0] + + a->v[1] * b->v[1] + + a->v[2] * b->v[2] + + a->v[3] * b->v[3]); +} diff --git a/vendor/libftm/src/vec4/ftm_vec4scale.c b/vendor/libftm/src/vec4/ftm_vec4scale.c new file mode 100644 index 0000000..ddff937 --- /dev/null +++ b/vendor/libftm/src/vec4/ftm_vec4scale.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec4scale.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 21:00:42 by charles #+# #+# */ +/* Updated: 2020/05/09 21:15:21 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec4.h" + +t_ftmvec4 *ftm_vec4scale(t_ftmvec4 *dst, float scalar) +{ + dst->v[0] *= scalar; + dst->v[1] *= scalar; + dst->v[2] *= scalar; + dst->v[3] *= scalar; + return (dst); +} diff --git a/vendor/libftm/src/vec4/ftm_vec4sub.c b/vendor/libftm/src/vec4/ftm_vec4sub.c new file mode 100644 index 0000000..8082ddd --- /dev/null +++ b/vendor/libftm/src/vec4/ftm_vec4sub.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ftm_vec4sub.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/09 20:57:43 by charles #+# #+# */ +/* Updated: 2020/05/09 21:15:13 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libftm_vec4.h" + +t_ftmvec4 *ftm_vec4sub(t_ftmvec4 *dst, t_ftmvec4 *other) +{ + dst->v[0] -= other->v[0]; + dst->v[1] -= other->v[1]; + dst->v[2] -= other->v[2]; + dst->v[3] -= other->v[3]; + return (dst); +} -- cgit