Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   3D-Würfel der sich im Raum dreht in Delphi mit DelphiX (https://www.delphipraxis.net/68551-3d-wuerfel-der-sich-im-raum-dreht-delphi-mit-delphix.html)

TOC 1. Mai 2006 16:41


3D-Würfel der sich im Raum dreht in Delphi mit DelphiX
 
Liste der Anhänge anzeigen (Anzahl: 2)
HI!

Schon seit langem wollte ich mal ein wenig mit 3D herumspielen und einen sich drehenden Würfel oder sowas programmieren, aber leider hatte ich nicht die dazu notwendigen Formeln. Durch Zufall habe ich hier in DP aber das Programm StarField gefunden das ein Sternenfeld anzeigt. Aus diesem Programm habe ich mir die 3D-Formeln geklaut und habe sie ein wenig angepast für meinen Würfel. Da war zwar ein kleiner Fehler in den Formeln, aber nach einiger Zeit des Grübelns wurde mir klar wie ich dies beheben konnte. Und: Der Würfel dreht sich!
Du kannst ihn um die X-, Y- und/oder Z-Achse mit verschiedenen Winkelgeschwindigkeiten drehen lassen oder ihn in X-, Y- und/oder Z-Richtung verschieben. Ausserdem kann man ihn einfarbig oder mehrfarbig darstellen, auf den Flächen des Würfels die Diagonalen zeichnen lassen, die Achsen des Würfels zeichnen lassen, die Stiftdicke verändern, die Grösse und den Augenabstand verändern, die Farben einstellen oder sogar noch auf jede Fläche des Würfels eine Pyramide draufsetzen usw.. Natürlich kann man die Einstellungen auch laden und abspeichern. Es sind im Archiv einige *.qcu-Dateien drin mit verschiedenen Würfel-Einstellungen.

Das Programm verwendet zwar DelphiX damit es schneller ist, nicht aber besondere 3D-Funktionen von DirectX. Die Punkte und ihre Drehungen und die Projektion auf den 2D-Bildschirm werden tatsächlich vom Programm berechnet.

Das Programm kann aber leider nicht berechnen welche Kante sichtbar oder von einer anderne Kante verdeckt ist. Das wäre dann wohl auch ein enormer mathematischer Aufwand und leider habe ich dafür nicht die Formeln! Der Würfel ist also durchsichtig.

Die 3D-Formeln findet ihr in der 'UnitCube' in der Prozedur 'MoveAndRotCube' und in der Funktion 'CalcPoint(Point3d:TPoint3d; Var X,Y:Integer):Boolean'.

Das Programm verwendet ein *.ini-File und schreib NIX in die Systemregistrierung!

Im Anhang findest Du jeweils 2 Versionen, für Delphi 3.0 oder 7.0. Wenn Du die Projekte öffnen und neu kompilieren möchtest dann benötigst Du das Paket DelphiX und meine Komponenten-Sammlung Tocs Komponenten als Paket

Das Programm ist OpenSoure und GiftWare.

Ihr könnts Euch ja mal ansehen!

Grüsse von TOC!

mbamler 17. Mai 2006 12:05

Re: 3D-Würfel der sich im Raum dreht in Delphi mit DelphiX
 
Finde ich gut dein Programm
werde Teile daraus verwenden

Gruß
Matthias

TOC 21. Mai 2006 15:52

Re: 3D-Würfel der sich im Raum dreht in Delphi mit DelphiX
 
Hi!

Zitat:

Zitat von mbamler
Finde ich gut dein Programm
werde Teile daraus verwenden

Gruß
Matthias

Cool! Freut mich das es Dir gefällt. Verwende Du ruhig daraus wieviel Du möchtest, dafür isses ja auch OpenSource!

Sorry, war 2Wochen lang Krank, schwere Grippe. Deshalb kann ich Dir jetzt erst antworten.

Grüsse von TOC :stupid: !

delphis spassbremse 21. Aug 2007 07:35

Re: 3D-Würfel der sich im Raum dreht in Delphi mit DelphiX
 
Irgendwie sind die ZIP´s net in Ordnung^^

Matze 21. Aug 2007 08:43

Re: 3D-Würfel der sich im Raum dreht in Delphi mit DelphiX
 
Schön gemacht! :) (Ich habe den Thread erst jetzt gesehen)

Zitat:

Zitat von delphis spassbremse
Irgendwie sind die ZIP´s net in Ordnung^^

Ich habe mit den Archiven keinerlei Probleme.

Florian H 24. Aug 2007 15:03

Re: 3D-Würfel der sich im Raum dreht in Delphi mit DelphiX
 
Zitat:

Zitat von delphis spassbremse
Irgendwie sind die ZIP´s net in Ordnung^^

Liegt daran, dass im Dateinamen Umlaute vorkommen .. das wiederrum sollte man bei Downloads ja grundsätzlich vermeiden ... im Zusammenspiel z.B. mit der Windows-ZIP-Funktion führt es dazu, dass die Datei als ungültiges Zip-Archiv erkannt wird --> umbenennen ("fuer" statt "für") und es funktioniert :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 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