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

Verwendung


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
saturn1.png saturn2.png saturnadd.png
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.

NEW Eine neue Variante von gasexp.cc simuliert die Diffusion zweier unterschiedlicher Gase (z.B. He und Xe, gasexphexe.cc)
Bild vor Vermischung , Bild nach der Vermischung

NEW In der aktualisierten Version von gassim.cc wird jetzt auch eine Statistik zur Geschwindigkeitsverteilung der Atome angezeigt.
Bild vor der Kompression , Bild nach der Kompression

NEW 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

Installation:


Copyright: Freeware

Valid HTML 4.01 Transitional

Last updates: 20-Mai-2019, 22-Jan-2022, 19-Apr-2022 / RPF