tfix vector function prototypes - slidergrid - grid of elastic sliders on a fri… | |
git clone git://src.adamsgaard.dk/slidergrid | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 129e0df22ec2470c059710b4b60635192552c0db | |
parent 6155ad1224ca7ba4eb0aa38cb8618f4bc6889b30 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Tue, 15 Mar 2016 13:33:38 -0700 | |
fix vector function prototypes | |
Diffstat: | |
M slider.c | 17 +++++++++++++++-- | |
M vector_math.c | 4 ++-- | |
M vector_math.h | 14 ++++++-------- | |
3 files changed, 23 insertions(+), 12 deletions(-) | |
--- | |
diff --git a/slider.c b/slider.c | |
t@@ -13,11 +13,24 @@ void integrate_kinematics(slider s, Float dt, int iteratio… | |
+ Float3 acc0; | |
if (iteration == 0) { | |
- Float3 acc0 = make_float3(0., 0., 0.); | |
+ acc0 = make_float3(0., 0., 0.); | |
} else { | |
- Float3 acc0 = s.acc; | |
+ acc0 = s.acc; | |
} | |
+ | |
+ const Float3 dacc_dt = make_float3( | |
+ (s.acc.x - acc0.x)/dt, | |
+ (s.acc.y - acc0.y)/dt, | |
+ (s.acc.z - acc0.z)/dt); | |
+ | |
+ const Float3 dpos_dt = make_float3( | |
+ s.vel.x*dt + 0.5*s.acc.x*dt*dt + 1./6.*dacc_dt.x*dt*dt*dt, | |
+ s.vel.y*dt + 0.5*s.acc.y*dt*dt + 1./6.*dacc_dt.y*dt*dt*dt, | |
+ s.vel.z*dt + 0.5*s.acc.z*dt*dt + 1./6.*dacc_dt.z*dt*dt*dt); | |
+ | |
+ s.pos = add_float3(s.pos, dpos_dt); | |
diff --git a/vector_math.c b/vector_math.c | |
t@@ -18,12 +18,12 @@ inline Float3 subtract_float3(Float3 v1, Float3 v2) | |
inline Float3 multiply_float3(Float3 v1, Float3 v2) | |
{ | |
- return make_float3(v1.x * v2.x, v1.y * v2.y, v1.z * v2.z); | |
+ return make_float3(v1.x*v2.x, v1.y*v2.y, v1.z*v2.z); | |
} | |
inline Float3 divide_float3(Float3 v1, Float3 v2) | |
{ | |
- return make_float3(v1.x / v2.x, v1.y / v2.y, v1.z / v2.z); | |
+ return make_float3(v1.x/v2.x, v1.y/v2.y, v1.z/v2.z); | |
} | |
inline Float3 copy_float3(Float3 v) | |
diff --git a/vector_math.h b/vector_math.h | |
t@@ -1,10 +1,8 @@ | |
#include "typedefs.h" | |
-inline Float3 make_float3(Float x, Float y, Float z); | |
- | |
-inline Float3 add_float3(Float x, Float y, Float z); | |
-inline Float3 subtract_float3(Float x, Float y, Float z); | |
-inline Float3 multiply_float3(Float x, Float y, Float z); | |
-inline Float3 divide_float3(Float x, Float y, Float z); | |
- | |
-inline Float3 copy_float3(Float3 v); | |
+Float3 make_float3(Float x, Float y, Float z); | |
+Float3 add_float3(Float3 v1, Float3 v2); | |
+Float3 subtract_float3(Float3 v1, Float3 v2); | |
+Float3 multiply_float3(Float3 v1, Float3 v2); | |
+Float3 divide_float3(Float3 v1, Float3 v2); | |
+Float3 copy_float3(Float3 v); |