[Bf-blender-cvs] [eb38d27] hair_immediate_fixes: Added a damping term for angular bending springs.

Lukas Tönne noreply at git.blender.org
Fri Sep 19 16:56:57 CEST 2014


Commit: eb38d27b33248bd161c996e9636e7047ed065433
Author: Lukas Tönne
Date:   Fri Sep 19 11:51:35 2014 +0200
Branches: hair_immediate_fixes
https://developer.blender.org/rBeb38d27b33248bd161c996e9636e7047ed065433

Added a damping term for angular bending springs.

===================================================================

M	source/blender/physics/intern/implicit_blender.c

===================================================================

diff --git a/source/blender/physics/intern/implicit_blender.c b/source/blender/physics/intern/implicit_blender.c
index ba7bd0b..1c4cdf3 100644
--- a/source/blender/physics/intern/implicit_blender.c
+++ b/source/blender/physics/intern/implicit_blender.c
@@ -1775,7 +1775,9 @@ bool BPH_mass_spring_force_spring_bending_angular(Implicit_Data *data, int i, in
                                                   float stiffness, float damping,
                                                   float r_f[3], float r_dfdx[3][3], float r_dfdv[3][3])
 {
-	float target[3], dist[3], extent[3], length, dir[3], vel[3];
+	float target[3], targetdir[3];
+	float extent[3], dir[3], length;
+	float dist[3], vel[3];
 	float f[3], dfdx[3][3], dfdv[3][3];
 	
 	target[0] = 0.0f;
@@ -1786,11 +1788,14 @@ bool BPH_mass_spring_force_spring_bending_angular(Implicit_Data *data, int i, in
 //	spring_length(data, i, j, extent, dir, &length, vel);
 	sub_v3_v3v3(extent, data->X[j], data->X[i]);
 	sub_v3_v3v3(vel, data->V[j], data->V[i]);
-	length = len_v3(extent);
+	length = normalize_v3_v3(dir, extent);
+	normalize_v3_v3(targetdir, target);
 	
 	sub_v3_v3v3(dist, target, extent);
 	mul_v3_v3fl(f, dist, stiffness);
-//	mul_v3_v3fl(f, dir, fbstar(length, restlen, kb, cb));
+	
+	madd_v3_v3fl(vel, dir, -dot_v3v3(vel, dir));
+	madd_v3_v3fl(f, vel, damping);
 	
 	zero_m3(dfdx);
 	zero_m3(dfdv);




More information about the Bf-blender-cvs mailing list