sich drehender 3D-Planet !ohne! 3D Engine

Probleme beim Erstellen von 3D-Modellen und Texturen, keine Ahnung womit man Musik macht? Dies ist dein Forum.
Benutzeravatar
Hades
Beiträge: 100
Registriert: 21.05.2005 11:54

Beitrag von Hades »

@PureLust

Versteh ich das richtig...? Alles per CPU? Ich bin beeindruckt. :shock:

Hast Du dafür die Rotation auf die Y-Achse begrenzt? (Sag jetzt bitte nicht nein, sonst werde ich wohl mit dem Programmieren aufhören und es vielleicht mal mit Stricken versuchen :roll: )
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

Hades hat geschrieben:Versteh ich das richtig...? Alles per CPU?
Jjjjjjapp !!!
Hades hat geschrieben:Sag jetzt bitte nicht nein, ...
Nicht nein !!! (Wenn Du verstehst was ich meine.) ;)

Die 'Begrenzung' auf die Y-Achsen Rotation hat jedoch weniger etwas mit dem Speed der Engine, sondern eher etwas mit meinem mathematischen Unvermögen zu tun. :(

Eine Globe-Projection konnte ich mir ja noch selber herleiten - aber eine Formel zur Rotation um alle 3 Achsen war dann doch 'ein wenig over th top'.

Wenn also 'zufällig' noch jemand eine nette kleine Formelsammlung für diesen Bereich zu Hause rum liegen hat, wäre ich dafür sehr dankbar. :allright:
(Ich bastle gerade auch noch an einer kleinen Physik-Engine dazu (Masse, Trägheit, Schwerpunkt, Reibung, Beschleunigung, ...) und suche auch zu solchen Themen noch ein paar lehrreiche Links.)
Macros hat geschrieben:... wie wäre es, wenn du den Code mal öffentlich reinstellst?
@Macros:
Werde ich natürlich gerne machen.

Aber da ich das ganze in Bezug zu meinem Beitrag zum PB-Summercontest mache, wird die Veröffentlichung leider wohl noch bis zum 20.Mai dauern.
(Ich hoffe das ist ok?)

Greetz, PureLust.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Natürlich ist das Ok ;-)
schon mal im Vorrraus vielen Dank :D
Benutzeravatar
Hades
Beiträge: 100
Registriert: 21.05.2005 11:54

Beitrag von Hades »

@PureLust

'Nicht nein' :mrgreen:

Hmmm... eine Rotation um die Y-Achse kann man ja einfach durch 'verschieben' der Textur erreichen.

Verwendest Du Polarkoordinaten um die Textur auf die Kugel zu mappen? Oder irgend einen Trick?

