AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi 3d-Darstellunf von array of array of array

3d-Darstellunf von array of array of array

Ein Thema von violinenspieler1000 · begonnen am 4. Aug 2009 · letzter Beitrag vom 4. Aug 2009
Antwort Antwort
violinenspieler1000

Registriert seit: 22. Apr 2008
15 Beiträge
 
#1

3d-Darstellunf von array of array of array

  Alt 4. Aug 2009, 11:32
Hallo,

ich habe ein array of array of array of boolean, also drei Dimensionen.
In diesem Array sollen Figuren gezeichnet werden, z.B. Ein Quader, eine Kugel, usw.

Ich möchte dieses Array nun grafisch als eine Art "dreidimensionale Matrix" darstellen (dabei soll bool=true als schwarz dargestellt werden und bool=false als weiß oder in anderen Farben).
Die Benutzerschnittstelle muss es ermöglichen eine Drehung durchzuführen, damit man das Objekt von alle Seiten betrachten kann.

Gibt es sowas in der Art schon als fertigen Code?
Wo kann man nachlesen, wie sich z.B. die Proportionen nach hinten hin verändern, damit es zu einem "3D-Effekt" kommt?

Thomas
  Mit Zitat antworten Zitat
Benutzerbild von FaTaLGuiLLoTiNe
FaTaLGuiLLoTiNe

Registriert seit: 3. Jul 2004
Ort: NRW
55 Beiträge
 
Delphi XE Enterprise
 
#2

Re: 3d-Darstellung von array of array of array

  Alt 4. Aug 2009, 11:43
Wenn du es wirklich selbst machen willst, könntest du mal nach Zentralprojektion oder Parallelprojektion googeln. Das sind Verfahren, die Objekte aus dem dreidimensionalen Raum auf eine Ebene abbilden können. Allerdings wirst du dich dann wahrscheinlich noch händisch um so Sachen wie verdeckte Pixel (Stichwort Z-Buffer) kümmern müssen.

Ich kenne mich mit der Materie nur oberflächlich und theoretisch aus, aber wenn mich nicht alles täuscht sollte es für sowas bereits fertige Bibliotheken geben, die dir eine Menge Arbeit abnehmen können. Allerdings glaube ich nicht, dass diese Bibliotheken mit Konstrukten wie 'array of array of array of Boolean' arbeiten. Du wirst also wahrscheinlich deine Objekte in dreidimensionale Matrizen oder sowas umrechnen müssen.
Christian
<< FaTaLGuiLLoTiNe >>
Rhinoceroses don't play games!
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: 3d-Darstellunf von array of array of array

  Alt 4. Aug 2009, 11:45
Du könntest dir das hier mal angucken, ist zwar C#, aber die Formeln sollten sich daraus ableiten lassen: http://www.delphipraxis.net/internal...033957#1033957
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.725 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: 3d-Darstellunf von array of array of array

  Alt 4. Aug 2009, 11:54
dort war auch mal sowas ... vielleicht findet sich da ja was drin
http://www.delphipraxis.net/internal...t.php?t=144737
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#5

Re: 3d-Darstellunf von array of array of array

  Alt 4. Aug 2009, 12:28
Wie groß sind denn die Arrays? Wenn es nicht übertrieben viel ist, dann geht vielleicht schon der simple Voxel-Ansatz, den ich vor längerer Zeit mal für ein Fraktal-Experiment gebastelt habe: 3D Fraktal als Voxel (inkl. Sourcecode). Basiert auf einem 256*256*256 großen Array. Läßt sich immerhin drehen (wenn auch nicht zoomen). Tiefeninformation allerdings wird lediglich über Helligkeit angedeutet. War eine Antwort auf einen Diskussion im Delphi-Treff.

Mit der Routine SetVox(X, Y, Z: integer; Value: byte) könntest Du das Voxel-Gebilde füllen. Nimmst halt Value=0 für false und Value=255 für true.
Die Routine CalcFractal() kannst Du Dir natürlich schenken.
Sind sogar Kommentare drin

Gruß
Michael
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.628 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: 3d-Darstellunf von array of array of array

  Alt 4. Aug 2009, 14:23
Edit: Hatte keinen Mehrwert, schuldigung.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
grizzly

Registriert seit: 10. Dez 2004
150 Beiträge
 
Delphi XE4 Professional
 
#7

Re: 3d-Darstellunf von array of array of array

  Alt 4. Aug 2009, 14:42
Feuer hätt ich immer, nur keine Zeit zum Verbrennen

Wenn ich mich recht erinnere, hatte der Thread-Ersteller (Dizzy) seinerzeit weitergemacht und u.A. auch den Marching Cube Algo verwendet. Wenn mich nicht alles täuscht ist er sogar recht weit damit gekommen - er hatte mir damals sein Projekt geschickt. Keine Ahnung, wie weit er mittlerweile damit gekommen ist.
Ich selbst hatte mich kurz eingelesen, aber das sah dann doch nach Arbeit aus.
Heb ich mir alles bis zur Rente auf...

Gruß, und danke für die Erinnerung!
Michael

PS.: Beruhigend, daß die C4D Exportdateien auch bei Dir solche Datenmonster wurden.
(Ups, roter Kasten. Ich schick's trotzdem ab. Und Mehrwert hatte es auch (zumindest für mich)...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf