
Wer schon öfter hier vorbeikam, der weiss, dass mich Plotter und Computergrafiken besonders faszinieren. Heute kann ich ein kleines Programm beisteuern, das gleich beides beinhaltet. Es stammt nicht aus meiner Feder und sein Ursprung liegt mehr als 40 Jahre zurück. Also kommt auch noch die richtige Portion Nostalgie hinzu!
Und nicht zuletzt lässt es einigen Freiraum, um mit den verschiedenen Parametern zu experimentieren und seinen Lieblingsplot zu finden.
Voraussetzungen
Zu Beginn möchte ich darauf hinweisen, dass dieses Programm gewisse Hardware-Voraussetzungen hat, die nicht unbedingt 08/15 sind. Nebst einem HP-41 Taschenrechner benötigt man entweder einen Plotter mit passender Schnittstelle oder eine PIL-Box und die pyILPER Anwendung. Wer wenig Zeit und Geduld aufbringen kann, der sollte auch ein HP-41CL sein eigen nennen. Sein TURBO50 Modus macht das Zeichnen der Grafiken doch um einiges erträglicher.

Entstehungsgeschichte
Die ursprüngliche Idee zu diesem Programm stammt aus dem Buch Programmieren mit hochauflösender Grafik von Marcel Sutter, das 1984 vom Informa Verlag in Luzern publiziert wurde. Jens Kirchhoff adaptierte die Idee in C und erstellte ein YouTube Video dazu. Peter Hess portierte das Programm auf den HP-41 und fügte eine interaktive Abfrage der Parameter hinzu. Der HP-41 bietet ja alphanumerische Ein-/Ausgabe an, dann sollte man das auch ausnutzen. Meine Version des Programms von Peter Hess bietet eine leicht andere Eingabe der Parameter an und ist ein wenig schneller (ca. Faktor 1.5).
Marcel Sutter schrieb damals auch Artikel für die Zeitschrift Mikro- und Kleincomputer. Das war als Jugendlicher meine Lieblingslektüre. In der Ausgabe 83/6 findet man ab Seite 29 einen seiner Artikel, der im wesentlichen die Programmidee beinhaltet.
Schildkrötenbefehle
Im erwähnten Buch (und dem Artikel aus der Zeitschrift) konvertiert Marcel Sutter Logo-Programme nach BASIC. Die Logo-Routine für dieses Programm sieht wie folgt aus:
TO GRAPHICS :COUNT :SIDE :ANGLE :GAIN
REPEAT :COUNT [
FORWARD :SIDE LEFT :ANGLE
MAKE 'SIDE SUM :SIDE :GAIN
]
END
Die Schildkröte läuft eine gewisse Strecke und dreht dann um einen bestimmten Winkel nach links. Das wiederholt sich, wobei die Strecke immer ein wenig wächst. Ziemlich simpel also. Das obige Logo Programm lässt sich mit JSLogo ausführen, wobei man diese beiden Zeilen am Ende hinzufügen muss:
CLEARSCREEN
GRAPHICS 200 30 119 3
Ich finde es ziemlich erstaunlich, welche Vielfalt an Grafiken man mit dieser simplen Zeichenanweisung erzeugen kann. Vielleicht weckt das auch bei einigen die Lust, sich näher mit der Programmiersprache Logo zu beschäftigen. Gewisse Probleme lassen sich damit sehr elegant lösen, und das Erstellen von Grafiken mit Hilfe der Schildkröte macht wirklich Spass.

L0=400, dL=50, dPHI=157, #Lines=150Quellcode und Dokumentaion
Den Quellcode (mit Barcode und LIF-Datei), Beispielgrafiken, Dokumentation und Beispielplots habe ich in diesem Repository auf Github publiziert und möchte die Dateien nicht duplizieren. Im README ist auch erwähnt, mit welchen beiden Tricks ich die Laufzeit des Programms noch verkürzen konnte.
Ich möchte aber an dieser Stelle noch Peter Hess danken, dass er mir die Erlaubnis gab, sein Programm zu publizieren und darauf aufzusetzen.
Als Abschluss dieses kleinen Projekts habe ich noch eine Magnetkarte erstellt, die ich mit Rubbelbuchstaben beschriftet habe. Das war eine Fieselei, aber sieht ganz nett aus! Die Frage lautet natürlich, wie gut die Buchstaben nach mehrmaligem Durchziehen durch den Magnetkartenleser halten. Die Zeit wird es zeigen. Was man nicht machen sollte, ist, Magnetkarten mit Folienbeschriftung zu versehen, weil dadurch die Magnetkarten ein bisschen dicker werden und das die Kupplung zum Antriebsmotor der Kartenlesers belastet.
