Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie am besten diese Daten verwalten? (https://www.delphipraxis.net/102027-wie-am-besten-diese-daten-verwalten.html)

Newbie44 22. Okt 2007 13:51


Wie am besten diese Daten verwalten?
 
Hallo,

ich hab ein Datenformat in dem 3d-Scheitelpunkte (jeweils doubles) vorkommen und polygone (3 oder 4-eckig, je nach situation). des weiteren gibt es noch uv koordinaten, also texture koordinaten, die sind aber nicht fest, es kommt auf die größe des polygones an, wie viele es davon gibt.

Bsp:

Den Faces sind Scheitelpunkte zugeordnet, also aus welchen Punkten das Face eigentlich besteht.

Hier mal ein Paar Beispieldaten:

Polygone: 1
Name des Polygones: T_G_MARK23_R
Das Polygone besteht aus folgenden Scheitelpunkten:
Vertice 0 = 3 [-223.458; 188.55; 62.1279]
Vertice 1 = 5 [-173.435; 188.55; 62.1279]
Vertice 2 = 4 [-173.435; 229.937; 62.1279]
Vertice 3 = 0 [-223.458; 229.937; 62.1279]
Die Oberfläche ist: TEXGOU und die Texture-ID ist: 4
Überblick über die UVW Koordinaten:
UVW 0 = 128
UVW 1 = 0
UVW 2 = 128
UVW 3 = 127
UVW 4 = 255
UVW 5 = 127
UVW 6 = 255
UVW 7 = 0
Die Oberfläche hat folgende Eigenschaften: 9


Wie soll ich sowas verwalten? Hab bislang wenig mit Speicherprogrammierung gearbeitet. Wie würdet Ihr diese Daten speichern, damit Sie schnell zu laden sind (also aus dem Speicher)

Ich möchte nicht gerne für jedes ne extra variable oder array anlegen, da das dann unübersichtlich wird.

also wie das ganze im speicher verwalten?

gruß und danke

sebastian

Jelly 22. Okt 2007 14:04

Re: Wie am besten diese Daten verwalten?
 
Du könntest anfangen, dir eine Klasse TPolygone und TVertice, sowie TUV zu bauen. Innerhalb einer TPolygone Instanz würde ich dann jeweils eine TObjectList Vertices und UVs anlegen, die als Container für die entsprechenden Instanzen dient. Die anderen Dinge wie Name des Polygones und Texture würde ich als Property direkt in TPolygone anlegen.

Mehrere Polygone kannst du dann wieder mit einer externen TObjectList relative leicht verwalten.

TVertice enthält die (x,y,z)-Koordinaten. TUV, so wie es aussieht, nur eine Zahl. Aber um flexibel zu bleiben würd ich trotzdem eine eigene Klasse dafür definieren.

Der TPolygone Klasse kannst du dann noch statische Load Methode spendieren, um Daten zu laden, sowie eine Save Methode um sie zu speichern. Das Format lass ich jetzt mal aussen vor.

Dann noch ein paar Methoden um neue Vertices in einem Polygone zu erstellen (AddVertice). Für AddUV analog.

Ich hoff, das hilft als Ansatz.

Newbie44 22. Okt 2007 14:14

Re: Wie am besten diese Daten verwalten?
 
der ansatz ist echt gut, denn so könnte ich die daten variabel verwalten das stimmt. wenn jemand noch eine lösung hat, bitte reinschreiben.

vielen dank bislang


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr.

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