AC.earth (2002)

Die aktuelle Sonnenseite der Erde AC.earth ist eine Portierung von Xearth von C nach Java - ein kleiner Schritt für den Anwender, ein herber Schlag für den Programmierer :-)

Im Applet links kann mit der rechten Maustaste ein neues Zentrum der Darstellung ausgewählt werden.

Als Neuerung gegenüber Xearth hat AC.earth ein Plugin-System für Erweiterungen der Software, ohne dass eine Neukompilierung erforderlich ist.

Zum Beispiel das Quake-Plugin: Darstellung von Erdbeben-Epizentren anhand von Live-Daten der Uni Washington (farbige Kreise, die Stärke und Tiefe des Bebens widerspieheln).

Hinweis: Da es die Webseite mit den Live-Daten leider nicht mehr gibt kann die Demo nur Daten aus dem Cache anzeigen.

Lizenz: Freeware. Mehrere tausend Downloads.


Nicht nur portiert...

Neben der reinen Portierung von zum Beispiel Pointer-Operationen (die ich nach 3 Jahren C++ in Java nicht wirklich vermisse) ergab sich die Gelegenheit, aus dem C-Code objektorientierten Code zu machen. Die Aktion war anstrengend, aber lohnend: Der Code ist erheblich übersichtlicher und einfacher zu verstehen, meiner Ansicht nach ein wesentliches Merkmal von OO - wenn es denn gut gemacht ist.

How does it work? Xearth ist ein ehrliches Stück solides Software-Engineering aus der Zeit lange vor modernem Schnickschnack wie 3D-APIs und Grafik-Prozessoren. Hier werden Polygone noch nach Knuth-schen Algorithmen Pixel für Pixel selbst gefüllt, auf eine Kugel projiziert, koloriert und schattiert.

Wie genau das geht, wird hier noch beschrieben (für die Portierung und OO-Orientierung war es erforderlich, die Algorithmen auch genau zu verstehen).