Ich bin leider kein Mathe-Ass, darum würde ich den Umweg über kartesischen Koordinaten gehen, und die dann rotieren. Das würde die Performance aber wohl ein wenig in den Keller ziehen. :(
Aber eigentlich müsste das auch direkt mit Polarkoordinaten gehen. In meinem naiven Geist stell ich mir grad vor, das da sogar einfache Addition der Winkel für die Rotation um zwei Achsen reichen könnte!? Hat hier irgend jemand Ahnung von sowas?
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

Hades hat geschrieben:Verwendest Du Polarkoordinaten um die Textur auf die Kugel zu mappen?
Wenn Du mir mit allgemein verständlichen Worten erklären könntest was genau Polarkoordinaten sind, so könnte ich Dir evtl. auch eine Antwort darauf geben.

Wie gesagt ... ich bin gelernter Informations-Elektroniker - kein Mathematiker. /:->
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
Hades
Beiträge: 100
Registriert: 21.05.2005 11:54

Beitrag von Hades »

:oops:

Ich dachte um soetwas zu machen müstest Du wissen was Du tust. :D

Aber Polarkoordinaten war auch nicht 100% korrekt. Kugelkoordinaten heißt das in dem Fall wohl richtig (aber ich hab ja auch keine Ahnung). Also Längen- und Breitengrad. Dann müsste es doch möglich sein, den Rotationswinkel einfach dazu zu addieren, um eine Rotation um zwei Achsen zu bekommen!?
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

Hades hat geschrieben::oops:
Ich dachte um soetwas zu machen müstest Du wissen was Du tust. :D
Wissen was ich tue ??? ICH ??? :lol: :lol: :lol:

Nee, ... aber Scherz bei Seite.

Wissen, was man SELBER tut und wissen wie ANDERE das nennen was man da tut sind ja leider nunmal oft zwei verschiedene Paar Schuhe. /:->

So habe ich mir wirklich jahrelang schwer damit getan, OOP zu begreifen, da es nun plötzlich Ausdrücke wie 'Eigenschaften' und 'Methoden' und 'Vererbungen von Objekten' gab.
Das sich dahinter im Grunde einfach nur Dinge verbargen die man früher 'Setzen von Variablen', 'Aufruf von Unterprogrammen (bzw. Prozeduren)' und 'benutzen von Defaultwerten' nannte, hat mich wirklich Jahre meines Lebens gekostet.

Es scheitert halt immer wieder an Unterschiedlich verwendeten Bezeichnungen für ein und die selbe Sache.

Um nun aber wieder mal zum Thema zurück zu kommen:
Es kann also sehr gut sein, dass ich sowas wie Polarkoordinaten, Kugelkoordinaten oder kartesischen Koordinaten verwende.
Aber ob das Verfahren das ich verwende von irgendjemandem so genannt wird weis ich leider nicht.
Ich hab mir das halt selber hergeleitet. :(

Auch hier im Forum treffe ich halt leider immer wieder auf irgendwelche Fachbegriffe die ich so halt nicht kenne.
Da steh' ich dann wirklich wie Ochs vorm Berg und verstehe kein Wort. :|

Das hört sich für einen Nichtwissenden dann in etwa wie die Schlumpfsprache an:
Zitat: "Dann musst Du nur das Schlumpf durch den Schlumpf ersetzen und kannst dann den Schlumpf verschlumpfen.! ... ähh ... ahhhh ja. :?

Wenn man aber dann mal jemanden gefunden hat, der die Gabe besitzt, kompliziert klingende Dinge in einfache und allgemeingültige Sprache zu übersetzen, dann macht's meistens sofort 'Klick' und alles ist auf einmal klar - da man das ja meist schon kannte wovon da gedetet wurde, jedoch nicht wusste das andere das SO nennen.

Aber zum Glück gibt es hier im Forum ja noch so einige gutmütige und weise Papa-Schlümpfe, die ab und zu Ihre Gabe einsetzen auch einem Nicht-Schlumpf noch in einfachen Worten zu verschlumpfen, wobei es sich bei diesem und jenem schlumpfigen Schlumpfwort schlumpft und was sich letztendlich dahinter verschlumpft. :allright:

In diesem Sinne,
Gut's Nächtle !!! ;)
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Dann wollen wir mal dafür sorgen, das du polst, was Polarkoordinaten sind. :wink:
Die Sache ist sehr einfach, du gibst statt x und y
Entfernung und Winkel an.
also statt
(3/4)
(5/37°)
Kartesische Koordinaten sind die "normalen" Koordinaten
und Kugelkoordinaten
Uff, soll mal Wikipedia machen, die haben so schöne Bilder :D
http://de.wikipedia.org/wiki/Kugelkoordinaten
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

Hi Macros, ...

vielen Dank für den Link - jetzt bin ich schlauer. :allright:

Zitat:
Bild

Bild

Ääähh .... ööööhmmm .... hmmmm ........... hääääähhh ??? :freak:

Achjaaa .... "Baaahnhooof" ... warum steht das denn nicht gleich da !?!?

(Naja, war dann wohl doch nichts mit dem 'schlauer sein'.) :(

Aber dennoch Danke für den Versuch.
(Au mann, fühl ich mich jetzt DUMM. :( )
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
Hades
Beiträge: 100
Registriert: 21.05.2005 11:54

Beitrag von Hades »

Das hat echt nichts mit dumm zu tun (hoffe ich :D ). Ich kann Deine Probleme voll und ganz nachvollziehen, da es mir meist ganz genauso geht. Ohne Beispielcode hab ich auch meist Probleme. Da ich aber keine Ahnung habe was Du in Deinem Programm tust, weiss ich auch nicht wie man von da aus weiterkommt. :(


Edit: Was jetzt folgt ist falsch. Siehe nächsten post.
*
Stell Dir Polarkoordinaten mal wie einen Geschützturm vor :D . Um eine bestimmten Punkt zu treffen drehst Du den Turn um z.B. 30° nach rechts. Das ist der erste Winkel. Dann hebst Du die Kanone, die an dem Turm ist, um z.B. 20° . Das ist der zweite Winkel. Und die Entfernung zum Ziel ist dann der dritte Wert den Du für Polarkoordinaten noch brauchst.

Bei Kugelkoordinaten brauchst Du die Entfernung nicht, da sie immer gleich dem Radius der Kugel ist. Ansonsten das gleiche wie Polarkoordinaten.
*

Kartesisches Koordinaten sind einfach die Entfernungen entlang der einzelnen Achsen. Also x,y(,z) , wie Du es für z.B. Plot gewohnt bist.


Bei der Textur, die Du auf die Kugel projizierst, könntest Du sagen links ist 0° , rechts 360°. Das ist dann der erste Winkel für die Kugelkoordinaten.
Bei dem zweiten wird das komplizierter. Das hängt nämlich davon ab, ob Du die Textur zylindrisch auf die Kugel projizierst, oder kugelförmig. Wenn kugelförmig, dann hast Du auch schon Deinen zweiten Winkel (auf die gleiche Art wie beim ersten, nur für oben und unten)
Zuletzt geändert von Hades am 04.05.2006 21:36, insgesamt 1-mal geändert.
Antworten