Exakte Höhe in einem Terrain bestimmen

Neue Frage »

Robertico Auf diesen Beitrag antworten »
Exakte Höhe in einem Terrain bestimmen
Meine Frage:
Hallo Alle,

ein Terrain wird in 3D durch Dreiecke dargestellt.
Ein Raster aus Quadraten(jeweils zwei Dreieck) von denen jede Ecke eine andere Höhe hat. Nun möchte ich wissen, wenn ich irgendwo auf diesem Quadrat bin, welche Höhe dort ist.



Meine Ideen:
Wäre nett, wenn mir da jemand helfen könnte

Gruß Robert
Gualtiero Auf diesen Beitrag antworten »
RE: Exakte Höhe in einem Terrain bestimmen
Ist das so zu verstehen, dass alle Ecken sowohl lage- als auch höhenmäßig bekannt sind - also 3D-Koordinaten haben - , von dem einen Punkt jedoch nur die Lage bekannt ist?

Eine umständliche, "händische" Methode wäre, zweimal zu interpolieren.

Oder man errechnet aus den drei Punkten zwei Vektoren und stellt damit den Punkt als Linearkombination dar. Dieses LGS ist dann nach der z-Koordinate des Punktes aufzulösen.

Wie weit hast Du Dir selbst schon etwas überlegt?
 
 
Robertico Auf diesen Beitrag antworten »
RE: Exakte Höhe in einem Terrain bestimmen
Zitat:
Original von Gualtiero
Ist das so zu verstehen, dass alle Ecken sowohl lage- als auch höhenmäßig bekannt sind - also 3D-Koordinaten haben - , von dem einen Punkt jedoch nur die Lage bekannt ist?

Ja, die 4 Punkte sind bekannt.
Und wenn man Z als Höhe bezeichnet, dann ist von diesem Punkt x und y bekannt.

Denke mir man müsste zunächst feststellen, auf welchem der zwei Dreiecke sich der Punkt befindet. Dann reduziert sich das Problem.
Kann man irgendwie feststellen, dass x,y die Hyperthenuse überschreitet?
Gualtiero Auf diesen Beitrag antworten »
RE: Exakte Höhe in einem Terrain bestimmen
Sicher kann man feststellen, in welcher Hälfte des Quadrats ein Punkt liegt. Aber dafür gibt es mehrere Methoden, und daher ist entscheidend, wie es mit Deinen diesbezüglichen Kenntnissen aussieht. Kannst Du mal in ein paar Schlagworten etwas dazu sagen?

Um bei meiner vorgeschlagenen Methode mit Vektoren zu bleiben: aufgrund der Lage des Neupunktes ergeben sich ja die Paramter für jeden der beiden Vektoren. Aus dem Verhältnis der beiden Parameter kann man schließen, in welcher Quadrathälfte der Punkt liegt.
Aber mehr davon, wenn Dir dieser Stoff bekannt ist, ansonsten warte ich auf einen Vorschlag von Dir.

Es wäre gut, wenn Du ein paar Daten posten könntest, damit man etwas zum Rechnen hat. Ein ganz, ganz einfaches Modell könnte ich anbieten, aber ich warte.
Robertico Auf diesen Beitrag antworten »
RE: Exakte Höhe in einem Terrain bestimmen
Hallo Gualtiero,

mit meinen Kenntnissen habe ich noch nicht mal einen Ansatz

Hier Beispiel:


wobei a2 die höhe ist.
gesucht höhe(a_2) bei


Gruß Robert
Gualtiero Auf diesen Beitrag antworten »
RE: Exakte Höhe in einem Terrain bestimmen
Hi.
Gut, aber um etwas berechnen zu können, fehlt noch eine wichtige Angabe, die Bruchkante bzw. Diagonale, die aus den vier Punkten zwei räumliche Dreiecke macht.

In dem Beispiel liegen sich einmal die Punkte p1 und p4, und dann p2 und p3 gegenüber. Welche ist es?
Robertico Auf diesen Beitrag antworten »
RE: Exakte Höhe in einem Terrain bestimmen
hALLO;


p3 UND p2 sind die Eckpunkte der Hypothenuse.

Gruß Robert
Gualtiero Auf diesen Beitrag antworten »
RE: Exakte Höhe in einem Terrain bestimmen
Ich habe gerade festgestellt, dass alle vier Punkte auf einer Ebene liegen. Wozu musst Du dann wissen, in welcher Hälfte der Fläche der Punkt P liegt? verwirrt

Aber egal, ich hätte diesen Vorschlag: kann als Linearkombination der Vektoren und dargestellt werden.


Das als lineares Gleichungssystem:

2 = 0*s + 10*t
a2 - 206 = -3*s - 1*t
37.9 - 40 = -10*s + 0*t

