Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Facharbeit - 3D Topographie anzeigen (https://www.delphipraxis.net/60462-facharbeit-3d-topographie-anzeigen.html)

Ravager 7. Jan 2006 03:36


Facharbeit - 3D Topographie anzeigen
 
Hallo zusammen,
wegen meiner Facharbeit hab ich mit Delphi angefangen - bin also noch nicht so der Bringer in der Sprache. Programmieren tu ich schon eine Weile, aber Delphi ist noch etwas undurchsichtig :)

aaaalso. Meine Facharbeit muss eine Topographie anzeigen können. Ich habe also x, y und Höheninformationen in einem Array:

data_dst_light : Array[0..150,0..150] of Integer;

Eine schöne 3D Ansicht der ganzen Sache würde dem Benutzer sicher Spass machen - am Besten mit Druckfunktion oder Speichern als bmp/jpg/...
Wichtig ist noch: Ich baue einen scanner. Also das array ist nicht voll sondern wird stück für stück aufgebaut. meistens ist es also nur ein
data_dst_light : Array[0..3,0..50] of Integer;
oder so etwas ;)

dafür gibt es ein zweites array
data_dst_set : Array[0..150,0..150] of Byte;
das angibt, ob die jeweilige Koordinate von Relevanz ist.

Es gilt: X und Y starten bei 0 und der letzte X-Wert in jeder Zeile ist bei xMax und der letzte Y-Wert in jeder Spalte ist bei yMax.
In dem Array ist also ein Rechteck beschrieben (weiß nicht, wie ich es besser ausdrücken soll).


Bei meiner Suche bin ich auf das Chart Steuerelement gestoßen. Ich weiß aber nicht, ob das für meine Visualisierung geeignet ist. Vielleicht kennt jemand ein Tutorial zu dem Steuerelement? Oder kann mir anderweitig helfen?

Problematisch ist noch der Zeitfaktor: ich muss in 7-10 Tagen fertig sein. Ergo: bitte die am wenigsten Komplexe Lösung :mrgreen: , das Chart sieht mir schon recht happig aus...

hoffe, alles ist verständlich beschrieben,

gn8
!Ravager

Robert Marquardt 7. Jan 2006 05:29

Re: Facharbeit - 3D Topographie anzeigen
 
Betrachte das Array als Gitter. Jetzt malt man einfach von hinten nach vorne die Vierecke.
Der Trick besteht in der perspektivischen Abbildung des Vierecks und der Einfaerbung.
Leider verstehe ich davon nicht allzuviel. Da sollte mal ein 3D-Grafikspezialist helfen.

DGL-luke 7. Jan 2006 10:34

Re: Facharbeit - 3D Topographie anzeigen
 
Ist zur Stelle ;)

Heightmaps rendern ist eine meiner leichtesten Übungen:
http://www.delphipraxis.net/internal...=463328#463328

Da steht schon ein Beispielcode von mir für OpenGL.

Für alles andere rund um OpenGL empfehle ich

http://delphigl.com/
http://delphigl.com/forum
http://wiki.delphigl.com
http://wiki.delphigl.com/Tutorial

:thumb:

EDIT: Durch Download des DGL SDK und einfügen meines Beispielcodes in das OpenGL-1.5-Template sollte sich das ganze eigentlich als die am wenigsten komplizierte Lösung herausstellen.

Du kannst übrigens evtl. auch eine 2d-Ansicht von oben erstellen, indem du die Höheninformation als Grauwert nimmst ;)

EDIT2: eigentlich reicht http://www.delphigl.com/do_download.php?f=8 (Template) und http://www.delphigl.com/do_download.php?f=12000 (Header)...

turboPASCAL 7. Jan 2006 10:51

Re: Facharbeit - 3D Topographie anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Ravager
... hab ich mit Delphi angefangen - bin also noch nicht so der Bringer ... Programmieren tu ich schon eine Weile, aber Delphi ist noch etwas undurchsichtig ...

... ich muss in 7-10 Tagen fertig sein. Ergo: bitte die am wenigsten Komplexe Lösung, das Chart sieht mir schon recht happig aus...

GlScene
...sollte auch noch erwämnt werden. Eine Komponentensammlung zum einfachen erstellen von 3D-Graphik in OpenGl die nicht viel Programmierkentnisse erfordert und sich schnell implementieren lässt.

Robert Marquardt 7. Jan 2006 11:33

Re: Facharbeit - 3D Topographie anzeigen
 
Ich seh eigentlich keinen Grund bei einer 150x150 Matrix, die man nur einmal malt gleich mit OpenGL zu werfen.
Das sollte sich doch mit einer Matrixtransformation fuer die Projektion der Vierecke und dem Normalen-Vektor fuer die Farbe erschlagen lassen.
Terragen malt das doch auch ohne OpenGL.

Ganz abgesehen davon das man davon lernt wie es funktioniert.

Ravager 7. Jan 2006 14:22

Re: Facharbeit - 3D Topographie anzeigen
 
hey leute,


danke für eure schnellen Antworten. Allerdings kann ich wohl kaum davon ausgehen, dass auf allen Rechnern an unserer Schule OpenGL läuft/installiert ist. Gibt es denn noch andere weniger bonzige Lösungen?

über das Chart selbst hat noch keiner von euch geschrieben?! Ist das ne schmarrn idee?

Die Geschwindigkeit von OpenGL ist für mich uninteressant, da nur etwa alle 4-5 sek gerendert werden muss ^^

ich sehs mir trotzdem mal an... :)

DGL-luke 7. Jan 2006 14:54

Re: Facharbeit - 3D Topographie anzeigen
 
wenn die Geschwindigkeit eh wurscht ist, kannst dus auch mit OpenGL machen, ein Softwaretreiber ist bei Windows standardmäßig dabei. Ausserdem gibts auch noch den "Mesa"-Treiber, auch ein Softwaretreiber für OpenGL. Kenn mich mit dem aber nicht aus.

Master of the Wind 7. Jan 2006 14:57

Re: Facharbeit - 3D Topographie anzeigen
 
wenn es nicht sehr exakt sein soll, dann kannst du ja auch eine Mogellösung nehmen ;) du benutz die höhenwerte als helligkeitswerte oder graustufenwerte malst so eine Bitmap. Das wäre die Karte von oben. und dann verzerrst du die Bitmap einfach so schräg nach hinten, was ja auch nicht schwierig ist, ist ein bisschen mathematik aber net viel :). Ja das würde dann auch eine art 3D effekt geben. :)

mfg Master of the wind.

PS.: OpenGL is klasse :D

Ravager 7. Jan 2006 15:01

Re: Facharbeit - 3D Topographie anzeigen
 
okay, ich hab mir die Sache mal angeguggt.
Das mit den Graustufen und 2D-Ansicht hab ich schon.

Es geht jetzt wirklich um 3D!

GLScene gefällt mir. Das macht was her...
Nur mit durchklicken kommt man aber ned weit - ;) ich schau mir mal die DOCs an.

runger 7. Jan 2006 15:19

Re: Facharbeit - 3D Topographie anzeigen
 
Hallo DGL-luke,

du hats jetzt bereits zum x-ten Mal auf deinen opengl Code verwiesen, sei doch bitte so freundlich
und leg ein einfaches Beispiel (D7) bei.
Ich hab den Verdacht, dass dieser Code, so wie du ihn gepostet hast noch nie gelaufen ist.
Selbst wenn man die Fehler raus macht, die in diesem Codeschnipsel drin sind, liefert das keinerlei brauchbare Ergebnisse ( zumindest bei mir nicht ).
Opengl läuft anderer Code funktioniert einwandfrei.

Rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz