summaryrefslogtreecommitdiff
path: root/3d/rigidbody.html.content
blob: 1a7150c6c4de69d0dd6e97cca7cdc8f978fab82c (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
<script src="./rigidbody/dist/output.js"></script>
<script>
  window.onload = function() {
      var lPlayElement = document.getElementById('gl_canvas_play'),
          lStopElement = document.getElementById('gl_canvas_stop');
      lPlayElement.addEventListener('click', function() {
          lPlayElement.style.display = 'none';
          lStopElement.style.display = 'block';
      });
      lStopElement.addEventListener('click', function() {
          lStopElement.style.display = 'none';
          lPlayElement.style.display = 'block';
      });
  }
  
</script>
<article>
  <h1>Rigidbody in 3D</h1>
  <section>
    <section>
      <h2>Quaternions</h2>

    </section>
    <section>
      <h2>Quaternions</h2>
      <p>
        A discussion of 3D physics simulation woudl not really wouldn't be a discussion of 3D simulation if we didn't jump right into quaternions. Before I start, however, I recommend you take a look at <a href='https://www.3dgep.com/understanding-quaternions'>this article</a>. Quaternions have been written about over and over throughout the years (and I have read many articles about them over and over throughout the years), so I will not waste your time describing every single detail here. The article that I linked to should provide you enough information to begin to understand what quaternions are and why they're important. That being said, I will provide a brief intro to quaternions here, as well as my own C++ implementation of their algebra. (This article is also quite useful: <a href='http://danceswithcode.net/engineeringnotes/quaternions/quaternions.html'>Dance's With Code Website</a>)
        <br/><br/>
        
      </p>
    </section>
    <section>
	  <h2>
	    Live Example
	  </h2>
      <p>
        <button id='force_apply'>Click Me</button>
      </p>
      <div class="opengl_canvas_container">
        <canvas id="gl_canvas" width="800" height="600"></canvas>
        <button id="gl_canvas_play" class="play_button">
          Play
        </button>
        <button id="gl_canvas_stop" class="stop_button">
          Stop
        </button>
      </div>
	  
      <footer id="references">
        <h2>References</h2>
        <ul>
        </ul>
      </footer>
    </section>
</article>