diff options
author | Matthew Kosarek <mattkae@protonmail.com> | 2021-06-17 21:32:57 -0400 |
---|---|---|
committer | Matthew Kosarek <mattkae@protonmail.com> | 2021-06-17 21:32:57 -0400 |
commit | 2ab6b6cfe81505b029f2da397cef0bb58989444f (patch) | |
tree | 41c581c80310c060dcbdcb049ce88970ca418d72 /index.html | |
parent | 8748228bc9effa4779f4c1062f5fbc07f1d07a60 (diff) |
(mkosarek) Beginning to explain rigidbody physics in a reasonable way
Diffstat (limited to 'index.html')
-rw-r--r-- | index.html | 32 |
1 files changed, 12 insertions, 20 deletions
@@ -52,30 +52,22 @@ <h1>Introduction: Rigid Body Physics</h1> <section> <p> - You're most likely here because you have some interest in the world of rigid body physics. Maybe you have some knowledge of rendering via OpenGL or Vulkan, - and you want to begin watching your up-until-now static scene come to life. Well, you're in the right place! In the course of this tutorial series I will walk - you through the entirety of a 2D rigid body physics system entirely in the web. All of this information will be extendable to other languages, but we will use - JavaScript and WebGL in these blog posts. Additionally, much of the information presented here can be extended to 3 dimensions, but 3D carries some complications - with it, that we will discuss in future blog posts. + You're most likely here because you have some interest in the world of realtime physics simulation. Maybe you have some knowledge of rendering via OpenGL or Vulkan, + and you want to see your up-until-now static scene come to life. Well, you're in the right place! In the course of this tutorial series I will walk + you through building a variety of physics simulations - 2D and 3D rigidboy, soft body, collision algorithms - entirely in the web. All of this information will be extendable to other languages, but we will use + C++ and OpenGL compiled to WebAssembly and WebGL in this tutorial series. </p> <p> - In implementing a rigidy body physics system, we're primarily interested in two sub-fields of physics, namely <b>dynamics</b> and <b>kinematics</b>. Although I'm - far as can be from being an expert in either of these fields, I will explain - from a programmer's persepctive - what they mean to me: - <ul> - <li> - <b>Kinematics</b> is the study of how an object's movement changes over time. These are the classic position, velocity, and acceleration equations - that you're most likely familiar with from high school or college physics. - </li> - <li> - <b>Dynamics</b> is the study of whats <i>causes</i> kinematic movement. These are the classic force and momentum equations that you may already be familiar - with as well. - </li> - </ul> + My primary goal in this website is to display how a competent programmer might <i>implement</i> different types of believable physics simulations. Because of this, I will not spend too much time discussing physics theory, unless it is absolutely necessary that I do so for a particualr section. Physics - especially the world Newtonian physics where most game engines spend their time - is a well-documented subject, and I would be doing a great injustice to the field if I were to consider myself qualified at explaining it. I am no physicst by trade, so I will leave that talk to the big brains at the universities. + </p> + <p> + Each of the tutorials on the sidebar are meant to be self-contained, so long as you have a good understanding of the fundamentals of vector calculus. Which leads me to my next disclaimer: I am assuming competency in both some programming language as well as vector calculus/linear algebra in these tutorials. The math that you need to know in order to implement these simualtions isn't all that difficult, but, as with fix, I consider myself hardly qualified at explaining them, as I only do math so much as it is useful to me. Many many books and stackoverflow posts have been written on these subjects, and I am sure that you will not encounter any trouble at all if you wish to study them yourself. </p> <p> - Finally, I must provide a disclaimer that all of rigid body systems are very math-y. You will need to know a decent amount of vector calculus and linear algebra to really understand - what's going on here. I am going to assume that you have this knowledge. If you don't already have this knowledge, I will try and provide some resources on the Books - n' References page of the website. + Finally, I feel the need to provide some references up front which I have found particularly useful in my studies of physics simulations. Those being: + <ul> + <li><a href="http://www.chrishecker.com/Rigid_Body_Dynamics">Chris Hecker's Rigid Body Dynamics Papers</a>: I would be a liar and a cheat if I didn't say that I owe Chris Hecker all of my gratitude for getting me interseted in rigid body physics in the first place. Before you even begin to navigate my website, I recommend that you read all of his papers on Rigid Body physics, as he manages to explain the subject in a way that anyone with very minimal math knowledge can understand.</li> + </ul> </p> </section> </article> |