3D-Framework

Gast #3646196
Lesenswert?

Hallo,

für meinen LED-Cube wollte ich ein PC Tool zur Ansteuerung und zum 
Zusammenklicken von Animationen schreiben, bzw. zu deren Simulation ohne 
Hardware.
Dafür muss ich den Würfel irgendwie darstellen. Komfortabel wär es wenn 
man den Würfel "drehen" könnte um ihn von allen Seiten zu sehen.
Aber dafür reicht es wohl nicht mehr einfach nur Linien auf eine Form zu 
zeichnen, da muss man wohl mit 3D Zeugs ran. Sowas hab ich aber noch nie 
gemacht, würd mich also gern einarbeiten.
Könnt ihr da ein relativ schlankes Framework empfehlen, was man auch 
schnell überblicken kann? OpenGL oder sowas?

Dachte an C++ als Sprache. Oberflächen hab ich bisher immer mit Qt 
gemacht, da komm ich einigermasen zurecht.

PS: bitte dran denken: hier soll kein Shooter mit dicker Engine 
entstehen. In der Praxis wird es wohl darauf hinauslaufen, ein paar 
hundert Kugeln würfelförmig im Raum zu verteilen...
#3646203
Lesenswert?

Ich hatte mir vor vielen Jahren dieses Buch gekauft.
Das war ganz nett, da wurden die mathematischen Grundlagen recht gut 
erklärt (Matrixrechnung).
Ich hatte mir mit den Funktionen eine Steuerung für meine 
Platinenbohrmaschine auf dem PC geschrieben. Die Platine konnte komplett 
schief eingespannt sein und auch in der Größe durch den Drucker noch 
verzehrt. Durch manuelles anfahren der Eckpunkte wurde das erkannt und 
die Drilldaten entsprechend umgerechnet.
Gast #3646244
Lesenswert?

Danke euch allen, ich werd mir die Links zu Gemüte führen.

Was ich mich frage: wieso wird hier teilweise von Matrizenrechnungen und 
Geometrie geredet?
Ich habe ja keine bewegten Objekte, z.B. Kanonenkugeln, für die ich eine 
Flugbahn berechnen müsste.

Ich habe nur Kugeln, die sich ortsunveränderlich im Raum befinden und 
einmal erstellt werden müssen, und aus denen sich dann mein Würfel 
zusammensetzt. Jede Kugel entspricht einem "Pixel" des Würfels und kann 
entweder "an" (=weiß) oder "aus" (=schwarz sein).

D.h. nach meinem Verständnis bräuchte ich zur Initialisierung folgendes:
(Achtung, Pseudocode!)
1
myCube[i] = new Kugel(x, y, z); // wird z.B. 512 mal ausgeführt

Zur Laufzeit rufe ich dann etwa sowas auf:
1
myCube[i].setColor(SCHWARZ);

Mehr sollte das doch nicht sein? Wo kommt da die Mathematik ins Spiel?
Die Perspektive des Raumes mit der Maus zu verstellen (drehen, zoomen, 
Kamere bewegen) sollte doch jedes 3D Framework mitbringen oder? Sowas 
programmiert man doch nicht selbst?!
Gast #3646273
Lesenswert?

Tach,

was ist denn das Problem mit ein wenig Mathe?

Was denkst du denn, wie so ein Framework funktioniert. Du must dem ja 
auch sagen, wo deine Kugeln sein sollen, wie schnell sie sich drehen 
sollen, wo die Kamera ist.

Das wird in der Realität nun mal mit Matrizen gemacht. Wobei eigentlich 
reicht, wenn du weißt, was Matrizen sind.


Grüße
#3646281
Lesenswert?

Morrison schrieb:
> Die Perspektive des Raumes mit der Maus zu verstellen (drehen, zoomen,
> Kamere bewegen) sollte doch jedes 3D Framework mitbringen oder? Sowas
> programmiert man doch nicht selbst?!

Du hast schon recht. Die Matrizenrechnung wird vom Framework gemacht. 
Damit hast du in so einem einfachen Fall nichts zu tun.

Was für dich vielleicht noch interessant wäre, wären Quaternionen. Damit 
kannst du den Würfel dann richtig schön mit der Maus drehen :-)
Gast #3646299
Lesenswert?

tech schrieb:
> was ist denn das Problem mit ein wenig Mathe?

Hab kein Problem damit, als E-Techniker sollten Matrizen leicht von der 
Hand gehen.

Mein letzter Beitrag sollte verdeutlichen, dass ich für mein Vorhaben 
nicht sehe, wo diese ins Spiel kommen.

Aber danke euch, hab auf jeden Fall Anhaltspunkte!
Gast #3646307
Lesenswert?

Der Vollständigkeit halber sei auch OpenSceneGraph erwähnt. Wenn man 
irgendwann soweit ist, zum ersten Mal etwas compilieren zu können, sind 
die paar Kugeln einfach. Das osgviewer-Beispiel kann drehen, zoomen 
etc., du musst ihm nur statt der geladenen scene deine eigenen Kugeln 
unterschieben.
#3646312
Lesenswert?

Morrison schrieb:

> Mein letzter Beitrag sollte verdeutlichen, dass ich für mein Vorhaben
> nicht sehe, wo diese ins Spiel kommen.

Wenn du ein fertiges Framework benutzt, dann wirst du damit nicht 
unmittelbar in Berührung kommen.
Wenn du aber selbst an die Sache ran gehst, dann bleibt es nicht aus, 
sich damit zu beschäftigen. Matrizen sind das um und auf in der 
kompletten hierarchischen Modellierung von Szenerien. Es reicht schon, 
dass du in deiner Szenerie ein paar Punkte selektieren willst und diese 
Punkte dann gemeinsam (und unter Beibehaltung ihrer relativen 
Positionierung zueinander) um eine bestimmte Achse drehen willst, die 
dann auch noch windschief im Raum liegt.
Matrizen sind da einfach nur das mathematische Rüstzeug um derartige 
Beziehungen in einer vereinheitlichten Form (Verschiebung UND Rotation) 
beschreiben zu können.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren