sharks -Visualisierungs-und Dokumentationssoftware-Hai-Tauch-Szenarien-open-source-project

home

Open-Source-Projekt – ( In der Entwicklung )

Freie Visualisierungs-und Dokumentationssoftware für Hai-Tauch Szenarien (2-D)

shark attacs - haie - Software

Freie Visualisierungs- und Dokumentationssoftware für Hai- und Tauchszenarien ( 2-D )


Underwater Scenario Visualizer ist eine freie Open-Source-Software zur Visualisierung, Rekonstruktion und Dokumentation von Hai- und Tauchszenarien in einer zweidimensionalen Umgebung.

hai-Taucher-

(Screenshot – 1 )

(Screenshot 2)

Unterwassersituationen sind häufig komplex und entwickeln sich innerhalb weniger Sekunden. Besonders bei Begegnungen mit Haien entstehen dynamische Szenen, in denen sich Taucher, Tiere, Umweltbedingungen und räumliche Beziehungen ständig verändern. Videoaufnahmen zeigen oft nur einzelne Ausschnitte eines Ereignisses, während Erinnerungen und Wahrnehmungen verschiedener Beteiligter voneinander abweichen können.
Diese Software ermöglicht es, solche Situationen strukturiert und nachvollziehbar darzustellen. Taucher, Haie, Boote und weitere Elemente können frei im Raum platziert und bewegt werden. Formationen, Positionen, Bewegungsabläufe sowie Umweltbedingungen wie Sichtweite oder Wassertrübung lassen sich flexibel anpassen. Dadurch können reale oder hypothetische Szenarien visuell rekonstruiert und dokumentiert werden.
Ziel ist es, komplexe Unterwassersituationen übersichtlich darzustellen und eine gemeinsame Grundlage für Analyse, Dokumentation und Diskussion zu schaffen. Szenarien können per Screenshot gespeichert werden, verändert und als Bilder oder Projektdateien weitergegeben werden.

Was diese Software nicht ist
Diese Software ist ausdrücklich:
kein Trainingssystem
kein Sicherheits- oder Risikobewertungssystem
kein Prognosesystem
keine wissenschaftliche Simulation von Hai- oder Tierverhalten
kein Ersatz für professionelle Tauchausbildung oder Sicherheitsrichtlinien
Die Software trifft keine Aussagen darüber, wie sich Haie oder Taucher in realen Situationen verhalten. Alle dargestellten Szenarien dienen ausschließlich der visuellen Rekonstruktion, Dokumentation und Diskussion von realen oder hypothetischen Unterwassersituationen.

Hinweise zu Entfernungen und Maßstäben
Die Software verwendet ein zweidimensionales visuelles Modell zur Darstellung räumlicher Beziehungen.
Die innerhalb einer Szene angezeigten Entfernungen sind Darstellungswerte und dienen der Orientierung innerhalb des gewählten Szenarios. Sie stellen nicht automatisch reale Messwerte dar und können von tatsächlichen Entfernungen in realen Tauchsituationen abweichen.
Die Entfernungen dienen dazu, räumliche Beziehungen sichtbar und vergleichbar zu machen, beispielsweise:
welcher Taucher sich näher an einem Hai befindet
wie weit eine Gruppe vom Boot entfernt ist
wie sich Formationen im Raum zueinander verhalten
Reale oder geschätzte Entfernungen können optional zusätzlich dokumentiert und unabhängig von der grafischen Darstellung hinterlegt werden.
Die Software ist kein Vermessungs- oder Messwerkzeug und erhebt keinen Anspruch auf maßstabsgetreue Abbildung realer Szenarien.

Ziel des Projekts
Das Projekt soll ein Werkzeug bereitstellen, mit der Unterwasserszenarien unabhängig von Foto- oder Videoaufnahmen räumlich und minutiös dargestellt, rekonstruiert und dokumentiert werden können. Der Schwerpunkt liegt auf der Visualisierung von Positionen, Bewegungen, Formationen und räumlichen Zusammenhängen – nicht auf der Bewertung oder Vorhersage von Ereignissen.

