VectorVisualizer Version 1.2
by Kevin Seib and Pascal Glaeser
|
Dieses Repository enthält das Softwareprojekt, das wir im Rahmen unserer Aufgabenstellung entwickelt haben.
Ziel dieser Software ist es, ein interaktives Werkzeug bereitzustellen, das sowohl die Visualisierung als auch die manuelle Berechnung von Gradient, Divergenz und Rotation (Curl) von Skalar- und Vektorfeldern in 2D und 3D ermöglicht – um ihr Verhalten verständlicher zu machen.
Ein Skalarfeld ordnet jedem Punkt im Raum einen einzelnen Wert (Skalar) zu.
Ein Vektorfeld weist jedem Punkt einen Vektor (Betrag und Richtung) zu.
Der Gradient eines Skalarfelds zeigt in die Richtung des stärksten Anstiegs.
Beispiel:
Für f(x, y) = x^2 + y^2
→ ∇f = [2x, 2y]
In der Elektrostatik ergibt der negative Gradient des Potentials U das elektrische Feld E.
Die Divergenz misst, wie stark ein Vektorfeld aus einem Punkt heraus strömt.
Die Rotation beschreibt das Wirbelverhalten eines Vektorfeldes an einem Punkt (in 2D ist es ein Skalar).
Diese Software besteht aus zwei Hauptkomponenten: einer Mathematikbibliothek und einer grafischen Benutzeroberfläche (GUI).
Diese Bibliothek enthält die Implementierung der folgenden Operationen:
Der Gradientenrechner verwendet Skalarfelder, Divergenz und Rotation nutzen Vektorfelder – jeweils für 2D und 3D.
Die GUI dient als Frontend und ermöglicht:
Nach dem Start der Anwendung öffnet sich ein Auswahlfenster mit folgenden Optionen:
Ausdruck | Beispiel |
---|---|
+, -, *, / | x*y + 3/z |
^ | x^2, z^3 |
Sqrt(x) | Sqrt(x^2 + y^2) |
Sin(x) | Sin(x + y) |
Cos(x) | Cos(x) |
Tan(x) | Tan(y) |
Exp(x) | Exp(x + y) |
Log(x) | Log(x^2) |
Abs(x) | Abs(x - y) |
Gib die zwei Komponenten Fx(x, y) und Fy(x, y) separat ein. Beispiele:
Optional kannst du einen Punkt (x, y) angeben, um Divergenz und Rotation an dieser Stelle zu berechnen und anzeigen zu lassen.
Einsatzzweck | Verwendetes Modell | Erfahrung / Bewertung |
---|---|---|
Anforderungsanalyse | ChatGPT-4o | funktionierte perfekt |
Architektur / Designideen | ChatGPT-4o | oft hilfreich, aber manchmal unklar getrennt zwischen Logik & UI, oft überflüssige Inhalte |
Codegenerierung | ChatGPT-4o | Struktur gut, Details oft fehlerhaft |
Testfallgenerierung | ChatGPT-4o | funktionierte fehlerfrei |
Refactoring-Vorschläge | ChatGPT-4o | fehlerfrei, aber selten genutzt |
Code Review | ChatGPT-4o | sehr hilfreich zum Verstehen |
Dokumentation (README etc.) | ChatGPT-4o | funktionierte gut, besonders gut, wenn ChatGPT eine Konzeptdatei gegeben wird |
Fehlersuche / Debugginghilfe | ChatGPT-4o | nicht empfehlenswert, Fehler wurden durch neue ersetzt |
Versionsverwaltung / Git | ChatGPT-4o | funktionierte fehlerfrei |
Kommunikation (z. B. Committexte) | ChatGPT-4o | nicht verwendet |
Sonstiges | ChatGPT-4o | – |
In gemeinsamer Entwicklung durch:
Student der Angewandten Informatik
→ Verantwortlich für die Entwicklung
Student der Geophysik & Geoinformatik
→ Verantwortlich für Koordination, Dokumentation, Beispiele und Tutorial. → Unterstützung bei der Entwicklung
MIT License
Copyright (c) 2025 Kevin Seib, Pascal Gläser
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
text source: https://choosealicense.com/licenses/mit/