Interactive Spring Physics 1.5

Interactive Spring Physics 1.5

by griffpatch

👁 34,853 ❤️ 1,354 ⭐ 1,212 🔄 59
Created: Apr 20, 2014 Last modified: Nov 26, 2023 Shared: Apr 25, 2014

Description

To Do: 1) Impact Friction, 2) Impact dampening, 3) Solve shapes slipping inside each other issue...? 25 Apr 2014 - v1.5 - Increased speed by adding pre collision bounding box overlap detection. 24 Apr 2014 - v1.4 - Improved stability of low polygon shapes. 24 Apr 2014 - v1.3 - Added distributed impact (= better collision resolution). Added vertical sliders to effect vertical conveyor belts. 23 Apr 2014 - v1.2 - Added 1, 2 and L keys to spawn shapes... Slow with collisions turned on though :( 23 Apr 2014 - v1.1 - Added fixable points (space) 23 Apr 2014 - v1.0 - Added object to object collision detection, plus simplistic initial attempt at collision resolution using axis of least penetration and applying opposing forces. 22 Apr 2014 - v0.4b - Added bitmap overlay (TNT) and an 'L' shaped polygon. 22 Apr 2014 - v0.4 - Added spring dampening to the equations (dramatically improving object stabilization). Added ability to grab an object, swing at about, and throw it! 20 Apr 2014 - v0.3 - Added higher polygon shape and changed to alternative more stable (perhaps) shape construction? 16 Apr 2014 - v0.2 - Added Lower Conveyor Belt Slider. Corrected off screen and partial off-screen drawing of shapes. Improved stability a little... 15 Apr 2014 - v0.1 - How does it work? Each shape is made of a number of nodes, each connected by 2 or more springs to other nodes in the same shape. Each node is affected by gravity, air resistance, contact with the edge of the window and the push or pull of the springs from other nodes. And that's about it! The trick is to find a good balance between sponginess and rigidity of the springs, too spongy and the objects look like jelly, too rigid and the objects can go crazy and glitch out :S

Instructions

Interactive 2D Spring Physics * Drag a corner to manipulate a shape * Tap space while dragging to fix a point (drag again to release) * Slide the sliders to affect the physics engine. * Slide for lower slider to change the speed of the conveyor belt. * Press 'R' to reset the simulation... * Press '1, 2 or L' to spawn new shapes... (SLOW!) Adding collision detection and resolution has (as expected) slowed the whole things down a lot! :( You've probably seen these before on Scratch (Sometimes called Elastic Physics?)... I first wrote one around 14 years ago in Turbo Pascal *grin* - Crazy huh! This is just a quick test to make sure things work fast enough in Scratch. I wanted to add collision detection, that was the aim, but I'm not feeling confident that Scratch can handle the math fast enough.

Project Details

Visibility
Visible
Comments
Enabled