Notion - Update docs

This commit is contained in:
shiffman 2024-02-26 22:20:35 +00:00 committed by GitHub
parent 297b31eae7
commit 4d2574c236
2 changed files with 4 additions and 2 deletions

View file

@ -1393,7 +1393,9 @@ class Particle extends VerletParticle2D {
<img src="images/06_libraries/06_libraries_15.png" alt="Figure 6.13: Soft-body simulation designs">
<figcaption>Figure 6.13: Soft-body simulation designs</figcaption>
</figure>
<p>As the figure shows, a string can be simulated by connecting a line of particles with springs; a blanket can be simulated by connecting a grid of particles with springs; and a cute, cuddly, squishy cartoon character can be simulated with a custom layout of particles connected with springs. Its not much of a leap from one to another.</p>
<div class="avoid-break">
<p>As the figure shows, a string can be simulated by connecting a line of particles with springs; a blanket can be simulated by connecting a grid of particles with springs; and a cute, cuddly, squishy cartoon character can be simulated with a custom layout of particles connected with springs. Its not much of a leap from one to another.</p>
</div>
<h3 id="a-string">A String</h3>
<p>Ill begin by simulating a <em>soft pendulum</em>—a bob hanging from a flexible string instead of a rigid arm. As it happens, Toxiclibs.js offers a convenient <code>ParticleString2D</code> class that creates a string of particles connected by springs in a single constructor call. However, for demonstration purposes, Ill create my own particle string by using an array and a <code>for</code> loop. This way, youll gain a deeper understanding of the system, enabling you to create your own custom designs beyond a single string in the future.</p>
<p>First, I need an array of particles. Ill use the same <code>Particle</code> class built in Example 6.11:</p>

View file

@ -27,11 +27,11 @@
<li>Each cell has a <strong>neighborhood</strong>. This can be defined in any number of ways, but its typically all the cells adjacent to that cell.</li>
</ul>
<p>Its important to stress that the cells in a CA dont refer to biological cells (although youll see how CA can mimic lifelike behavior and have applications in biology). Instead, they simply represent discrete units in a grid, similar to the cells in a spreadsheet (as in Microsoft Ex<em>cel</em>). Figure 7.1 illustrates a CA and its various characteristics.</p>
<p>The second CA feature I listed—the idea that a cells state can vary over time—is an important new development. So far in this book, the objects (movers, particles, vehicles, boids, bodies) have generally existed in only one state. They might have moved with sophisticated behaviors and physics, but ultimately they remained the same type of object over the course of their digital lifetime. Ive alluded to the possibility that these entities can change over time (for example, the weights of steering “desires” can vary), but I havent fully put this into practice. Now, with CA, youll see how an objects state can change based on a system of rules.</p>
<figure>
<img src="images/07_ca/07_ca_2.png" alt="Figure 7.1: A 2D grid of cells, each with a state of on or off. A neighborhood is a subsection of the large grid, usually consisting of all the cells adjacent to a given cell (circled).">
<figcaption>Figure 7.1: A 2D grid of cells, each with a state of <em>on</em> or <em>off</em>. A neighborhood is a subsection of the large grid, usually consisting of all the cells adjacent to a given cell (circled).</figcaption>
</figure>
<p>The second CA feature I listed—the idea that a cells state can vary over time—is an important new development. So far in this book, the objects (movers, particles, vehicles, boids, bodies) have generally existed in only one state. They might have moved with sophisticated behaviors and physics, but ultimately they remained the same type of object over the course of their digital lifetime. Ive alluded to the possibility that these entities can change over time (for example, the weights of steering “desires” can vary), but I havent fully put this into practice. Now, with CA, youll see how an objects state can change based on a system of rules.</p>
<p>The development of CA systems is typically attributed to Stanisław Ulam and John von Neumann, who were both researchers at the Los Alamos National Laboratory in New Mexico in the 1940s. Ulam was studying the growth of crystals, and von Neumann was imagining a world of self-replicating robots. You read that right: robots that can build copies of themselves.</p>
<p>Von Neumanns original cells had 29 possible states, so perhaps the idea of self-replicating robots is a bit too complex of a starting point. Instead, imagine a row of dominoes; each domino can be in one of two states: standing upright (1) or knocked down (0). Just as dominoes react to their neighboring dominoes, the behavior of each cell in a CA is influenced by the states of its neighboring cells.</p>
<p>This chapter explores how even the most basic rules of something like dominoes can lead to a wide array of intricate patterns and behaviors, similar to natural processes like biological reproduction and evolution. Von Neumanns work in self-replication and CA is conceptually similar to whats probably the most famous CA, the Game of Life, which Ill discuss in detail later in the chapter.</p>