CG: Kugelkoordinaten richtig?

Wiki sagt was anderes :>

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

CG: Kugelkoordinaten richtig?
Hey,
Sind die drei Formeln aus der Angabe fuer die Berechnung der Koordinaten richtig?

Wikipedia schlaegt diese hier vor:


Also x und y sind vertauscht.

Ich habe gerade mit den Funktionen aus der Angabe versucht zu programmieren, vergebens…

Diese Formeln aus der Angabe machen - zumindest mit mein minimalen mathematischem Verstaendnis - nicht viel Sinn.

Wenn die y-Koordinate nach oben orientiert ist, dann ist der Nordpol: y = r * cos (90) = 0.
Ich denke da sollte aber y = 1*r (fuer theta = 90Grad) rauskommen, oder?

Waere auch mein naechste Frage, da bin ich mir aber fast sicher:
Theta, der Winkel zwischen x- und y- Achse
Phi, der Winkel zwischen x- und z- Achse
?


Reihenfolge und Benennung ist Konventionssache, manche Leute nehmen Rechts- andere Linkssysteme, das aendert dann die Reihenfolge der Achsen. Aehnlich fuer die Winkel.

Wikipedia ist fuer die meisten Mathematikthemen Schrott, nehmt lieber einen Bronstein. (wobei ich erst nachschauen muesste ob da beide Varianten drinstehen)


Die Angabe hat bei uns funktioniert.


Wenn du dir das Bild hier anschaust, siehst du, wie die Winkel gemeint sind.
http://de.wikipedia.org/wiki/Kugelkoordinaten

Und dann ist auch y = r * cos(θ) = r * cos(0°) = r
(Und wie bereits erwähnt wurde: Im Bild ist die z-Achse nach oben, wir haben immer die y-Achse nach oben)


Ich hätte da eine Frage zum “r”.
Als default wird 25 vorgegeben. Jetzt stellt sich mir die Frage: Sind das die Pixel (wieso dann kein int?) oder ein relativer Wert (25% vom Koordinatenursprung zum Rand)? Ich tippe ja auf das Zweite dachte mir aber ich frag mal besser nach.

Die gleiche Frage stellt sich mir dann auch gleich bei der b) was mit der Kantenlänge von A = 100 gemeint ist. Wobei das ja dort dann nur 50% vom Ursprung zur Kante wären.


Du bekommst doch den Radius in der drawSphere Methode übergeben. Was spricht dagegen, diesen einfach in die Parametrisierung der Kugel zu stecken? Also radius der Kugel = 25 „world units“, also in dem 3D Koordinatensystem, das später (automatisch) gerastert wird. Positionen rechnet man soweit ich weiß gewöhnlich immer in floats, daher müsstest du einen Integer immer casten. Was meinst du mit Rand bzw. Kante?


Hat sich erledigt. Hatte gestern noch nicht mit der b) angefangen und auch die Folien nicht bis zum Ende durchgearbeitet.

Und wenn man einfach nur nach der “How do we create content” Folie geht, muss man glVertex* mit Parametern im Bereich [-1;1] füttern.