PanTest2-HD | High-def demo of complex motion with frame interpolation |
Circle | Demo of new scripting system for multi-segment animations |
ZeroOne (aka "ooo") | Cool multi-sine-wave synthetic sound track, zooms directly into (0,1) to a depth of E-43 |
HiPrecPanTest | Panning and zooming on the spike |
PanTest2 | A much more elaborate test of the panning operation |
HowNotToZoom | An example of an early problem I had with panning and zooming |
Frame Interpolation | Comparison of nearest-neighbor and bilinear interpolation, if you must do this |
Rank-Order Coloring | A novel way to color the images uniformly with the color palette using a rank-order method |
The video files on this page may be freely distributed as long as they are credited to Michael Condron of HPDZ.NET.
160 MB MP4 Encoded with FastStart. But better to just save it. Right click, then select "Save". |
This was originally created as a test of whether the panning and zooming system was working (see PanTest2 below). After discovering a bug in the frame interpolation system when certain types of complicated panning and zooming motions occurred, this sequence of images seemed like a good way to exercise the system. It is also a nice high-definition video in its own right. It is encoded at 20 Mbps for nearly perfect detail with minimal compression artifact. Due to a bug in the log file output from the software, I am not sure what pixel interpolation method was used, but I believe it was the "anti-aliasing" method. | ||||||||||||||||||||
2.0 MB MP4 FastStart |
This is a very quick demo of the capability of my new scripting system for connecting animation segments together. It is not really spectacularly new or imaginative, but it does make my life much easier when generating multi-segment videos, which are videos that move to a certain point, then zoom, then move to another point, etc. Check out HiPrecPanTest and PanTest2 for examples. I haven't done very many because they were very difficult to do with my previous system. The new system makes it much easier to make them, and this animation of the M-set moving in a circle is an example. | ||||||||||||||||||||
ZeroOne (AKA "oooooo" -- listen to the audio to find out why)
This is quite possibly the least interesting animation ever. It was just a simple test of a phase in development, so it just zooms straight in to the fixed point at (0,1). This could go on forever, but stops at 1e-43. The audio is probably the more interesting component of this file. It was generated in Mathematica by combining two modulated sine waves and an amplitude modulation to move it around from left to right. The main sound you hear is 300 Hz and 325 Hz with some modulation. The tones that fade in and out are 400 Hz and 120 Hz. I was surprised that my cheap computer speakers could not reproduce the 120 Hz tone (although I suppose I shouldn't have been too surprised) so I had to go get some slightly better ones to hear this properly. | |||||||||||||||||||||
This is a quick tour of one of the linear Julia sets in the main set's antenna. This animation sequence is part of the testing of the equations for simultaneous panning and zooming -- you can see a quick move to the right at about time index 0:10 in the video. | |||||||||||||||||||||
This is a much more elaborate test of panning and zooming, with around 6 or 7 segments, including combined panning and zooming. There is a single combination move that is really clear at time index 0:44 or so. | |||||||||||||||||||||
This is a demonstration of a problem I had in the pan/zoom equations early in development that is not evident in the previous couple of videos above. If the motion is not properly coordinated you can end up zooming in to something that is located off-center, without the proper visual perception of panning. This video really is panning since the first frame is centered at (0,0) and the final frame is near (-2,0), but the "focal point" of the zooming was not panned to the center of the frame, so it looks odd. | |||||||||||||||||||||
Bilinear Nearest Neighbor | Frame Interpolation Demonstrations
These files demonstrate frame interpolation with two methods of pixel interpolation. Nearest-neighbor is a simple method that assigns the interpolated pixel the color of the pixel in the key frame that is physically closest to it. Bilinear interpolation interpolates color values between the four pixels at the corners of the box that contains the interpolated pixel. Both these methods are standard digital image processing techniques. NN is faster but less accurate; BL is slower but gives better fidelity. The encoding quality in these videos is a bit higher than usual to minimize compression artifacts so that the effects of the interpolation process during calculation of the count values are as clear as possible. As a result, these files are a lot larger than you might expect for such short video segments. | ||||||||||||||||||||
This is one of the "adaptive" color mapping schemes, which try to uniformly spread the color palette across the image so that all colors are more-or-less equally represented. The method demonstrated in this video sorts count values into a rank list, then uses the position in the rank order list to index into the color table. This method is more robust against outliers in the count distribution than the other methods I have tried and so is better suited for use in animations. Most of the still images on this site were colored using a different method based on the distribution function of the count data, which works great for still images but causes unacceptable jitter in the color map as the top count values change from one frame to the next due to noisy pixels at the boundary of all the invisible mini-brots in every image. Although rank-order mapping does work well, I find the constantly changing swirling color palette to be somewhat distracting, and I have not had much use for adaptive color maps in any serious animations so far. It's a cool effect but clearly has to be used in moderation. I almost always use a regular old linear map with a modulo function. |