Click on one of the physics simulations below... you'll see them animating in real time, and be able to interact with them by dragging objects or changing parameters like gravity. You'll need to get Java software to view the simulations, if you don't already have it.

single spring

double spring

pendulum

pendulum with

direction field

chaotic pendulum

2 chaotic pendulums

moveable pendulum

double pendulum

moveable double

pendulum

inverted vibrating

pendulum

inverted double

pendulum

2D spring

double 2D spring

colliding blocks

cart with pendulum

dangling stick

rigid body

collisions

rigid body with

contact forces

roller coaster

roller coaster

with spring

roller coaster

with 2 balls

roller coaster

with flight

The Brachistochrone:

fastest slide path

Billiards /

Air Hockey

Hanging Chain

Newtons Cradle

Car Suspension

Mars Moon

molecule 2

molecule 3

molecule 4

molecule 5

molecule 6

Help and FAQ How to get the simulations to work, and other answers.

Differential Equations Intro A gentle introduction to differential equations

Classifying Differential Equations A taxonomy of differential equations

Numerical Solutions How to solve a differential equation with a computer

Runge Kutta Method Commonly used method for numerically solving differential equations

Math Refresher For those whose trig and calculus are a wee bit rusty.

Collision Handling Methods Discusses various schemes for handling collisions in rigid body simulations.

- play around with for fun: try dragging with your mouse, or changing parameter settings
- learn about physics and how to set up a model of a physical system
- learn about numerical methods for solving equations
- learn about differential equations and techniques for solving them
- learn computer programming (free source code is available)
- enhance your next video game project

Displaying Math on the Web Notes about how to display mathematics on the web.

Gladtex is software for displaying LaTeX mathematics in a web page.

FunctionLab, is a graphing calculator which can graph up to 4 functions at once.

Here are some experimental versions of the simulations created using HTML5 and Javascript.

With Terminal (simple compile) 17 simulations

Without Terminal (advanced compile) 17 simulations

With Explanations 2 simulations

I got a BA in Mathematics at Oberlin College, Ohio, 1978, and an MBA from Univerity of Chicago, 1984. My first software jobs were using the language APL which I enjoyed for it's math-like conciseness and power.

I was fortunate to get involved in the Macintosh software industry early on in 1985, joining MacroMind, which became Macromedia. I led the software development at MacroMind as VP of Engineering for 5 years. Our most significant product was VideoWorks, which was renamed Director, and lives on today as Adobe Director. In the 1980's, the interactive multimedia concepts that are so common today were new and being developed. VideoWorks was mainly an animation tool, but also incorporated programmable interactivity. Our main competitors at that time were HyperCard, SuperCard, and Authorware. Director was used in many different ways; I am most proud that it became the preferred way to prototype software user interfaces for a time during the 90's. Director was also used to develop the introductory "guided tour" tutorial that came with the Macintosh in the early years. And of course, Director was used for all sorts of art, design, and marketing projects.

I went on to work at Apple Computer on new multimedia and user interface concepts involving digital agents, animated user interfaces, speech recognition and distributed information access. In 1991, there was a sudden flurry of activity when Apple and IBM were trying to set up a strategic partnership. I became involved in the super-secret negotiations, and made the suggestion that what the world needed was a standard for multimedia that multimedia content creators could rely on to publish to (ultimately this is what HTML became). Based on these suggestions, Kaleida Labs was founded. Our work there developed a product called ScriptX, which turned out to be very similar to Sun's Java which was being developed at the same time. ScriptX had goals of supporting all forms of multimedia: text, images, audio, video, animation; being cross-platform (Mac and Windows), interpreted, object oriented, with a garbage collector to manage memory.

I then moved to Seattle and turned my attention back to mathematics and science. I relearned calculus by doing all the problems in my old college text book and took further math classes at the University of Washington. I started developing this website as a way to practice what I was learning. I am now happy to use excellent tools such as HTML and Java, and leave their development to others. I continue to work on physics simulations, with several new ones in development.

This web page was first published April 2001.