https://matthias-research.github.io/pages/tenMinutePhysics/index.html Ten Minute Physics This is the page accompanying my youtube channel Ten Minute Phyics. In short episodes of about ten minutes I explain the basic concepts of physically based simulation. Each time I write a little javascript demo that runs in any browswer. Youtube Contributions Back Contributions Write a cool standalone html demo based on one of the tutorials. Send me the html file, your name, country, short description and a thumbnail (640 x 360) to matthimf at gmail dot com. If you like you can also send me a link to your personal page. I will then put your contribution online here. Tutorials Many more to come - stay tuned! 17 How to write an Eulerian Fluid Simulator with 200 lines of code. [17] In this tutorial I explain the basics of Eulerian, grid-based fluid simulation and show how to write a simulation engine based on these discussed concepts. Video Code Demo Notes (PDF) 16 Simulation on the GPU In this tutorial I give a short introduction to simulating on [16] the GPU. I use python in connection with the nvidia python extension warp as a simple way to write GPU simulations. Video Code Notes (PDF) 15 Self-collisions, solving the hardest problem in animation In this tutorial I give you 5 tricks for stably handling cloth [15] self-collisions. We use the cloth simulation of tutorial 14 and the hash grid introduced in tutorial 11. Video Code Demo Notes (PDF) 14 The secret of cloth simulation In this tutorial I reveal the secret of cloth simulation. I use [14] it to write a very fast and stable cloth demo that simulates 6400 triangles at more than 30 fps on a cell phone in javascript. Video Code Demo Notes (PDF) 13 Writing a Tetrahedralizer for Blender In this tutorial I explain how to create a tetrahedral mesh for [13] a surface mesh using the incremental Delaunay method. I also briefly discuss the implementation as a python blender plugin. Video Plugin Notes (PDF) 12 100x speedup for soft body simulations In this tutorial I show how to speedup soft body simulation by [12] 100x by embedding a high detail visual mesh into a low resolution tetrahedral simulation mesh. Video Code Demo Notes (PDF) 11 Finding overlaps among thousands of objects blazing fast In this tutorial I show how to find overlaps among thousands of [11] objects using spatial hashing. In addition to explaining the method, I also show how to implement it in a very efficient way. Video Code Demo Notes (PDF) 10 Simple and unbreakable simulation of soft bodies In this tutorial I show how to simulate soft bodies with in an unconditionally stable and simple way. Using a discrete rather [10] than a continuous model and a local instead of a global solver removes almost all difficulties of traditional methods and yields a simple, short and fast algorithm. I recommend to watch tutorial 9 first. Video Code Demo Notes (PDF) 09 Getting ready to simulate the world with XPBD In this tutorial I introduce general extended position based dynamics or XPBD, a simple and unbreakable method to simulate [09] almost everything. The tutorial is self contained. However, I highly recommend to watch tutorial 7 first to refresh your 3d math. Video Notes (PDF) 08 Providing user interaction with a 3d scene In this tutorial I show how to enable the user to pick up move [08] and throw objects in a 3d scene. For this I introduce the concepts of a mouse ray and ray casting. Video Code Demo 07 Intuitive 3d Vector Math for Simulation I give an introduction to 3d vector math, the math that we need to write 3d simulations. In the compact presentation I focus on [07] the part used in simulations. In addition to the definitions of the concepts, I explain my personal intuitions behind the concepts which I developed over time. Video Notes (PDF) 06 Writing a triple pendulum simulation is simple I show you how to handle hard distance constraints with Position based dynamics. They can be used to simulate a large variety of [06] objects like cloth, ropes, hair, fur, sand and many more. To demonstrate the accuracy of PBD we will write a triple pendulum simulation. Video Short Code Short Demo Code Demo 05 The simplest possible physics simulation method I introduce the Position Based Dynamics method to simulate [05] constraints. I apply it to the circle on wire problem and compare it to the analytic solution to demonstrate its accuracy. Video Code Demo Code Demo 04 How to write a pinball simulation I show you how to handle ball - capsule collisions and [04] collisions against arbitrary boundaries represented by segments. I also show how to handle touch and mouse events. Video Code Demo 03 - Ball collision handling in 2d [03] I show how to handle collisions of balls in 2d while creating a billiard scene. Video Code Demo 02 - Introduction to 3d and VR web browser physics [02] We make our cannonball 3d and turn it into a VR demo using the graphics engine THREE.js. Video Code Demo VR Code VR Demo 01 - Introduction to 2d web browser physics [01] I give a brief intoduction to this channel and to physics. After that we write a 2d cannonball simulation. Video Code Demo