NKS
This is a collection of small programs inspired by
Stephen Wolfram's
book
A New Kind of Science (NKS). The applications are written in C# using
WinForms 2.0. I'll add more as I progress with the book. I also did some work on
Fractals.
|
|
Conway's Game of Life. This
application runs the famous cellular automaton. The user can place various patterns of interest
on the grid to experiment with specific setups. In the picture several of
Gosper's Glider Guns
have been placed. Available for download.
|
|
Shiny
Shiny is lightweight Win32 GUI toolkit and wrapper library. See its own
project page for more information.
|
|
Some UI and a few Doxygen generated class diagrams.
The lower right dialog window shows a configuration dialog where the user can select machines
on the local network. All the functionality is already build into Shiny. See Shiny's
project page for a full list of features.
|
|
|
A small example program written in Shiny. It opens a frame window with a menu and parses an XML file
into a tree control. In Win32 this would have been a pain, but with Shiny it's less than 50 lines of
actual code. Take a look at the code here if you want to see what a
small Shiny application looks like.
|
|
|
Fractals
These little mathematical miracles were among the things which originally got me started with OpenGL.
I needed a way to rapidly visualize the heightfields and point clouds which my algorithms generated.
|
|
Mandelbrot / Julia heightfields and some point clouds generated by a chaos game variant.
Mine extends to three dimensions and uses rotations as well as arbitrary translations.
|
|
|
Some more pictures generated by the same algorithms. There's a virtually unlimited
amount of different shapes and figures a well done chaos game implementation can
produce.
|
|
|
|
|
A couple of years ago I wrote a paper about fractals which became the winning entry in the German pupil
science competition Jugend Forscht.
|
|
Image Recognition
This unfortunatly never finished project was an attempt to implement image recognition
based on a Feed-Forward network with learning through backpropagation. The input for the
neuronal network were some features of the images extracted through analysis of the
Co-Occurence matrix of each color channel.
|
A Co-Occurence matrix and the features extracted from it. The matrix was computed for
every channel and then the extracted features were fed into the network.
|
|
|
|
|
Nothing more than these plots of 1D and 2D Haar Wavelets to show so far...
|
|
Old VB Games
Some old games I wrote ages ago during the golden days of Visual Basic 3 - 6. This
list here is by far not complete, but these are the more interesting ones. All
rendering is Win32 GDI. The graphics are mostly shamelessly stolen from various
commercial games and hobby projects (Including
Tibia,
Doom and
GNU Chess).
|
Red vs Blue! It's your job to conquer planets and gather their resources before
the enemy does so. One can build different kinds of ships. The game has a CPU vs CPU
mode which is quite entertaining to watch.
|
|
|
|
|
My attempt to write an RPG game. It had items and an inventory system, a simple
conversation interface, an automap and funky light and shadow effects. Some
basic pathfinding for the player and NPCs. Never made it into something really
playable.
|
|
|
An electronic chess board. It had no actual player AI, but it watched over the
rules and had features like position load / save, undo move and a chess clock.
|
|
|
|
|
A worms clone! Not exactly very creative, but this one was quite fun to
play. The players had a couple of weapons which they can use to blow up the
terrain and each other.
|
|
Image Compression
This one actually has two algorithms in one. The first compressor is a JPEG like
DCT transform based codec. It should be no suprise that it behaves very similar
to JPEG. The advantage is that the implementation is rather short (~25K) which
provides a significant advantage over linking in the entire 2000K of the JPEGLib
or relying on Intels (discontinued) JPEG library. The second algorithm uses a BTC
quatree with error based subdivision to encode frequency domain data. Looks promising
for lossless or near lossless compression.
|
The beatiful Lena - with a few artifacts.
The Lenna (or Lena) picture is one of the most widely used standard test images
used for compression algorithms.
|
|
|
Entropy Compression
An entropy compressor written by me. It uses a combination of blocksorting, move to front and
Huffman for transform and compression. I just implemented a very simple static Huffman cause I
got tired of working on the arithmetic coder. So the results could be a lot better. Also I didn't
do much tweaking, things like an RLE stage after the
Burrows-Wheeler Transform could also increase
compression ratio and speed.
|
|
Hard to make a beatiful picture for a compression program... There's a diagram in the picture showing
the compressor vs. WinZIP compressing the Lena image.
|
|