Autor Beitrag
ISAS
Hält's aus hier
Beiträge: 6


D4
BeitragVerfasst: So 30.07.06 15:53 
Hallo!

Ich arbeite mich gerade in OpenGL ein. Geht auch recht gut, aber stehe nun vor einem Problem, dass eher allgemein ist. Will mich wie bei einem 3D Programm frei in der Welt bewegen können. Wie ein Raumschiff: Rauf, runter, links, rechts, drehenrauf, drehenrunter, drehenlinks, drehenrechts. Sprich vogelfrei. Ich glaube, ihr wisst, was ich meine ;)

Auf 2 Dimensionen hab ich es auch schon geschafft mich zu bewegen, aber irgendwie happerts an der 3...

Ich habe 2 Winkel (eine um die z-Achse und die andre um die y-Achse) und eine Weglänge (oder auch radius). Jetzt möchte ich, wenn ich mich in einem bestimmen Winkel (sagen wir mal 45° von x weg und 45° hinauf) den Punkt errechnen, der vom 0Punkt genau diese Winkel entfernt ist mit einer bestimmten Weglänge.

Kurz gesagt, ich schaue gerade rechts rauf und will mit betätigen einer Taste auch dorthin.
Ich brauch also die Formel(n), die man benötigt, um diesen Punkt zu berrechnen.

Danke

PS: Falls ich mich schlecht ausgedrückt habe und ihr nicht wisst, was ich will, dann versuche ich es irgendwie anders nochmal. Aber Stichwort vogelfrei bzw Kammera wie in einem 3D Bearbeitungs-Programm müsste eigentlich alles erklären!
Arno Nym
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: So 30.07.06 17:05 
Hi!
les dir mal den Beitrag in Wikipedia zu Kugelkoodinaten durch. Da stehen die Transformationen drin (Musst aber mit den beiden Winkeln Theta und Phi aufpassen, die geht einer nur bis PI (180°) also eventuell Fallunterscheidungen einbauen.)
MFG, Arno Nym
Phobeus
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1280

Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
BeitragVerfasst: Mo 31.07.06 09:03 
Schaue Dir mal diesen Bereich unserer Tutorial-Sektion an:
wiki.delphigl.com/in...orial#Mathematisches

Insbesondere die beiden unteren sollten für Dich interessant sein. Unter Files->API-Source findest Du die beiden dazugehörigen Quellcodes, wobei der eine so ziemlich genau das leisten sollte, was Du Dir wünschst.

_________________
"Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
ISAS Threadstarter
Hält's aus hier
Beiträge: 6


D4
BeitragVerfasst: Mo 31.07.06 14:34 
Hmm, das mit den Kugelkoordinaten schaut gut aus, aber...

habe die Winkel auf der xz-Achse und xy achse.
hmm, Also eigentlich hab ich beide Winkel, die ich brauche... richtig?

Nehmen wir an ich schaue genau rechts rauf:
Winkel auf der xy-Achse = a = 45°
Winkel auf der xz-Achse = b = 45°
Radius r = 1 und somit nich zu beachten.

x = sin(a) * sin(b) = 0.5 //falsch. Müsste doch 0.577 sein

r = 1 = sqrt (0.577² + 0.577² + 0.577²)

Welcher Winkel passt nicht?