I'm studying spring model. There is a suggested equation (Hooke's Law vector form) But, I couldn't understand how to derive that equation.

I'm reading 'Computer Animation Algorithms and Techniques Third Edition. In the page 241, (7.88) The equation is as follows:

($|v_{1}^* - v_{2}^*|$: the rest length)

($|v_{1} - v_{2}|$: the current length)

$F_s = (\frac{k_s|v_1 -v_2| - |v_{1}^* - v_{2}^*|}{{|v_{1}^* - v_{2}^*|}})\frac{(v_1 -v_2)}{|v_1 -v_2|}$ // I think the $k_s$ is typo.

(I referred to http://www2.cs.uregina.ca/~anima/408/Notes/Cloth/Cloth.htm)

So, maybe $F_s = k_s(\frac{|v_1 -v_2| - |v_{1}^* - v_{2}^*|}{\color{red}{|v_{1}^* - v_{2}^*|}})\frac{(v_1 -v_2)}{|v_1 -v_2|}\cdot\cdot$(1) is correct.

However, I wonder why the red part divides the equation?

If I know correctly about Hooke's Law, $F=-k_s(current_{lenght} - rest_{length})\cdot\cdot$(2).

It means that the red part should be removed like that $F_s = k_s(|v_1 -v_2| - |v_{1}^* - v_{2}^*|)\frac{(v_1 -v_2)}{|v_1 -v_2|}\cdot\cdot$(3).

For example, in 3D space, there is a spring that has the spring term as $k_s$.

The rest length is '3', so let's assume the left rest point, $v_2^*$, is fixed at (0,0,0) and the right rest point, $v_1^*$, is (3,0,0).

And then we moved $v_1^*$ to $v_1 $=(5, 0, 0) with some force. We can calculate the force with (2), and the force is $-2k_s = -k_s(|(5,0,0) - (0,0,0)| - |(3,0,0) - (0,0,0)|)$

But if we use equation (1), the result is different.

$F_s = -k_s(\frac{|v_1 -v_2| - |v_{1}^* - v_{2}^*|}{{|v_{1}^* - v_{2}^*|}})\frac{(v_1 -v_2)}{|v_1 -v_2|} \\\quad= -k_s(\frac{|(5,0,0) -(0,0,0)| - |(3,0,0) - (0,0,0)|}{{|(3,0,0) - (0,0,0)|}})\frac{((5,0,0) -(0,0,0))}{|(5,0,0) -(0,0,0)|} \\\quad= -\frac{2}{3}k_s(1,0,0)$

The force amount of $-\frac{2}{3}k_s(1,0,0)$ is totally different from $-2k_s$

Could you explain what I'm wrong?

  • $\begingroup$ The name of the guy is Hooke threfore it is Hooke's law $\endgroup$
    – joojaa
    Oct 13, 2017 at 9:54
  • $\begingroup$ Oh, sorry about that! I edited my typos. $\endgroup$
    – shashack
    Oct 13, 2017 at 16:28

1 Answer 1


If we sidestep your typo (the last term has one absolute too much), both formulations are correct. They just express different things. The $k$ in Hooke's law is for a particular spring. $k_s$ is the siffness for a paricular material.

Now in the linear portion there is a direct relationship betwen these the material stffness is directly propotional to the spring factor and length of member. So for example when the rest length of a different spring with same material is 2 times as long its 1/2 as stiff.

  • $\begingroup$ I add an example could you please see that? $\endgroup$
    – shashack
    Oct 13, 2017 at 17:04
  • $\begingroup$ @shashack obviously they model a different thing. The other models springs that can be any size but equally elastic and the other only works for springs that you haev separately tested. All is as i explained and expected. $\endgroup$
    – joojaa
    Oct 13, 2017 at 17:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.