Inhalt
Grafikprogramme: Tekplot VectMal Showit UV-IR-show xyshow Ausgleichsgerade+Kurven
Astronomie: Planetium Schatten GPSkarte Bilbo (Bildbearbeitung) Diasort (DiaSortierung)
Chemie: MG-Rechner Pepcalc NMR nmrschift Molekülzeichner O18-Austausch Lichtstreuung (Scatter) MS-Simulator Gas-Simulator
Mathematik: Quaternion
Spiele: Heptris Yatzy Turnier Sudoku
Diverses: Polynome Taschenrechner Utilties Muster+Klassen Seriell-Tester Passwort-Manager
Digital-I/O und A/D-Wandler: Labjack Oszilloskop
Elektronik: Elekprint
Varianten mit OpenGL2
Tekplot
Dies ist eine Grafikroutinensammlung (C-Funktionen).
Begonnen hat alles mit den ersten (noch monochromen) grafikfähigen
Tektronix-Terminals zu denen es die drei Fortranroutinen inital, plot und
term gab.
Mit den besseren Terminals kamen auch weitere Funktionen dazu, so zum Beispiel
Mausabfragefunktionen, Funktionen um Farben zu setzen, Menu-Verwaltung,
Eingabe-Fenster (Requester), und Beschriftungen.
Inzwischen sind es etwa 65 C-Funktionen. Es gibt Versionen für Amiga,
Macintosh, und X-Windows (auf VAX, ALPHA und UNIX). (Unter MSDos läuft
nur eine stark abgemagerte Version (etwa 5 Funktionen)).
Die X-Version (Variante XTekplot1) und die Amiga-Version (Amitekplot1)
sind jetzt fast vollständig
(Beschriftung und Tastaturabfrage ist noch nicht perfekt),
die Mac-Version hinkt noch etwas hinten nach.
In der C++ Variante (Tekplot2) sollten auch mehrere Fenster unterstützt
werden (in der Amiga-Version sind die Funktionen schon in C++ Klassen
definiert).
Die wichtigsten Funktionen sind jetzt schon in der normalen Variante (xtekplot1)
integriert. C++ wird voll unterstützt. Mehrere Fenster öffnen geht noch
nicht (ein Programm mehrfach laufen lassen aber schon).
Fast alle nachfolgenden Programme, die Grafik benutzen, benötigen auch
xtekplot.
Ich hatte mal eine selbst bootende Demo-CD/DVD zusammengestellt.
Darauf sind einige meiner Programme per Mausklick startbar.
Da einige Leute offenbar Probleme hatten die Demo-CD zu starten,
hier eine kleine Hilfe zur Demo-CD.
VectMal
Dies ist ein kleines Malprogramm, das auf dem
Postscript-Format beruht.
Als ich mit der Programmierung dieses Programms (in C) begann wusste ich
allerdings noch nicht dass es mal ein Malprogramm werden sollte.
Ich wollte eigentlich nur ein kleines Programm haben um meine Spektren
(UV und IR), bevor ich sie zum Postscriptdrucker schickte, noch auf dem
VAX-Bildschirm anzuschauen.
Das war ziemlich einfach da ich für meine Spektren lediglich
drei Postscriptbefehle brauchte. Als das klappte kam auch noch die Beschriftung
dazu, dann wollte ich auch noch kleine Änderungen machen können,
und dann noch ...
Inzwischen enthät das Programm (jezt in C++) einen vollständigen
Postscriptinterpreter.
Auf einer schnellen Maschine (ALPHA) kann man VectMal
auch als Vorschauprogramm für (mehrseitige)
LaTeX-Dateien verwenden (vectmal -wcp Name.ps).
(Im vergleich zu damals ist heute jeder Heimcomputer eine schnelle Maschine.
Die Verwendung als Vorschauprogramm ist aber nicht mehr sinnvoll, da es jetzt
ja ghostview gibt)
Hier ein paar Beispiele mit VectMal:
Bekannte Probleme
- braucht schnellen Rechner (besonders wenn viel Text vorkommt)
- Verwendung aller 3 Maustasten braucht etwas Übung
- Mit gewissen Fonts werden einige Zeichen nicht ganz richtig dargestellt
(zum Beispiel % mit Helvetica).
Verwendung
- Dokumentation: nur im Programm selbst vorhanden (Help-Symbol)
- Installation
Showit
Dies ist ein Spektren-Auswerteprogramm.
Als ich daran war zwei Auswerteprogramme zu schreiben um meine UV- und
IR-Spektren möglichst komfortabel auswerten zu können, war mir
aufgefallen dass sehr viele Teile gleich waren. So hatte ich ein Unterprogramm
geschrieben das für beide Programme die Hauptarbeit erledigte.
Auch hier sind nach und nach diverse Erweiterungen dazugekommen,
so dass es jetzt ein ziemlich allgemein brauchbares Programm geworden ist.
Als ich begonnen hatte musste ich die Auswerteprogramme noch in Fortran
schreiben, davon ist in der jetzigen C++-Version aber nicht mehr viel zu
spühren.
Hier ein paar Beispiele mit Showit:
(die Dokumentation bezieht sich noch auf die VAX, Showit funktioniert aber
schon lange mit Linux)
Das Programm xyshow ist jetzt in einem separaten Paket
zu finden.
uvshow und irshow
Mit diesen Programmen können UV- und IR-Spektren dargestellt und
ausgewertet werden (Vergleichen, Zoomen, Peaks ausmessen).
Beide beruhen auf Showit und sind auch sonst
weitgehend gleich, verwenden aber unterschiedliche Datenformate
(IR verwendet SPC,
UV eigene Formate).
Neu kann uvshow auch das UVPC-Format vom Shimadzu UV2450-Spektrometer lesen.
(UV2450-Spektrometer speichert in 2 verschiedenen Formaten, beide als .spc
obwohl dies nichts mit dem SPC-Format zu tun hat. UVPC-Format wird von
uvshow erkannt, das andere nicht immer korrekt
(wegen fehlender Spezifikationen).)
xyshow
Funktioniert gleich wie uvshow und irshow, aber mit Menschen-lesbaren
xy-Textdateien. War ursprünglich in Showit
enthalten, ab Version 1.4 ist es jetzt ein separates Paket.
Ausser den primitiven Dateien die nur aus xy-Datenpaaren bestehen, sind
noch Datenformate mit Kopfdaten (z.B. für mehrere Spektren in einer
einzigen Datei) vorgesehen. Genaueres siehe "xyshow -h".
Beim Speichern von geladenen Spektren wird das aktuellste dieser
Kopfdaten-Formate verwendet.
Neu kann man jetzt auch direkt binäre NMR-Dateien (Bruker) einlesen.
NMR-Spektren die z.B. von MacNutsShare gespeichert wurden, konnte man
natürlich schon vorher einlesen. Dazu gibts noch eine Option um
automatisch auf den TMS-Peak zu kalibrieren (siehe "xyshow -?").
NMR (nmrshow)
Statt "nmrshow" kann "xyshow -r" verwendet werden um NMR-Spektren darzustellen.
Bisher nur für eindimensionale Spektren geeignet. Wenn mir jemand erklären
könnte wie das Dateiformat von zweidimensionalen Spektren aufgebaut ist,
könnte ich das Programm vielleicht noch entsprechend anpassen.
Varianten mit OpenGL2
Die Programme xyshow, uvshow, und irshow habe ich für OpenGL2 angepasst.
Diese sind somit auch unter Windows verwendbar. Wobei es noch ein paar kleine
Einschränkungen unter Windows gibt.
Einrichten unter Windows:
Die Datei SDL2.dll sollte nach C:\Windows kopiert werden.
Wenn man die Programme selbst compilieren will, sollte man "Visual Studio 2019" (mit c++ Unterstützung) installieren. ("Visual Studio 2022" sollte auch gehen)
Die Quellprogramme sollten dann unter C:\VisualProjects gespeichert werden.
Um die schon compilierten Programme (mit Endung .exe) zu starten braucht es keine weitere Installation.
Um die Postscript-Dateien, die von meinen Programmen erzeugt werden, anzuschauen und zu drucken
wird noch Ghostview benötigt. Die Installation davon ist etwas umständlich.
Mit Installation von GSview sollte es klappen.
Die entsprechende DLL muss dann noch von Hand nachinstalliert werden.
Die meisten meiner Programme sind darauf ausgelegt vom Terminal gestartet zu werden.
Dazu sollte man mit "cd" zuerst ins entsprechende Verzeichnis wechseln, oder "path" entsprechend setzen.
(in Linux $PATH, in Windows nach "Umgebungsvariablen" oder "Environment" suchen und "path" mit edit anpassen)
In Windows um ins Wurzelverzeichnis einer Disk zu gelangen nicht "cd D:" sondern einfach nur "D:" tippen.
Ausgleichsgerade und Kurvenanpassungen
Mit diesem Programm kann man eine Gerade oder eine beliebige Kurve durch
einige Messpunkte legen.
Verwendet xtekplot1. Das Ergebnis kann auch als PS-Datei gespeichert werden.
Planetium (Astronomieprogramm)
Planetium ist mein selbst geschriebenes Planetarium-Programm.
Ursprünglich für den Amiga geschrieben, läuft es jetzt
auch unter Linux, MacOSX und wahrscheinlich noch andern Unixen.
Es ist jetzt auch Freeware (ursprünglich Shareware), wird ab Version
1.01 auch so dokumentiert.
Schatten (Sonnenfinsternis-Simulation)
Dieses kleine Programm zeigt den Schattenlauf des Mondes bei
Sonnenfinsternissen. Es werden dazu die entsprechenden Besselschen Elemente
benötigt.
Für die Sonnenfinsternisse von 1951 bis 2200 sind sie schon dabei.
Auf Linux und MacOSX getestet.
GpsKarte
Mit diesem Programm kann man die Wegpunkte vom GPS-Gerät verwalten.
Neue Version jetzt ans GPSmap60csx angepasst.
Was noch fehlt ist ein funktionierender usb-Treiber unter Linux.
Könnte auch noch mit andern Geräten funktionieren.
Mit etrex-vista funktionierts gut.
Mit dem alten Garmin GPS-III gehts aber nicht mehr.
Eine alte Version zur Unterstützung vom GPS-3 ist aber noch da.
Bilbo
Dies ist ein kleines Bildbearbeitungsprogramm. Damit kann man z.B. mehrere
Digitalfotos kombinieren.
Beispiel: Saturn 10 mal unter gleichen Bedingungen fotographiert
 |
 |
 |