Bei Interesse können Sie hier mein open-source-projekt verfolgen.

Tagebuch: Visualisierungssoftware (Taucher – Hai)

haie- Kalender

Start des Open-Source-Projekts : 05.03.2026

Name:

Visualisierungs und Dokumentationssoftware

Hai & Taucher & Szenarien

Veröffentlichung 15.06.2026

Code-Base fertig: zu 100 %

Github-Download: Fertig

Installations-Video: Fertig

Wen es interessiert… („Tagebuch“)

03.06.2026

Wie kann ich Version 1.0 downloaden kostenlos?

Github Link ( Einfach kopieren)
https://github.com/pascall100/shark_51_github

Hilfe ich kenne mich mit Github und Visual-Studio-Code nicht aus.
Installationsvideo und Einstellungsvideo – youtube

Für Anfänger

Installation

Du benötigst Visual-Studio-Code
https://code.visualstudio.com/

Lies mich: 03.06.2026 – 9 Uhr 45

Erster Eintrag in dieses Entwickler-Tagebuch.

Eigentlich wollte ich noch viel ausführlicher beschreiben, wie man ein Open-Source-Projekt entwickelt, worauf ich dabei geachtet habe und wozu das Ganze gut ist. Das mache ich aber später noch in Ruhe – für alle, die das interessiert.

Was stand heute an?
Zuerst einmal eine genaue Beschreibung: Was macht der Code eigentlich, was kann diese Software – und was ist sie eben auch nicht?

Hin und wieder werde ich auch ein paar technische Dinge erklären, falls das jemanden interessiert. Ich versuche das aber so einfach wie möglich zu halten. Vielleicht hilft es ja dem einen oder anderen, der selbst mal ein Open-Source-Projekt starten und der Welt zur Verfügung stellen möchte – damit ihr nicht die gleichen Fehler macht wie ich. *g

GitHub – heute

Auf GitHub kann man Code auch als „privat“ hochladen. Das ist ziemlich praktisch, vor allem wenn ein Projekt noch nicht fertig ist. Man hat also die Möglichkeit, ein Open-Source-Projekt zunächst privat zu halten oder später auf „öffentlich“ zu stellen.

Der Vorteil: Wenn der Code schon hochgeladen ist, hat man bereits eine feste Basis bzw. eine Art „Adresse“, auf die man später verweisen kann. Solange das Repository privat ist, hat niemand Zugriff darauf. Perfekt also für die Entwicklungsphase. Ein Repository ist einfach eine Art Verzeichnis auf Github, wo der Code reingeladen wird. ( einfach erklärt).

Wie funktioniert das technisch?

Ganz einfach erklärt:
Man schreibt den Code in einem Editor – ich nutze dafür Visual Studio Code. Kann man sich kostenlos downloaden. Man kann damit alle möglichen Techniken ausführen. Zum Beispiel, HTML, CSS, Java-Script, Python, C, C++ usw.. ausführen. Wenn der Code fertig ist, lädt man ihn auf GitHub hoch, und anschließend kann man ihn unter einer bestimmten Lizenz freigeben. Man muss das ganze natürlich auf „öffentlich“ stellen.

Das ist die Grundidee.

Ein wichtiger Tipp

Wenn du dir die Arbeit machst, ein Open-Source-Projekt zu starten, würde ich dir dringend empfehlen, ein Installationsvideo zu erstellen. Ich nutze dazu natürlich OBS-Studio. Video-Anleitungen findest du natürlich auf youtube und ist kostenlos.

Denn die Realität ist:
Ein Nutzer klickt auf „Download“ und erwartet, dass alles sofort funktioniert. Viele haben aber wenig Erfahrung mit Frameworks, Bibliotheken oder wissen nicht , wie man ein Projekt in VS Code korrekt einrichtet. Wenn die Installation dann scheitert, springen die meisten einfach wieder ab, das heißt, kurze Videos sind hilfreicher, als lange Texte. So zumindest meine Meinung.

