![]() |
3D Darstellung in Delphi
Hallo
Also wir brauchen Hilfe für unser Schulprojekt. Wir sollen eine 3D Kugel in Delphi darstellen und dürfen dabei kein Opengl, Directx usw. benutzen. Wie müssen bzw. wie sollten wir da anfangen? Brauchen Starthilfe!!! Mit lieben Grüßen Maren und Anika :kiss: |
Re: 3D Darstellung in Delphi
|
Re: 3D Darstellung in Delphi
Sowas müsst Ihr in der Schule machen? Vor einiger Zeit hab ich mich dem Thema mal angenommen.
Hier das Ergebnis (mit Quelltext): ![]() Oder sollt ihr einfach nur ein Bild wo eine Kugel zu sehen ist darstellen? |
Re: 3D Darstellung in Delphi
also eine 3d-kugel is ja relativ witzlos... 3d quader, klar, aber was hindert dich davon, einfach einen ein bisschen schattierten Krweis zu zeichnen und zu sagen "das is 3d!"?
|
Re: 3D Darstellung in Delphi
Vielen Dank SirThornberry :kiss:
Doch sag mal hast du da nur ein Kreis mit Bildeffekt erstellt oder einen Kreis? Wir müssen das richtig in 3D darstellen, das heißt wir müssten da noch Licht- und Schatteneffekte einbauen. Hast du vielleicht eine Ahnung von wie man das machen könnte? Liebe Grüße Maren und Anika |
Re: 3D Darstellung in Delphi
Das ist einfach nur ein Bild mit vergrößerungseffekt (den Effekt von der Lupe). Licht und Schatten ist somit nur bedingt bis garnicht berücksichtigt. Wenn ihr das drehen eines Punktes um einen anderen Punkt bereits hattet könntet ihr ganz viele Punkte nehmen und diese um einen Mittelpunkt drehen.
|
Re: 3D Darstellung in Delphi
Also ich meine auf die Idee mit Licht und Schatten bin ich auch schon gekommen. Doch wie soll man sowas erstellen wenn man nur das Grundwissen hat. Es ist ein sehr ernstes und wichtiges Projekt und daher sind wir für jede Hilfe dankbar.
lg Maren und Anika |
Re: 3D Darstellung in Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Hier nochmal ein Beispiel wie ich das mit den Punkten gemeint hab.
|
Re: 3D Darstellung in Delphi
Aber dann könnte man keine Texttur aufbringen.
Wir haben ganz viel mit Vektoren und Matritzen in der Schule gearbeitet und müssten das doch jetzt irgendwie anwenden können. Und wo ist das Beispiel? :kiss: |
Re: 3D Darstellung in Delphi
Ja das Beispiel ist gut. Hast du da auch den Quelltext dazu? das wäre natürlich perfekt. Wir könnten das dann auch einbauen.
|
Re: 3D Darstellung in Delphi
Soooooooo,
Jetzt haben wir das richtige Wort. Wir wollen einen Rotationskörper erstellen. Wisst ihr wie das in delphi funktioniert? :roll: |
Re: 3D Darstellung in Delphi
Und wo ist jetzt euer Problem wist ihr nicht wie man einen erstellt oder wie man ihn Zeichnet oder was ???
|
Re: 3D Darstellung in Delphi
Wir haben minimale Grundkenntnisse in Delphi un müssen in 3 Wochen eine Kugel erstellt haben, die am besten noch ne Textur hat und Licht/Schatteneffekte aufweist.
Wie fangen wir da an? Einen 3D Raum mit Bild und Weltkoordinaten bekommen wir gerade noch gebastelt. Und nun? :hi: |
Re: 3D Darstellung in Delphi
Also ihr habt ja euer Formular und da ihr keine Direct(X), oder entsprechende engines nutzen dürft, müsst ihr wohl zwangsläufig auf einem TImage zeichnen. Die Zeichenoberfläche des TImage's besteht aus einer festgelegten anzahl von Pixeln.. was ja praktisch ein 2dimensionales koordinatensystem ergibt. Mit ein wenig Fantasie lässt sich daraus auch ein dreidimensionales Koordinatensystem machen und dann habt ihr ja schon quasi euren Ansatz.
![]() |
Re: 3D Darstellung in Delphi
Zitat:
|
Re: 3D Darstellung in Delphi
Zitat:
Und was ist denn das für 'ne Schule wo einem so etwas zugemutet wird ? ;) Licht sowie Schattenberechnung ist recht komplex und sollte ein wenig Erfahrung voraussetzen. Einen Körper mit einer Textur zu überziehen ist auch keine einfache Angelegenheit wenn man bedenkt dass es da verdeckte oder halbverdeckte Flächen gibt... |
Re: 3D Darstellung in Delphi
zumal ein viereckiges Bild nicht wirklich auf eine Kugel geht. Das merkt man wenn man mal versucht ein Blatt papier um einen Ball zu wickeln. Da muss man das Papier knittern bzw. einschneiden.
|
Re: 3D Darstellung in Delphi
Danke :-D
Den 3D Raum haben wir noch inner Schule auf dem Poolserver gespeichert-kommt demnächst. Wir sind sogar nur ein info Grundkurs, aber unser Lehrer unterrichtet auch an der Hochschule.... :warn: Ein Rotationskörper wird ja so erstellt, indem man einen Polygonzug macht und den in nem bestimmten Winkel dreht und dann die Eckpunkte verbindet. ( So erhält man oben und unten Dreiecke und an sonsten Vierecke). Wir posten bald die Datei mit dem Grundgerüßt. :coder: Bis denn :hello: |
Re: 3D Darstellung in Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist unsere vorgefertigte Datei... Gleich folgt die andere Datei!
Vielleicht könnt ihr damit ja etwas anfangen :spin2: Lieben Gruß Maren und Anika |
Re: 3D Darstellung in Delphi
Liste der Anhänge anzeigen (Anzahl: 1)
Und hier die 2. Datei :dancer2:
|
Re: 3D Darstellung in Delphi
Ok, wir wissen jetzt wie es funktioniert.
Wir haben 3 Projektionearten um einen Würfel, Pyramide, usw. darzustellen, aber bei der Kugel klappt es einfach nicht. Könnten ihr mal gucken ob es ein Fehler im Script gibt? :freak:
Delphi-Quellcode:
:duck:
constructor CKugel.create(Radius,Winkel,Aufloesung:Integer;VW:CWinView);
var Umfangsflaechenzahl : Integer; Eckenanzahl, Flaechenanzahl : Integer; i,von,bis:Integer; PF : Array of TSeitenflaeche; //Anzahl "Aufloesung" Flächen begin Umfangsflaechenzahl:=360 div Winkel; Eckenanzahl:=(Aufloesung-2)*Umfangsflaechenzahl+2; Flaechenanzahl:=Umfangsflaechenzahl*Aufloesung; inherited create(Eckenanzahl,Flaechenanzahl,VW); von:=0; bis:=Umfangsflaechenzahl; for i:=von to bis-1 do begin SetLength(PF[i],3); //e Flächen mit 3 Eckpunkten A[i]:=3; //Eckenanzahl pro Fläche end; von:=bis; bis:=bis+Flaechenzahl-2*Umfangsflaechenzahl; for i:=von to bis-1 do begin SetLength(PF[i],4); //e Flächen mit 4 Eckpunkten A[i]:=4; //Eckenanzahl pro Fläche end; von:=bis; bis:=bis+Umfangsflaechenzahl; for i:=von to bis-1 do begin SetLength(PF[i],3); //e Flächen mit 3 Eckpunkten A[i]:=3; //Eckenanzahl pro Fläche end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr. |
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