From 64d9675091593b074d3ad1e71829291728914cee Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Wed, 19 May 2021 20:47:59 -0400 Subject: Removed rigidbody physics demos so that I can redo them properly --- 2d/_rigidbody/part_1.html | 93 ----------------------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 2d/_rigidbody/part_1.html (limited to '2d/_rigidbody/part_1.html') diff --git a/2d/_rigidbody/part_1.html b/2d/_rigidbody/part_1.html deleted file mode 100644 index 9e8d8f0..0000000 --- a/2d/_rigidbody/part_1.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - Physics for Games - - - - - - - - - -
-

Physics for Games

-
-
- -
-

Part 1: Linear Forces

-
-

- The first - and perhaps easiest - part of implementing any rigid body physics system is getting the entities in your scene to move in response to linear forces. - With this implementation alone, you can achieve an interesting level of realism in your 2D (and even 3D) scene. -

-

- Let's begin by recalling the relationships between acceleration, velocity, and position. -

-

- Knowing all this, you should be able to understand the following source code fairly easily; -

-                            
-    function update(dtSeconds) {
-        // Add up the forces acting on the circle
-        const GRAVITY = 9.8;
-        const lGravityForce = vec2(0, -1.0 * (lCircle.mass * GRAVITY));
-        lCircle.force = addVec2(lCircle.force, lGravityForce);
-    
-        // Figure out acceleration (a = F / m)
-        const lCurrentAcceleration = scaleVec2(lCircle.force, 1.0 / lCircle.mass);
-    
-        // Calculate the new velocity: v = v0 + a * t
-        lCircle.velocity = addVec2(lCircle.velocity, scaleVec2(lCurrentAcceleration, dtSeconds));
-    
-        // Update the position based on velocity: x = x0 + v * t
-        lCircle.position = addVec2(lCircle.position, scaleVec2(lCircle.velocity, dtSeconds));
-    
-        // Update the model matrix accordingly
-        lCircle.model = translateMatrix(mat4(), lCircle.position.x, lCircle.position.y, 0);
-    
-        // Reset the force vector for the next update
-        lCircle.force = vec2()
-    }
-                            
-                        
-

-
- -
-
    -
  • Linear Force:N/A
  • -
  • Linear Acceleration:N/A
  • -
  • Linear Velocity:N/A
  • -
  • Linear Position:N/A
  • -
-
-
- - - -
- -
-
- - -
-
-
-
- - \ No newline at end of file -- cgit v1.2.1