Aus Zeile 1 kannst Du den Parameter t, aus Zeile 3 Parameter s berechnen. Damit kann a2 bestimmt werden.

Für die Lage des Punktes gilt:

Falls der Wert des Bruchs größer als 1 ist, liegt der Punkt in der anderen Hälfte. Dass er aber innerhalt der vier Punkte liegt, muss davor geprüft werden.

Wenn Du aber Rechnen mit Vektoren noch nicht kennst, hat diese Methode nicht viel Sinn für Dich. Daher nochmal die Frage: Welchen Stoff habt Ihr schon durchgenommen, der hier zur Berechnung dienen kann?

Edit: 2 latex-Tags ergänzt
Robertico Auf diesen Beitrag antworten »

Hi Gualtiero,

habe mir willkürlich ein Quadrat aus 14400 herausgepickt. Kann durch Zufall sein, dass dies eine Ebene ist. Sorry.
Zunächst zu der letzten Frage. Habe vor Urzeiten das Fachabitur gemacht. War gut bis sehr gut. Nur wie gesagt lange her.

Habe heute geknobelt, wie ich daraus etwas allgemeines bekomme. Soll ja in ein Programm. Meine Höhe hier habe ich mit 205.17 herausbekommen.

oder dass:

ist.

Nur weiter komme ich jetzt nicht.

Gruß Robert
Gualtiero Auf diesen Beitrag antworten »

Deine Umformung ist richtig, aber sie bringt Dich nicht weiter. Du musst wie beschrieben ein LGS erstellen; das lässt sich händisch relativ leicht lösen, und man kann es auch mit Matrizenrechnung machen. Aber wie Du daraus einen Algorithmus für ein Programm erstellst, weiß ich nicht.

Vielleicht gibt es auch andere Verfahren, die sich zur Umsetzung in ein Programm besser eignen. Im Moment fällt mir keines ein verwirrt

Die Höhe von Punkt P kann ich bestätigen.
Robertico Auf diesen Beitrag antworten »

Dadurch, dass das ganze ein regelmäßiges Gitter ist, ist immer


somit erhalte ich

Vermute, dass ich jetzt auf meine Höhe kommen werde.
Nur was, wenn ds negativ wird? Oder das andere Dreick zuständig ist?
Oder ist

gemeint. Sorry hab ne Matrix für Betragstriche missbraucht. unglücklich
Gualtiero Auf diesen Beitrag antworten »

Ob Du die Vorzeichen der Parameter änderst oder dementsprechend andere Vektoren verwendest und dadurch immer positive Parameter hast, bleibt Dir überlassen.

Ich habe zwei einfache Skzzen angefertigt, damit kann man die Sache besser besprechen.

Es gibt also zwei Varianten, was die diagonal verlaufende Bruchkante angeht: entweder geht sie von P1 nach P4 (= Variante 1), oder von P2 nach P3 (Variante 2).

Für jede Variante gibt es noch zwei Möglichkeiten, was die Lage des Punktes betrifft; für diese Möglichkeiten stehen die Punkte P bzw. Q.

Die Information, welche Variante vorliegt, muss vorgegeben sein, das kann man nicht rechnerisch ermitteln; in welcher Hälfte der Punkt liegt, kann man sehr wohl feststellen.

[attach]18656[/attach]

Ich spiele mal in Variante 1 die Berechnung für Punkt Q durch.



(t/s) > 1 ---> Der Punkt liegt im Dreieck P1P4P3. Das bedeutet, dass man mit Vektor P1P3 und Vektor P3P4 rechnen muss.



Daraus ergeben sich natürlich andere Parameter, und mit diesen muss der Höhenunterschied zu P1 berechnet werden.


[attach]18657[/attach]

Bei Variante 2 muss man mit anderen Vektoren beginnen. Verkürzt das Vorgehen für Punkt Q.



Du siehst, ich habe andere Vektoren gewählt, dadurch bleiben die Parameter immer positiv. Aus (t/s) < 0 folgt, dass Q im Dreieck P2P4 P3 liegt, daher kann mit diesen zur Höhenbestimmung von Q gerechnet werden.

Meine hoffentlich verständlich dargestellten Vorschläge sollten das Problem nur etwas beleuchten, wie Du das umsetzt, ist natürlich Deine Sache.
Robertico Auf diesen Beitrag antworten »

Hi Gualtiero,

wie vermutet habe ich einen Algorithmus für das erste Dreieck gefunden. Jetzt, nachdem du mir das so schön vorgekaut hast, werde ich das weitere auch noch finden.

Mir bleibt jetzt herzlichen, herzlichen Dank auszusprechen.
LOL Hammer LOL Hammer LOL Hammer

Gruß Robert
Gualtiero Auf diesen Beitrag antworten »

Gern geschehen, nicht der Rede wert. Hoffentlich klappt's mit dem Programm. smile
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »