From 0f9508b40f5a187fc23f177e3448ac7b668c6f52 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 11 Oct 2019 18:42:56 -0400 Subject: math: vector: Add vec3 arithmetic procedures. --- chickadee/math/vector.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/chickadee/math/vector.scm b/chickadee/math/vector.scm index cbba1e6..41c7659 100644 --- a/chickadee/math/vector.scm +++ b/chickadee/math/vector.scm @@ -58,6 +58,9 @@ set-vec3-y! set-vec3! vec3-normalize! + vec3* + vec3+ + vec3- vec3-mult! vec3-add! vec3-sub!)) @@ -339,6 +342,24 @@ polar coordinate (R, THETA)." (vec2-sub! new x) new)) +(define-inlinable (vec3* v x) + "Multiply V by X." + (let ((new (vec3-copy v))) + (vec3-mult! new x) + new)) + +(define-inlinable (vec3+ v x) + "Add X to V." + (let ((new (vec3-copy v))) + (vec3-add! new x) + new)) + +(define-inlinable (vec3- v x) + "Subtract X from V." + (let ((new (vec3-copy v))) + (vec3-sub! new x) + new)) + ;; Reader macro for vectors. (define (read-vec chr port) (define (consume-whitespace port) -- cgit v1.2.3