Sometimes I get the urge to create things, and here are some of them.
With the stereographic projection I added to POVRAY, angles are not distorted, so objects are not squeezed flat at the edges. This allows for much higher angle of view, 270° in this picture, with less distortion.
When looking up, from the same viewpoint, all the chess pieces can still be seen due to the extremely wide angle.
Making the angle 315° is possible, and in this case makes an artistic effect.
This picture is from a simulation of acoustic pulses through water and earth with different speeds of sound. The two pulses are sent from the upper left corner. The left expanding wave shows clearly reflections from boundaries. The right wavefront shows interreflections too, and some reflections from the fault can be seen to the left.
Contact me if interested.
In this case Linux, although I
usually use NetBSD.
I use the PC/104 system, which are
cards less than 10 cm big with ISA bus as stackable plugs, making it
possible to stack cards like LEGO without any backplane.
My system consists of just 2 such cards, the CPU/Mothercard
which also amazingly contains plugs and controllers for IDE, SVGA,
RS-232, centronics, LCD, floppy, and keyboard.
A fully functional computer on a tiny card. Of course some
corners had to be cut, so the processor is a 386 with just 4 MB
of RAM. Making Linux run, install, and compile in this small memory was
the biggest problem, and not easily solved. The 2GB 2.5" harddisk sure
swaps a lot when compiling kernels.
Contact me if interested
in details.
As I am going to use this cheese-sized PC for datalogging, I needed a
datalogging card, which are usually expensive. A soundcard can also
log data, they are cheaper, and can do lots of other things too, such
as synthesizing sound, reading and writing through the joystick interface
and other interfaces. I consider this card to be a 16 bit A/D 2 channel
datalogging card, with both input and output, with some digital I/O
too. This do not stop me from connecting my MIDI masterkeyboard to it
and using it as a nice synthesizer.
I was the first person to run Unix on this CPU card, and OSS sound drivers on the sound
card.
The system is now working flawlessly, and I am building battery
powersupply, and external microphones as sensors. I expect to put some
results on this page.
Unfortunately, dispersion is a problem, as you can see. The waves
leave a trail of smaller waves, just like sea waves do. Fine if one
wants to simulate sea waves, but not for sound or electromagnetic
waves.
So I developed a way of removing it, by using a hexagonal mesh,
and another trick. As you can see, the wakes are gone:
3d.c
My glasses have a proper frame. The red filter is a camera filter,
while the green filter is a 5 layer composite of thin breakable
firealarm glass, green plastic foil, and a special Canadian
transparent resin.
The program itself uses double double-buffering, meaning 2 buffers
showing, while 2 buffers are invisibly drawn. This is done with 4
bitplanes and 2 different 4 colour palettes, so that only 2 bitplanes
are visible at any time. This works best on newer versions of X11,
since earlier versions had a tendency of delaying the palette
redefinition to after the XSync is done.
[
hifiarch.txt |
hifisample.dat |
hifiarch.arc
]
November 1998
Embedded controller with Unix
Click on picture to view connectors.
Waves
Simulation of waves, implemented as finite difference models of the
partial differential wave equation. A time series:
Source for 8bit X11 display: wave1.c
3D in red and green
This looks 3 dimensional when looked at with 3D glasses that are red
and green. Click on picture to get one in natural size and palette.
Source code in C is supplied. It uses math and the standard Xlib library for
the X11 windowing system, and runs on 8bit/pixel displays.
The green background is to compensate for bleeding of colours. The
green phosphor is seldom entirely green, and the red phosphor in the
screen also leaks a little green light. In addition, the filters in
the glasses also have some colour leakage. The colours in this picture
are optimized for the colour leakage of my monitor and glasses.
HiFi on a LoFi computer
It is sometimes possible to get HiFi from LoFi circuits by using them
beyond specification, and taking their faults into account. In this
case I had an audio output with 3KHz bandwith, 6bit S/N ratio, and 13
bit dynamic range, which I improved to 11bit S/N, 16bit dynamic range,
and 10KHz bandwidth. This was done purely by programming.
The Acorn Archimedes had an 8 bit sound system, where 1 bit was sign,
4 bits mantissa, and 3 bits exponent, very much like floating point
numbers. The source code is supplied as a part of the application. It
was the most popular program at the Hensa archive for a while.
ARM & DSP
The project above is just one of my digital signal processing projects
on the ARM Risc processor. I have also made the fastest FFTs
available. (At least for the older processors) If you need some work done,
contact me.