# Computer Programming

*The question of whether a computer can think is no more interesting than
*

the question of whether a submarine can swim.
- E. W. Dijkstra
As far as the program sources are concerned, please note the following:

The languages employed for writing my programs are the following:

FORTRAN
77
BASIC
FORTH
PASCAL
/ DELPHI
JAVA

*If your thinking is structured, then your program may be structured,*

regardless of the programming language. The reverse is not true (HdB)

### SUNA

SUNA is abbreviation for: "Series on Unified Numerical Approximations".
The Series was published in the *sci.math.num-analysis*
newsgroup (1993 - 1994) on the Internet.
Here is the contents of the Series. There are
a few Basic and Fortran
programs associated with it. I've been in the process of translating some of
these into Turbo Pascal as well. A future
development could have been to create a Web version
for some of these applications.

### BETON

Once upon a time, I developed a couple of Fortran
programs for a person who wanted to calculate the distribution of the
electrical potential in a piece of corroding re-enforced concrete.
A standard *2-D finite element* method has been implemented for this
purpose. Perhaps the code and accompanying documents can be useful as kind
of a blueprint for
developing FEA programs of your own. The program has been
rewritten in Turbo Pascal and
Delphi.
### BASBOEK

A number of Basic programs is associated with the (**Dutch**) chapter 7 in my
book, known (to *me* at last) as
Labrujère's Problem.
Check out here for the relevant parts.
Programs have been rewritten in Turbo Pascal and Delphi.
### ZONWIND

Another Solar Wind project.
Done in close collaboration with an
astronomer.
### TEMPLATES

For an excellent description of Iterative Methods for Large Sparse Systems of
Equations

unzip and print the Templates PS
document (mirrorred from netlib or GAMS).

## Computational Geometry

There's a wealth of computer programs available via Internet, which cover
precisely this area of interest. One can find quite interesting
links in the Directory
of Computational Geometry Software, which in turn can be accessed via
netlib. The latter is an indispensable
resource of mathematical programs of all sorts!
In order to understand subsequent work, you should familiarize yourself
with Delaunay triangulations and Voronoi regions. Maybe a good start is
to download bits of software. For 2-D
as well as for 3-D there exists some
excellent public domain stuff.

There exist two articles in SUNA, the Series
on Unified Numerical Approximations, which are not truly Numerical in nature.
I think they rather belong to the area of Computational Geometry:

The Fortran programs in these two chapters have been zipped into one (16 KB)
file for convenience.
The following is perhaps more closely related to the area of Computer Graphics.

Here is a (Turbo Pascal stefan.pas) program
for rendering an arbitrary (wire-framed, alas!) cylinder, which is rotated in
space with help of Quaternions.

(Note: this program will not work anymore anyway, without
the Borland BGI stuff, which must then be placed in the C:\TP\BGI directory)

Another interesting place may be:

And how about a program which **actually** does the automatic coloring of
BitMapPed Country
Maps, with a **minimal** number of colors? Such a program does exist now!
One of the problems associated with the (in)famous
Four Colour Problem is solved herewith.
As part of a larger project (? I think) comes a tiny Delphi (visual Pascal)
program and its
executable

which does (say) the ultimate **anti-aliasing of straight lines**, according
to some theory in my (Dutch) book.

Another
program
and its
executable
does the **anti-aliasing** of black and white bit maps (B/W BMP files),

by convolution with a Gaussian distribution.

## Sorting and Searching

Quite a number of
indispensible algorithms, by
Donald Knuth

## LogiKwiz

It will be explained here, in **Dutch**,
how so called "LogiKwiz" puzzles are solved by computer programming.
Better skip this section if you prefer to solve them by hand!

Back to my HomePage.