From 2ab6b6cfe81505b029f2da397cef0bb58989444f Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 17 Jun 2021 21:32:57 -0400 Subject: (mkosarek) Beginning to explain rigidbody physics in a reasonable way --- index.html.content | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'index.html.content') diff --git a/index.html.content b/index.html.content index dab9097..07eeea2 100644 --- a/index.html.content +++ b/index.html.content @@ -2,30 +2,22 @@

Introduction: Rigid Body Physics

- 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.

- In implementing a rigidy body physics system, we're primarily interested in two sub-fields of physics, namely dynamics and kinematics. 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: -

+ My primary goal in this website is to display how a competent programmer might implement 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. +

+

+ 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.

- 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: +

-- cgit v1.2.1