Cover of The Nature of Code

The Nature of Code

How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds? This book focuses on a range of programming strategies and techniques behind computer simulations of natural systems, from elementary concepts in mathematics and physics to more advanced algorithms that enable sophisticated visual results. Readers will progress from building a basic physics engine to creating intelligent moving objects and complex systems, setting the foundation for further experiments in generative design. Subjects covered include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms. The book's examples are written in Processing, an open-source language and development environment built on top of the Java programming language. On the book's website (http://www.natureofcode.com), the examples run in the browser via Processing's JavaScript mode.

Audience
adult
Length
long · 520 pages

Click a tag to see books like this one that share it. Point at it (on a phone, tap it) for less of it instead.

Read it? Sign in to help tag it.

Liked The Nature of Code? Here’s where I’d start.

These suit anyone who liked The Nature of Code. Sign in and mark a few books for picks shaped around your own taste.

  1. Getting Started with Processing Shares processing, code, technology
  2. Generative Design: Visualize, Program, and Create with Processing Shares programming, creative coding, computer science
  3. The Practice of Programming (Addison-Wesley Professional Computing Series) Shares programming, computer science, tech
  4. The Computational Beauty of Nature - Computer Explorations of Fractals, Chaos, Complex Systems & Adaption (Paper) (Bradford Books) Shares programming, computer science, science

“People who read The Nature of Code tend to reach for these next.”

  1. On Lisp: Advanced Techniques for Common Lisp
  2. Working with UNIX Processes
  3. Linux Kernel Development
  4. Let Over Lambda

“If you want more of the same (science about technology), start with these.”

  1. Real World Haskell: Code You Can Believe In
  2. C++ Standard Library: A Tutorial and Reference
  3. Introduction to Algorithms
  4. Dive Into Python

“If it was the programming that hooked you, try one of these.”

  1. The Elements of Programming Style
  2. Effective Programming: More Than Writing Code
  3. The Pragmatic Programmer: From Journeyman to Master
  4. Coders at Work: Reflections on the Craft of Programming

“These start from a similar idea, even if they go somewhere else with it.”

  1. Think Complexity: Complexity Science and Computational Modeling
  2. Game Physics Engine Development: How to Build a Robust Commercial-Grade Physics Engine for Your Game
  3. Game Engine Architecture, Second Edition
  4. Database System Concepts