summaryrefslogtreecommitdiff
path: root/index.html
blob: fa6fedd05713db2a41e4137e88f8d834d78ee96b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<link rel="stylesheet" href="/index.css">
		<title>Physics for Games</title>
		<link rel="shortcut icon" href="favicon/favicon.ico" type="image/x-icon">
	</head>
	<body>
		<header>
			<h1><a title="physicsforgames.com" href="/">Physics for Games</a></h1>
		</header>
		<main>
		<nav>
		<ul class="outer-tree">
			<li><a href="/">Introduction</a></li>
			<li>
				<span>&#127936;<span>2D</span></span>
				<ul class="inner-tree">
					<li><label>Rigidbody</label></li>
					<li><a href="/2d/rigidbody/rigidbody_1.html">Linear Forces</a></li>
					<li><label>Collisions</label></li>
					<li><a href="/2d/_collisions/circle_line.html">Circle-Line</a></li>
					<li><a href="/2d/_collisions/rectangle_line.html">Rectangle-Line</a></li>
					<li><a href="/2d/_collisions/rectangle_rectangle.html">Rectangle-Rectangle</a></li>
					<li><a href="/2d/_collisions/pill_line.html">Pill-Line</a></li>
					<li><a href="/2d/_collisions/pill_pill.html">Pill-Pill</a></li>
					<li><a href="/2d/_collisions/polygon_polygon.html">Polygon-Polygon</a></li>
				</ul>
			</li>
			<li>
				<span>&#127776;<span>3D</span></span>
				<ul class="inner-tree">
				</ul>
			</li>
			<li>
				<span>&#128295;<span>WebAssembly</span></span>
				<ul class="inner-tree">
					<li><a href="/intro/intro.html">Introduction</a></li>
				</ul>
			</li>
			<li>
				<span>&#128712;<span>About</span></span>
				<ul class="inner-tree">
					<li><a href="/roadmap.html">Roadmap</a></li>
				</ul>
			</li>
		</ul>
		</nav>
<article>
  <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.
    </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>
    </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.
    </p>
  </section>
</article>
		</main>
	</body>
</html>