#1 Mathematik von CaveRenderPro 13.11.2020 12:24

avatar

Lektion 1: Messzug-Berechnung

Der erste Messpunkt einer Höhle wird aus den Höhlendaten berechnet:



Alle weiteren Messpunkte werden aus den Daten der Messzüge berechnet:



Die einzelnen Darstellungen bedienen sich dann der berechneten Werte:

#2 Mathematik von CaveRenderPro 15.11.2020 09:19

avatar

Lektion 2: Perspektivische Darstellung

Mit Hilfe einer Reihe von Transformationen werden die Höhlen- in Bildschirmkoordinaten umgerechnet.



Jede Transformation wird in einer 4x4-Matrix definiert, die zu einer Transformations-Matrix multipliziert werden.



Alle Messpunkt-Vektoren werden mit der Transformations-Matrix multipliziert. An dieser Stelle sind keine trigonometrischen Berechnungen mehr erforderlich.



Zum Schluss wird mit der Division durch w die Perspektive eingerechnet und die Punkte können am Bildschirm angezeigt werden.

#3 Mathematik von CaveRenderPro 16.11.2020 18:23

avatar

Lektion 3: Kameraflug mit kubischen Splines

Für einen Kameraflug können Kamerapositionen festgelegt werden. Die Parameter (X, Y, Z, Azimut, Neigung, Abstand) dienen als Stützstellen für die kubischen Splines.

Benachbarte Splines schneiden die gemeinsame Stützstelle und besitzen dort gleiche Steigung und Krümmung:



Durch die Lösung eines linearen Gleichungssystems können die Koeffizienten der kubischen Gleichung ermittelt und alle Werte zwischen des Stützstellen berechnet werden:



Quelle: https://www.arndt-bruenner.de/mathe/scripts/kubspline.htm

#4 Mathematik von CaveRenderPro 27.11.2020 15:29

avatar

Lektion 4: Horizontale Ausdehnung

Zur performanten Berechnung der horizontalen Ausdehnung einer Höhle wird die konvexe Hülle mit dem Jarvis-March-Algorithmus ermittelt.



Quelle: https://de.wikipedia.org/wiki/Gift-Wrapping-Algorithmus


Die längste Verbindung zwischen den Eckpunkten der konvexen Hülle ergibt die Ausdehnung der Höhle.

#5 Mathematik von CaveRenderPro 29.11.2020 12:19

avatar

Lektion 5: Kurven zeichnen

Per Maus oder Tablet gezeichnete Linien werden effizient als Polygone gespeichert und als wohlgeformte Kurven ausgegeben.




Die eingegebenen Linien werden mit dem Ramer-Douglas-Peucker-Algorithmus gefiltert und geglättet. Dadurch wird die zu speichernde Datenmenge minimiert.



Quelle: https://de.wikipedia.org/wiki/Douglas-Peucker-Algorithmus


Aus den Polygonen werden die Stütz- und Kontrollpunkte für kubische Bézierkurven berechnet. Die Kurven werden durch die grafische Oberfläche interpoliert und ausgegeben.


Quelle: https://towardsdatascience.com/b%C3%A9zi...on-8033e9a262c2

#6 Mathematik von CaveRenderPro 13.03.2021 14:17

avatar

Lektion 6: Schraffuren

Um den Höhlenplan als Vektorgrafik zu erhalten, müssen Schraffuren durch einzelne Schraffurlinien dargestellt werden.





Dazu werden alle Schnittpunkte zwischen den Umrandungslinien (blau) und einer Schar von Linien (hellblau) berechnet.




Im Beispielfall schneidet die rote Linie viermal die Umrandung. Jeweils zwei Schnittpunkte bilden eine Schraffurlinie (fett).

#7 Mathematik von CaveRenderPro 05.04.2021 10:10

avatar

Lektion 7: Muster

Um einen Höhlenplan als Vektorgrafik zu erhalten, müssen Muster durch Symbole dargestellt werden.



Durch den Punkt-in-Polygon-Test nach Jordan wird ermittelt, wieviele Schnittpunkte zwischen einem Strahl und den Umrandungslinien bestehen.




Ist die Anzahl der Schnittpunkte ungerade, so wird das Symbol in das Muster aufgenommen.

#8 Mathematik von CaveRenderPro 11.04.2021 10:53

avatar

Lektion 8: Ringschlussausgleich

Um den Ringschlussausgleich zu berechnen, muss zur Minimierung der quadratischen Fehler ein überbestimmtes lineares Gleichungssystem gelöst werden.




Pro Referenzpunkt und Messlinie wird eine Gleichung aufgestellt (hier für die x-Koordinaten):




Die Koeffizienten der Gleichungen werden in eine Matrix übernommen:




Zur Berechnung der neuen x-Koordinaten wird das lineare Gleichungssystem mit dem Householder-Algorithmus gelöst. Die Berechnung der weiteren Koordinaten (y, z, l, p) erfolgt analog.

Xobor Forum Software © Xobor
Datenschutz