erstes Foto |
1.Foto Kontrast verstärkt |
alle 10 Bilder addiert |
Diasort
Ein kleines Programm um Dias (bzw. beliebige Digitale Bilder) zu sortieren
und als "Diashow" darzustellen.
Polynome
Mit dem Programm "polynom.cc" können alle Lösungen (Nullstellen) eines Polynoms bis 9. Grades gesucht werden.
Das Programm "komplexrechner.cc" ist ein einfacher UPN-Rechner für Complexe Zahlen.
Taschenrechner
Mit diesem Taschenrechner kann man auch mit Vektoren rechnen.
Neu geht Rechnen mit Hexadezimalzahlen auch. (ab Version 0.8)
Auf Linux und MacOSX getestet.
MG-Rechner
Einfaches C-Programm um Molekulargewichte zu berechnen.
Ist auf etwa 3 Nachkommastellen genau.
Jetzt auch als Windows-Version.
Die Version für Android ist nicht mehr ganz aktuell, sollte aber noch funktionieren.
Ab Version 1.9 können jetzt auch Isotop-markierte Moleküle berechnet werden.
Entsprechende Beispiele sind in der Kurzdokumentation zu finden.
In der LaTeX-Variante können mehrere Formeln gleichzeitig berechnet
werden. Hier ein Beispiel.
Pepcalc
Programm für Mengenberechnungen für den Peptidsynthesizer.
MS-Simulator
Simulator für die Isotopen-struktur von Massenspektren.
Nach Eingabe der Summenformel (die man z.B. vom MG-Rechner erhalten kann) wird ein entsprechendes
Massenspektrum des Hauptpeaks simuliert. Es wird dabei eine Ionisierung mit H+ angenommen.
(Masse des ersten Peaks ist also 1 höher als MG des Moleküls.)
Gas-Simulator
Dies sind zwei Programme um ein ideales Gas zu simulieren.
Das erste (gasexp.cc) simuliert ein Gas das dann frei expandieren kann,
das zweite (gassim.cc) simuliert ein Gas in einem Zylinder mit beweglichem Kolben.
Die Grössenverhältnisse und Geschwindigkeiten der Gas-Moleküle entsprechen
nicht der Wirklichkeit, sondern sind willkürlich gewählt um eine anschauliche
Animation zu erhalten.
Die eingeblendete Statistik im ersten Programm (gasexp.cc) ist die Geschwindigkeitsverteilung
gemittelt über eine gewisse Zeit. Dies entspricht der Temperatur des Gases.
Mit "Statistik reset" wird der Startzeitpunkt der Mittelung neu gesetzt,
womit es dann also kurz die gerade aktuelle Geschwindigkeitsverteilung zeichnet,
dann wieder die neue Mittelung.
Durch anklicken der Zwischenwand wird diese entfernt und das Gas kann frei expandieren.
In einem wirklichen Experiment ist es unmöglich eine Zwischenwand plötzlich zu
entfernen. Statt dessen würde man ein Ventil öffnen.
Beim zweiten Programm (gassim.cc) lässt sich der Kolben verschieben indem man
die entsprechenden Pfeile anklickt und die Maustaste eine Weile gedrückt hält.
Eine neue Variante von gasexp.cc simuliert
die Diffusion zweier unterschiedlicher Gase (z.B. He und Xe, gasexphexe.cc)
,

