Das Benutzerhandbuch - Index

Hier wird die Benutzung des Programms beschrieben.
 

 



Index     Next

Ziel und Aufgabe des Programmes

Dieses Programm berechnet die Bewegung 3dimensionaler Körper im Raum und stellt sie im Canvas dar.
Die Startwerte können aus einer Konfigurationsdatei geladen werden ( Main- oder Einstellungsfenster) oder im Einstellungsfenster selber eingestellt und gespeichert werden.
Für die Berechnung wird folgende Bewegungsgleichung benutzt:

Hierbei ist bereits ein Partikelwind (eta, vwind berücksichtigt. Ist die Dichte eta gleich null, so hat man keine Partikel und daher auch keinen Wind. Existieren Partikel, aber der Wind hat keine Geschwindigkeit, so hat man das Phämomen eines Luftwiderstandes. Die Geschwindigkeit in alle 3 Richtungen und die Dichte kann man im Einstellungsfenster festlegen.

Treffen zwei Körper aufeinander, so findet je nach Einstellung ein anelastischer (verschmelzender) oder ein elastischer Stoß statt.
Beim anelastischen Stoß adieren sich die Masse und das Volumen. Die Geschwindigkeit ergibt sich aus dem Impulserhaltungssatz. Damit erhält man folgende Rechnung:

Der elastische Stoß ist etwas komplizierter zu berechnen. Die Massen, Volumen, sowie die Radien der beiden Körper bleiben nach dem Stoß unverändert. Die Geschwindigkeiten der beiden Körper verteilen sich jedoch so um, daß der Impulserhaltungssatz und der Energieerhaltungssatz ihre Gültigkeit behalten. Zur Berechnung werden die Geschwindigkeiten in zwei Komponenten aufgeteilt, die zur Stoßgerade senkrechte und die parallele Geschwindigkeit. Wir erhalten folgende Formeln:

Für die Darstellung im Canvas muß eine Umrechnung ins 2-Dimensionale unter Berücksichtigung der Drehung und des Zoomes (Main-Fenster) stattfinden. Man multipliziert folgende Drehmatrix mit dem Ortsvektor des Punktes: 

Der Ergebnisvektor wird dann mit dem Zoomfaktor vergrößert oder verkleinert. Die 3.Komponente des Ergebnisses ist die Entfernung vom Benutzer (dis), diese wird benötigt, um den Darstellungsradius des Körpers zu bestimmen:
Darstellungsradius=Radius*Zoom*(1.007 ^ dis)
 

Über diese Grundfunktionen hinaus kann man die Bewegung der Körper in einem Video speichern. Da im Video die 3D-Körper gespeichert werden, ist es möglich den Bewegungsablauf nur einmal zu berechnen, ihn aber immer wieder auch in verschiedenen Positionen anzuschauen.

Wir wünschen Ihnen viel Spaß mit diesem Programm, und falls Sie irgendwelche Funktionen nicht verstehen, hilft meistens einfach ausprobieren.
 

Index     Next



Previous    Index     Next

Installation

Man nenne je nach System "Make-Linux" oder "Make-Unix" in Makefile um. Nach dem Aufruf von "make" existiert das fertige Executable unter dem Namen "nkp". Achtung: Die ".tcl"- und ".xbm"-Dateien keinesfalls löschen, sie sind für das Programm notwendig. Sollten Sie die Verzeichnisstruktur ändern, so muessen folgende Variablen gesetzt werden:
 
Im Makefile: CDIR (Verzeichnis mit ".c"- und ".h"-Dateien)
In main.c: TclMain (main.tcl mit Pfad)
In main.tcl: TCLDIR (Verzeichnis mit ".tcl"-Dateien)
XBMDIR (Verzeichnis mit ".xbm"-Dateien)

 

Previous    Index     Next



Previous    Index     Next

Das Main-Fenster


 
 
  • Menu
 
    • Datei
Konfiguration laden (siehe auch Browser) und Programm beenden
    • Hilfe
About NKP... , dieses wundervolle Benutzerhandbuch und Programmier-Referenzen (für alle, die der Code interessiert)
  • view
    • Koordinatenursprung:
Original, Massenmittelpunkt oder Punkt auf Koerper i (von 0 bis n-1) Der Koordinatenursprung wird nur im Canvas entsprechend gesetzt, die Werte der Körper und der Wände werden immer bzgl. des Originalmittelpunktes gesetzt.
    • Wand / Autofocus:
Die Wände sind eine quadratische Box mit dem Koordinatenursprung in ihrer Mitte. Im Entry kann man die Entfernung der Wände vom Ursprung festlegen. Der Autofocus zoomt sowohl heran als auch weg.
    • Zoom:
Nur sinnvoll, wenn der Autofocus ausgestellt ist, da dieser sonst jeden Zoom rückgängig macht.
    • x/y/z-Drehung:
Zu beachten ist, daß die Drehwerte immer so berechnet werden, als hätte man erst die z- dann die y- und zuletzt die x-Drehung vollzogen. Dies führt dazu, daß die Drehung um x und y um imaginäre Raumachsen vollzogen wird, während die z-Drehung um die gezeichnete Achse geschieht. Eine Drehung relativ zur schon vollzogenen Drehung hätte den Nachteil, daß man die gleichen Werte einstellen kann und dabei verschiedene Positionen erhält.
  • Buttons
    • Start / Stop:
Startet bzw. stoppt die fortlaufende Berechnung, das Ende der Berechnung kann auch im Einstellungsfenster gewählt werden. 
    • Vorwaerts / Rueckwaerts:
Dreht sämtliche Geschwindigkeiten um, so daß die Körper sich andersherum bewegen.
    • Step:
Führt genau einen Berechnungsschritt durch.
    • Canvas an/aus:
Öffnet bzw. schließt den Canvas. Ohne Canvas ist die Berechnung natürlich schneller.
    • Video:
Öffnet das Videofenster
    • Einstellungen:
Öffnet das Einstellungsfenster. Auch ohne Einstellungsfenster läuft die Berechnung schneller.
  • Anzeigen: 
Die folgenden Objekte können im Canvas dargestellt werden:
    • Koordinatensystem
    • Wände
nur wenn Wände vorhanden
    • Trajektorien
Punkte, an denen der Körpermittelpunkt war (so eine Art "Schweif"), macht den Canvas langsamer
    • Projektionslinien
der Körperpositionen auf die Koordinatenebenen
    • Geschwindigkeitsvektoren
    • Beschleunigungsvektoren
    • Windrichtung
Previous    Index     Next



Previous    Index     Next

Das Einstellungs-Fenster


 
 
  • Listbox:
Hier können Sie mit einem Doppelklick einen Körper aussuchen. Weitere auf einen Körper bezogenen Aktionen  meinen dann diesen Körper.
  • Entrys:
Hier werden die Daten des in der Listbox ausgewählten Körpers angezeigt. Sie können hier auch verändert werden, denken Sie aber bitte daran  anschließend den "Übernehmen"-Button zu drücken.
    • Beschleunigung:
Diese Werte können nicht geändert werden, da es sich um eine rein gravitationsbedingte Beschleunigung handelt.
    • Farbe / Form:
Der "v"-Button stellt ihnen für diese Einträge Menus zur Verfügung. Sie können auch selber Form und Farbe eingeben. Mit englischen Farbnamen kann man sogar Glück haben. Falls nicht, bekommt man eine widerliche Tcl-Fehlermeldung (Tut uns aber leid!).
  • Körper entfernen:
Löscht -ohne Nachfrage!- den in der Listbox mit Doppelklick ausgewählten Körper.
  • Neuer Körper:
Es öffnet sich ein Fenster mit den gleichen Entrys wie hier, in die Sie die Daten des neuen Körpers eintragen können.
  • Übernehmen:
Sehr wichtig, wenn die Veränderungen in den Körperdaten auch etwas bewirken sollen.
  • Abbruchbedingungen:
Hier können Sie festlegen, wann die im Main- oder Canvas-Fenster gestartete Berechnung abbricht:
    • Zeitschritte:
nach einer bestimmten Anzahl von Berechnungen
    • Endzeitpunkt:
oder nach Berechnung einer bestimmten Anzahl von Sekunden
    • Manuell:
oder gar nicht, außer durch drücken des "Stop"-Buttons ( Main-Fenster oder Canvas).
  • Schrittlänge:
Zeit, die pro Rechenschritt verstreicht. Je länger, desto ungenauer die Berechnung (siehe auch Ziel u. Aufgabe).
  • Stoß:
    • anelastisch:
Die Körper verschmelzen beim Stoß zu einem Körper (siehe auch Ziel u. Aufgabe)
    • elastisch:
Die Körper stoßen sich ab (siehe auch Ziel u. Aufgabe)
  • Wind:
    • Partikeldichte:
in Prozent. Da es sich um einen reinen Partikelwind handelt, muß die Dichte größer 0 sein, damit ein Wind existiert.
    • x/y/z-Geschwindigkeit:
konstant, sin(x) oder 1/x
  • Laden / Speichern:
einer Konfiguration, siehe Browser
  • "OK":
schließt das Einstellungsfenster. Die Berechnung wird dann schneller, da die Entrys dann nicht mehr aktualisiert werden müssen.
Previous    Index     Next



Previous    Index     Next

Der Canvas


 

Der Canvas ist für die graphische Darstellung der Körper zuständig. Besonders gut kann man die Körper im maximierten Fenster beobachten.
Die Körper werden mit den im Einstellungsfenster veränderbaren Daten dargestellt.
Im Main-Fenster kann man eine Menge Anzeigen ein und ausstellen. Im Canvas-Fenster selber kann nichts eingestellt werden - es ist nur für die Darstellung da. Links unten sind Start- und Step-Button, welche äquivalent zu den entsprechenden Button im Main-Fenster sind.
Rechts unten ist die Legende, damit man schnell erkennen kann, welche Pfeile was anzeigen, wie groß die Darstellung ist etc.
 

Previous    Index     Next



Previous    Index     Next

Das Video-Fenster


 
 
  • oberer Entry:
Videodatei zum Abspielen
  • Button "laden":
Laden der Videodatei zum Abspielen mit dem Browser
Zum Dateianfang springen
Rückwärtsspulen
Rückwärtsabspielen
ein Schritt rückwärts
Pause
ein Schritt vorwärts
Abspielen
Vorwärtsspulen
Zum Dateiende springen
  • "Videoaufzeichnung":
Beim Drücken dieses Buttons wird der Kopf der Datei bereits geschrieben, daher muß erst die Datei ausgewählt werden. Jede Berechnung bei angewähltem Button wird in der Videodatei gespeichert und kann später wiedergegeben werden.
  • unterer Entry:
Name der Datei in der das Video gespeichert werden soll. Bitte immer Endung ".vid" benutzen, da nur solche Dateien im oberen Entry geladen werden können.
  • "Schließen":
Was wird dieser Button wohl tun?
Previous    Index     Next



Previous    Index     Next

 
 

Der Browser


 

Der Browser ist zum Laden und Speichern von Konfigurationsdateien ( Main- und Einstellungsfenster)und zum Laden von Video-Dateien. Er hat automatisch den entsprechenden Filter gesetzt, so daß man nur ".konf"-bzw ".vid"-Dateien findet. Mit Doppelklick kann man in der linken Listbox das Verzeichnis auswählen und in der rechten die gewünschte Datei auswählen. Man kann auch den Dateinamen oben im Entry eintragen. Mit "Übernehmen" wird die entsprechende Datei geladen bzw. gespeichert und der Browser geschlossen. "Abbrechen" schließt den Browser ohne zu Laden oder zu Speichern.
 

Previous    Index   Next



Previous    Index

Beispiele

innerePlaneten.konf

Mit entsprechender Drehung, Trajektorien (alle 15 Zeitschritte), ohne Autofocus (damit Trajektorien nicht verschwinden), Schrittlänge 1 h (kleinere Einheiten dauern zu lange, 1 Tag war bereits zu ungenau) und mit etwas Geduld kann man ein solches Bild erhalten.
 

stoss.konf

Wände (20 Einheiten vom Ursprung), elastischer Stoß (ist default), Trajektorien (bei jedem Zeitschritt) bescheren einem dieses Bild.

Previous    Index