Lecture 17: Physical Simulation (15)
SuryaTalla22

This equation is a little bit confusing. Usually, when dealing with springs I simply add an extra drag term dependent on v that causes damping, but it looks like this way of doing things is just manipulating the length of the spring and the spring constant

charshou

This makes sense when applying to a cloth. If the spring constant is close to zero or zero, then it means that the spring itself is very loose, corresponding to a very light cloth. On the other hand if the constant is very large, that corresponds with a stiff spring, which would simulate a sheet that is more resistant to change. Adjusting the coefficient to be something in between allows for the simulation of different materials.

sebzhao

Does that mean in our physical model we assume that drag is irrelevant or should be included just in the spring constant?

dhruvchowdhary

Focusing damping on just the spring's internal motion lets us make animations that feel more real. This way, a rusty spring can slow down in its bounce without falling through the air more slowly than it should. It's a smart way to separate the effects of internal friction from external forces like gravity, making simulations look right and behave naturally.

ttalati

Besides modeling all of these point masses connected together as with springs are there some other common models for the interconnections of discretized masses together? I would imagine as long as we satisfy stability and realism other ones would make sense, but maybe others are not as prevalent because this model is extremely generalizable?

Hamme122

I felt somewhat confused about this formulation. Now I have understand it and wish my understanding will help others:

  1. The first occurrence of the unit vector baba\frac{b - a}{\|b - a\|} serves to direct the damping force along the line of the spring. It ensures that the force is a vector quantity with both magnitude and direction, pointing from point aa towards point bb or vice versa, depending on the relative motion.
  2. The second occurrence is within the dot product with the relative velocity(b˙a˙)(\dot{b} - \dot{a}). This dot product calculates how much of the relative velocity is in the direction of the spring's displacement. The result of the dot product is a scalar representing the velocity component along the length of the spring, which is the part of the velocity that contributes to the change in the spring's length.
0-0-00-0

Thanks for the clarifications from the other comments! It seems the equation can be rewritten as: fa=kd((b˙a˙)baba)baba\mathbf{f}_a=-k_d( (\dot{\mathbf{b}}-\dot{\mathbf{a}}) \cdot\frac{\mathbf{b}-\mathbf{a}}{\lVert\mathbf{b}-\mathbf{a}\rVert})\frac{\mathbf{b}-\mathbf{a}}{\lVert\mathbf{b}-\mathbf{a}\rVert}

zeddybot

I'm wondering why we choose to normalize both occurrences of bab - a. Don't we want to force to be (roughly) proportional to the distance between the endpoints of the spring (perhaps with some length offset)?

0-0-00-0

@zeddybot This force is a damping force (resistance) against the motion of the spring. I think it should be proportional to the relative velocity of the two point masses. i.e. it can be written as f=kv\vec{f}=-k\vec{v}, where v\vec{v} is the derivative of the distance from bb to aa, and is equivalent to everything after kdk_d in the slide.

brandonlouie

The spring equation in this slide is useful for computing the force applied to a spring in 2 or more dimensions! For one dimension, though, I find that it is easier to use Hooke's law (F = -kx) so you don't have to deal with the velocity terms (and I believe this should produce the same result).

You must be enrolled in the course to comment