In der aktualisierten Version von gassim.cc
wird jetzt auch eine Statistik zur Geschwindigkeitsverteilung der Atome angezeigt.
,

Versuch einer Berechnung von Gaskompression (statt Simulation):
Molz3d - Moleküle zeichnen in 3D
Hiermit kann man Moleküe dreidimensional zeichnen
(in einem 3D-Raum konstruieren).
Zur schönen Darstellung lässt es sich dann als Povray-Datei speichern
und mit dem freien Raytracerprogramm Povray
darstellen. Stereobilder sind auch möglich.
Molz - Moleküle zeichnen mit OpenGL
Neue Variante mit Verwendung von OpenGL. Bisher nur darstellen, Molekuele noch nicht veraenderbar.
Bisher nur xyz-Dateien unterstuetzt.
o18austausch
Das ist ein sehr einfaches kleines Programm um Austausch mit H218O zu rechnen.
nmrschift
Ein weiteres sehr einfaches kleines Programm um NMR-Shifts vorherzusagen.
Thermologger
Dies ist ein AVR-Programm für den Atmega8 um Temperaturkurven zu messen.
Elektronikschema ist im Archiv mit drin. Das Auswerteprogramm (eeconvert)
dazu läuft unter Linux.
Lichtstreuung (Scatter)
Seite auf englisch: scatter device
Dies ist ein AVR-Programm für den Atmega8 um Lichtstreuung zu messen.
Elektronikschema ist im Archiv mit drin. Das Auswerteprogramm (eeconvert)
ist das selbe wie für den Thermologger.
Um bei der Messung zwischendurch die Probe besser zu schütteln
(nur rühren genügt nicht) wird ein Modellbau-Servo angesteuert
um den Rührmagneten hochzuziehen und wieder runter fallen zu lassen.
Musterprogramme und C++ Klassen
Diverse kleine Musterprogramme und Klassen, die zum Teil auch in andern
Programmen dieser Seite verwendet werden.
Neu gibts darin auch ein Beispielprogramm um Datei-Eigenschaften
abzurufen (myls.cc).
Zufallszahlentester
rndcheck.cc ist ein kleines Programm um Pseudozufallszahlen zu testen,
z.B. die Varianten in kleinkram.cc von obigen Musterprogrammen.
Serielle Schnittstelle Testen
Ein kleines Testprogramm für die Serielle Schnittstelle
Passwort-Manager
Verwaltung einer Passwort-Liste mit verschlüsselter Speicherung.
Heptris = 4-Dimensionales Tetris
Dies ist mein erstes unter Linux programmiertes Spielprogramm. Sollte
aber auch noch auf Amiga und andern Unixen laufen (Überall wo
auch xtekplot1 geht).
Yatzy-Würfelspiel
Einfach programmiertes Würfelspiel. Bisher noch ohne Grafik,
nur Textausgabe.
Ein kleines Programm um Würfelstatistiken zu berechnen ist
auch noch dabei.
Turnierplanung
Planung eines Turniers: 4 Manschaften mit jeweils 6 Mitgliedern
sollen in 3 Runden an jeweils 3 Tischen gegeneinander spielen. An jedem
Tisch soll jeweils je 1 Paar aus jeder Manschaft sitzen, also 8 Spieler.
Dabei sollte jeder Spieler gegen möglichst viele verschiedene Gegner
spielen.
Das Programm rechnet alle Möglichkeiten durch und gibt die besten aus.
Sudoku
Sudoku lösen, oder Lösung überprüfen.
Es können auch alle Lösungen ermittelt werden falls es mehrere gibt.
Labjack U12
Der Labjack ist ein A/D-Wandler (auch D/A und Digital I/O) mit USB-Anschluss.
Dieses Programm enthält eine C++ Klasse und ein Testprogramm dazu.
Oszilloskop
Dieses Programm benutzt den Labjack als (langsames) Oszilloskop
Elektronikprint
elekprint.ps ist ein einfaches
Postscript-Programm um Elektronikprints ("Gedruckte Schaltungen") zu zeichnen.
Es können maximal 2 Lagen (plus Bestückungsplan) gezeichnet werden.
Um es zu verwenden einfach auf einen anderen Namen kopieren, dann mit einem
Editor (z.B. emacs) bearbeiten, und mit gv (Ghostview) überprüfen.
Mit einem Postscript-Drucker auf Folie gedruckt ergibt dann die Vorlage
für den Print. (Unter Linux muss es nicht unbedingt ein Postscript-Drucker
sein. Einfach mit "lpr name.ps" drucken.)
Drehungen mit Quaternion
Ein kleines Beispielprogramm um Objekte im Dreidimensionalen Raum um eine
beliebige Achse zu drehen.
Dies geht mit einer Quaternion viel einfacher als ich das noch z.B.
in Molz3d gemacht hatte.
Utilities
- HTML Übersicht
- La2ht.cc
Konvertierung von LaTeX nach HTML.
- umcop.c
ist ein Utility
um Textdateien zwischen verschiedenen Systemen zu transferieren.
Beispiel: "umcop textdos.htm textunix.html IS -a"
- UTF-8 Konverter damit lassen sich Textdateien vom ISO-8859-1 (auch latin1 genannt) nach UTF-8 konvertieren.
Rückwärts geht manchmal auch, aber nicht immer, da es in UTF-8 mehr
Zeichen gibt als in ISO-8859-1.
- KED (Komfortabler Editor) ist ein Texteditor (bzw. ein Zusatz um den entsprechenden Emulator in Emacs aufzurufen)
- Kleine Drucker Hilfsprogramme:
print und eps
Installation:
Copyright: Freeware
Last updates: 22-Jan-2022, 19-Apr-2022, 15-Mar-2025 / RPF