Deshalb gilt für mich: lieber kurze, klare Videos statt lange PDF-Anleitungen. Aber am Ende kann das natürlich jeder so machen, wie er möchte. *g

Heute – was ist neu?

1. Screenshots erstellt
Damit man schon einen Eindruck bekommt, obwohl das Programm auf GitHub noch nicht fertig bzw. noch nicht downloadbar ist, habe ich oben auf der Website zwei Screenshots eingefügt.

Darauf sieht man grob die Oberfläche:
Man kann zum Beispiel mehrere Taucher aktivieren, sich frei in 360 Grad bewegen und auch die Haie per Steuerung bewegen.

Wie das technisch genau funktioniert, erkläre ich später in einfachen Videos.

So, Leute, Kaffee läuft… Weiter geht´s -:)

Die Sache mit der Beschreibung

Wenn du ein open-source-projekt entwickelst so birgt das ganze sehr schnell viele Überraschungen. Vielleicht hast du zunächst nur eine schlichte Idee, die sich schnell immer mehr und mehr ausweitet. Wichtig ist, du brauchst eine gute Strategie und auch eine gute Beschreibung. Was genau willst du machen? Was ist dein Ziel? Mit welcher Technik willst du es umsetzen? Du benötigst eine sehr gute Beschreibung, auch für Github. Doch was soll da genau rein?

Was ist eine Readme-Beschreibung?

Extrem wichtig: Die Readme
Eine vollständige GitHub-README enthält zunächst den Projektnamen und eine Kurzbeschreibung, die Zweck und Ziel des Projekts erklärt. Anschließend werden die wichtigsten Features vorgestellt und gegebenenfalls durch Screenshots oder eine Demo veranschaulicht. Darauf folgen Hinweise zur Installation sowie zur Nutzung des Projekts. Falls erforderlich, werden außerdem Informationen zur Konfiguration und zur Projektstruktur bereitgestellt. Ergänzend sollte die README die verwendeten Technologien nennen und erläutern, wie Tests ausgeführt werden können. Zudem sollte beschrieben werden, wie andere Personen zum Projekt beitragen können (Contributing). Außerdem Lizenz Angabe etc.

( allgemeine Erklärung)

Das Feld „Readme“ wird dir angezeigt, wenn du den Code auf Github hochlädtst. Du solltest dir also überlegen, was schreibe ich hier rein. Hilfreich auch, wenn du es vielleicht zusätzlich in Englisch machst.

Das Problem an einer Beschreibung ist auch manchmal, dass das Projekt soviele Einzelheiten oder Teillösungen hat, dass es manchmal gar nicht so einfach ist, einen passenden Namen zu finden.

Dein Kumpel
Tipp: Wenn dich dein Kumpel fragt, an was du gerade arbeitest und du kannst es nicht in einem einzigen Satz auf den Punkt bringen, dann könnte es sein, dass du ein Problem hast-.)…

Und ja,… Wenn du ein Installations-Video gemacht hast, dann pack den Link mit rein.

So, weiter geht´s…

Wie hoch ist der Kaffee-Verbrauch zur Zeit?

Antwort: leicht erhöht-.)

05.06.2026

Woran das Open-Source-Projekt beinahe frühzeitig gescheitert wäre
Ein zentrales Problem, an dem ich längere Zeit gearbeitet habe, war folgende Herausforderung:

Die Software wird so entwickelt, dass sich bestimmte Begegnungen zwischen Tauchern und Haien szenisch nachstellen und dokumentieren lassen. Dafür gibt es eine Oberfläche, auf der sich die Haie frei bewegen – gesteuert per Tastatur. Gleichzeitig müssen sich auch die Taucher flexibel in alle Richtungen bewegen und idealerweise zusätzlich um 360 Grad drehen können.

Ausgangssituation ist also: Ein Taucher kann per Klick ausgewählt und anschließend beliebig im Raum verschoben werden. Sobald jedoch mehrere Taucher gleichzeitig im Einsatz sind – beispielsweise eine Gruppe von acht Tauchern – wird das manuelle Verschieben jedes einzelnen schnell sehr umständlich. Daher musste eine Funktion entwickelt werden, mit der sich alle Taucher gemeinsam mit einem einzigen Klick an eine beliebige Position bewegen lassen.

