Real World Rope Physics!

Real World Rope Physics!

by mathNinja9

πŸ‘ 198 ❀️ 43 ⭐ 33 πŸ”„ 0
Created: Feb 10, 2021 Last modified: Oct 11, 2021 Shared: Feb 12, 2021

Instructions

Welcome to my Rope Physics! I do believe I have created the most physically accurate rope simulation on Scratch! This project revolves around real-world math, and I do believe I can make this project even better! (Read Below) I created this project on my test account, @mathNinja9. On here you can find some interesting tests, such as terrain generation, epic multiplayer engines, and much more! Check out my real account at @superfireninja9 for fun games and some silly animations :P IMPORTANT: When you run it right here on Scratch, it will be pretty stretchy unlike ropes in the real world. To make it better, you can increase the accuracy. This will lag a ton, so go ahead and run this project on TurboWarp and turn the accuracy up as much as you can! https://turbowarp.org/486240132 YOU CAN USE THIS ENGINE: Feel free to use this engine in your own projects! Please include a link to my project explaining where you got the rope physics, as it has taken me over a year to finally grasp the concept of Soft-Body physics! I do suggest making sure the rope accuracy never exceeds 15 on a normal scratch project, though. If it is being run in TurboWarp, you can turn it up to 1000! The higher the accuracy, the more realistic it is! HOW I CAN IMPROVE THIS ENGINE: I simulate this engine by having little particles, connected by constraints or links, almost like a chain. I need to make sure these particles all stay the perfect distance from each other. When you do this once per particle (reduce ACCURACY to 1), it stretches out because each particle is overriding each other. In theory, I would need to relax the particles infinite times per frame to get a perfect rope. But, it looks just fine with a finite number from about 200-1000. The higher, the more accurate. The problem is, it lags so much! I need to create a better algorithm to move the particles together without repeatedly moving them together until they are correct with brute force, but precisely calculating how each of them should move. Ok. If you just sat through that, wow! REAL WORLD PHYSICS: Ok. Now to explain the physics! I divide each frame into 3 steps: Simulate, Relax, and Render. The Simulate step simulates the gravity and other forces from the rope. It uses something called the Verlet Integration, another way of solving the Euler Equation, and is much more stable than some other methods of simulation. You may see that the rope does NOT keep track of the velocity in this project, yet it moves as if it had a velocity! This is because I only keep track of the current position and the previous position. I can basically just subtract the last position from the current position to get the velocity! The nice thing is, when I am Relaxing the rope, moving the particles together, the Simulate algorithm sees the change in movement and calculates the new velocity without anything fancy! The Relax step moves all particles together to ensure they stay the correct distance from each other like a rope. It goes through all of the constraints and moves the particles towards the particles they are connected to, from one end of the rope to the other. The issue is, these particles are connected to 2 particles each, correct? That means that each particle is needed to move two directions at once, which is not possible. Instead, we let the two cancel out, only moving in one direction a little bit. The problem with this is that it is not completely relaxing the rope! We have to do this over and over, hundreds of times per frame to get an almost perfect simulation! In theory, you would have to relax the constraints infinite times, but of course, no computer can simulate that. Instead, we show that we can accurately simulate a rope with a finite number. But still, the higher the number, the better! The ACCURACY variables is how many times per frame the constraints are relaxed. On Scratch, 15 is pretty much the MAX we can go. Run this on turbo warp, we can go up to 1000, though 200 is accurate enough! The Render step is extremely simple. I just go through all of the particles and draw a line between them! :P If you really did read through all of that, you have earned the title of Rope Nerd. Comment Rope Nerd to show your pride! xD

Project Details

Visibility
Visible
Comments
Enabled

More Cool Projects

Project thumbnail
View Project

widescreen version

by CheeseRoblox

Project thumbnail
View Project

ADI Cameras Engine

by TriggeredMickey

Project thumbnail
View Project

beat up elmo.exe

by Lestat1025

Project thumbnail
View Project

beguitaopienn

by Ramadao2000

Project thumbnail
View Project

beat up evil scratch cat! 1.4 remix

by xmralexx

Project thumbnail
View Project

talking tom and ben news remix-3

by bonzi346

Project thumbnail
View Project

Beat Up Scratchy! v1.1

by ScratchyFanGames

Project thumbnail
View Project

Dark Bowser Jr. Battle v1.2

by greendinosaser21

Project thumbnail
View Project

Sprunki OC real v3 part 3/3 thumbnail for @BIZorg

by Kiruha73

Project thumbnail
View Project

Colourblocks Band

by Fredua_plays_scratch

Project thumbnail
View Project

Project PoWiirfUl (Wii U release) Remix byjvs

by jorgevigueraso

Project thumbnail
View Project

Coppers timeblocks 2

by copper2272

Project thumbnail
View Project

jsab 2

by billyandtimmygamers

Project thumbnail
View Project

Scratch Mii Character Creator V2 remix-2

by Isaack12

Project thumbnail
View Project

Touhou Fangame #5 ~ Incident In Scarlet Mansion Part I

by -SV-

Project thumbnail
View Project

Game / Xx_FRESHSANS_xX Fight

by --Shiran--

Project thumbnail
View Project

β™«γƒ”γ‚’γƒŽγƒ­γƒΌγƒ«δ½œγ£γ¦γΏγŸγ€€γƒ΄γ‚‘γƒ³γƒ‘γ‚€γ‚’γ€€γ‚Ήγ‚―γƒͺγƒ—γƒˆζΌ”ε₯

by zgmf-x-20a_sub

Project thumbnail
View Project

sky γƒœγƒΌγƒ«γ“γ‚γ“γ‚15 hardmode3

by skyblueball2

Project thumbnail
View Project

My Talking Max

by CC20111

Project thumbnail
View Project

Cuphead Moonshine Mob Boss Fight

by NinjaBenM

Project thumbnail
View Project

Destroy Scratch Cat!!!! (Mobile)

by STANFEE

Project thumbnail
View Project

(AY) Destroy the "Project could not save"! (13)

by thesecretsussy

Project thumbnail
View Project

Beat Up me Extreme 1b

by tnwlss1013

Project thumbnail
View Project

Weather Radar Simulator (Beta)

by trussleburg