Experiments in Flash

The content below is somewhat old...my more recent work in flash can be found at flashandmath.

The Flash experiments below are a few random things I put together which didn't find a place at flashandmath.

All of the apps below require the latest version of the free Adobe Flash Player.

Splashing Raindrops Full source code available at flashandmath! Also, see the article there for an explanation of the code, as well as a second example making use of the same core class.
Mandelbrot-Julia Plot

Here is a mostly complete version of an applet which plots two-dimensional square planar slices of the four-dimensional Mandelbrot-Julia set. Documentation for the applet is here.

Note that the interface under the "bounds" tab allows for the selection of three points in 4D (two coordinates at a time), which determine a plane. The applet plots a square section of this plane containing the three selected points. When you open the applet, you will see the familiar Mandelbrot set, which is produced by the default selection of bounds. You can explore the Mandelbrot set alone by leaving the bounds untouched.

Also coming soon is another applet which plots 2D slices of the 4D quaternion Mandelbrot set, and perhaps other fractal-based applets.

Fractal Maker This is an applet which creates L-system fractals. It's capable of producing some rather interesting and pretty pictures. (Here are a few of my examples, and here are some fractals created by the students in the Accept the Challenge program at Merrimack College.)
Turtle Tracks In this applet, a two dimensional parametric curve is plotted according to your hand-drawn parametric coordinate functions.
Integral Sketch Draw your own function, and this applet will show you an antiderivative function. I have not written any instructions for it yet, but it is rather simple.
Average Value Draw your own function, and this applet will show you the average value of that function from point A to point B, which are moveable points. This is rather simple, but can be helpful in discussing the concept of an average value. For example, students may believe an increasing function whose minimum is at 0 and whose maximum is at 4 should have an average value of 2. But with this applet, they can easily see how concavity of the function affects the average value.
Row Reducer This applet allows you to perform row reduction on a matrix. It will not automatically do the reduction for you - you must tell it which elementary row operations to use. The applet allows for either decimal or fractional numbers.


eye-hexagonal A newer, alternate version of the RGB piece described below.
eye A somewhat artistic piece which presents an alternate approach to the red, green, and blue color components of a color monitor. View the piece from up close and afar.
Fantasia One of my first experiments which pairs some of my music with Flash animation. It may not be the most exciting musical piece I've written, but I think it pairs well with the animation.
Bamboo A simulation of bamboo pole bending under its own weight. Press the Go button or else it won't do much!
Rain (color version) A cartoonish simulation of rain drops on a window pane. It's rather simple looking, but there are some interesting things going on in the programming. The applet continually evaluates each droplet to see if it is hitting another one. This could potentially lead to many calculations, but an efficient method of sorting called a quadtree is being used to greatly improve the efficiency.
Rain (alternate version) A different version of the rain drops.
Each of these applets contains a bunch of dots whose movement and interactions are governed by physics equations. The applets are constructed somewhat differently from each other. The variations have to do with how collisions are dealt with, how forcefully overlaps are prevented, and how balls attract and repel each other. In most of them, differently colored balls repel each other, but similarly colored balls attract each other. In one of them, balls attract each other regardless of color, and they combine to form larger balls with colors given by the average of the individual balls which were combined. They're kind of fun to watch.

As of yet, there is no interaction, but that's the next thing I'd like to add. There is no reset button in these applets - reload the page to make the applet you're watching start over.
Rectangle Wave Just a simple little experiment. A line of rectangles moves according to a programmed function. In a planned future version, users will input their own function. The perspective may not be entirely accurate, but it looks good.
Convection Blob A 2D blob is made out of a ring of springs. In addition to the spring forces, there is a normal force at each vertex which decreases with area. The idea was to simulate surface tension with the springs and an outward force due to compression. There is some velocity damping to make it settle over time. There is also a simulation of buoyancy, as if the blob is suspended in a liquid, as in a lava lamp. The blob heats up at the bottom, cools off at the top, and the temperature of each vertex determines its buoyancy.
Self Portrait
Flower Twist
I'm starting to experiment with particles. I have contributed a tutorial here (flashandmath.com) which illustrates 3D particle methods. The tutorial is brief in commentary, but full source code is available. Included in the source are custom classes that can be adapted for your own experiments.
Particle Trick
Particle Trick (low resolution)
This one is pretty cool, even if I say so myself. There is a low resolution version, because it is rather computationally intensive. I plan on adding a feature to this which would allow you to select different pictures.
Color Fountain v3
Color Fountain v5
Particles are attracted to each other according to color, and are subjected to various external forces which produce a pretty fountain like effect. In the first version, particles are randomly colored (with grays avoided), and in the second version particles come from a photograph.
RGB Sinks and Springs Each visible color is composed of red, green, and blue components. In this applet, the individual pixels of an image are made into particles, which are both attracted to and repelled by red, green, and blue "color sinks." The value of one of the three color components for a particle makes the particle attracted towards the color sink of the same color, but repelled (by a weaker amount) by the two color sinks of different colors. These forces are inverse-square forces, similar to gravity or electrical attraction. In addition, each pixel is anchored to its picture position by an invisible spring.

The buttons available allow you to move the sinks manually or let them fly around automatically, and let you turn on and off the spring and color forces. It's kind of fun to move the color sinks around by hand. When you move them quickly, the particles fall off.

I hope to add a picture selector to this. For now there is one picture of some plastic masks from a little carnival in Kanazawa, Japan. It's a good picture because it's colorful. The picture resolution is not very high, because I have found it to be too much strain on the CPU to use too many pixels. Presently, the applet is animating 7500 particles!

Just For Fun

When I was in college, I spent one summer drawing a lot of "inversions." Inversions are, as Scott Kim (the premiere creator of inversions) defines them, words which are written so as to be readable in more than one way. Easier shown by example, rather than defined. I have found Flash to be a perfect way to display inversions, and I hope to post some more here.
(Please do not reproduce without permission.)

Mathematics Inversion "Mathematics" written in rotationally symmetric text.
Black Grey White This inversion can be read three different ways (So don't be surprised by a little artistic license in the lettering!).