Die zweite Herausforderung bestand in der Einführung verschiedener Formationen. Es gibt drei vordefinierte Ausgangspositionen: „Halbkreis“, „Stern“ und „Linie“. Wählt man eine dieser Formationen aus, werden alle Taucher entsprechend automatisch angeordnet – entweder halbkreisförmig, sternförmig oder in einer Linie. So können in Sekundenschnelle Taucher und Hai szenisch dargestellt und verschoben werden.

Zusätzlich wurde die Komplexität dadurch erhöht, dass im Code simulierte Meterangaben integriert sind. Diese entsprechen zwar nicht der realen Welt, müssen jedoch innerhalb der Szene korrekt berechnet und visualisiert werden. Ohne diese 3 Lösungen wäre es schwierig gewesen weiterzumachen und ich war an dem Tag schon so weit, dass ich hinschmeißen wollte..

Nach vielen Stunden des Testens und einigen hartnäckigen Git-Problemen funktioniert das System inzwischen zuverlässig. Juhei-.)

06.06.2026

Wenn du das nicht weißt, bist du verloren – Kilometerlanger Code
Das Problem bei einem Open-Source-Projekt wie diesem ist, dass es mit der Zeit stetig wächst: immer neue Ideen, neue Features, neue Funktionen. Kurz gesagt – der Code wird schnell gefühlt kilometerlang.

Wenn du dann keine Bookmarks im Code setzt, musst du bei jeder Änderung wieder und wieder zu bestimmten Stellen scrollen – zum Beispiel zu Zeile 340 oder 780 und so weiter. Das ist nicht nur mühsam, sondern kostet auch unnötig viel Zeit. Und ganz ehrlich: Man will sich ja keine grauen Haare holen-.)

Der Turbo-Beschleuniger

Wenn du mit Visual Studio Code arbeitest, kannst du dir das Leben deutlich erleichtern: Klicke einfach mit der rechten Maustaste auf die gewünschte Zeilennummer, zum Beispiel Zeile 340, gehe auf „Bookmarks“ und setze dort ein Lesezeichen. An dieser Stelle erscheint dann ein kleiner Marker.

Diese Stellen kannst du später blitzschnell über die Tastenkombination STRG + ALT + J ansteuern. Jeder Tastendruck bringt dich sofort zu deinen gesetzten Bookmarks. Endloses suchen und nerviges scrollen entfällt.

Das spart nicht nur enorm viel Zeit, sondern sorgt auch dafür, dass du dich viel effizienter durch deinen Code bewegst – fast so, als hättest du einen kleinen Turbo eingebaut.

Die Sache mit dem Privatstatus und dem Öffentlichkeitsstatus – Veröffentlichung

Praktisches Beispiel:
Angenommen, du möchtest – ähnlich wie ich – ein Open-Source-Projekt online stellen, dann sind zwei Dinge besonders wichtig:

1. Du brauchst einen GitHub-Account
2. Du solltest Git installieren (ein Programm zur Versionsverwaltung)

Begriff Repository:
Auf Github dreht sich natürlich alles um das Repository. Ein Repository ist im Prinzip ein Verzeichnis, wo du deinen Code reinlädtst. Also ganz einfach erklärt.

Typische Situationen während eines Projekts

Oft stellt sich die Frage: Was bedeutet eigentlich „privat“ oder „öffentlich“ auf GitHub? Und wann ist der richtige Zeitpunkt, den Code hochzuladen?

Ich finde es sehr sinnvoll, dass man Projekte zunächst auf „privat“ setzen kann. So hast du jederzeit die Möglichkeit, noch einmal darüber zu schlafen, Änderungen vorzunehmen oder den Code in Ruhe zu überarbeiten.

Erst wenn du dir wirklich zu 100 % sicher bist, kannst du dein Projekt auf „öffentlich“ stellen – und erst dann wird es für andere sichtbar und nutzbar und die Leute können deinen Code downloaden.

Github-Link