Building Ragdolls
Sketching with Math and Quasi Physics
There is a newer and more elaborate version of this site.
Visit Sketching with Math and Quasi Physics on Notion.
Verlet Points
Verlet integration is based on the assumption that, without force applied, an object will continue the uniform motion that it previously had. Instead of explcitly maintaining velocity as a variable belongs to the object, the change from the previous position to the current position is used as substitute for the velocity.
let v = (random(1) + random(1)) / 2;
update() {
let temp = this.position.copy();
this.position.add(this.getVelocity());
this.prevPosition = temp;
}
setVelocity(v) {
this.prevPosition = this.position.copy().sub(v);
}
getVelocity() {
return this.position.copy().sub(this.prevPosition);
}
Learn more
Verlet Sticks
The points can be connected by segments(sticks) that constrain the distances between them
update() {
let dist = this.pa.position.dist(this.pb.position);
let diff = this.length - dist;
let offset = this.pa.position.copy().sub(this.pb.position).mult(diff / dist / 2);
this.pa.position.add(offset);
this.pb.position.sub(offset);
}