You are not logged in.

  • Login

1

Sunday, July 30th 2006, 6:02pm

First Person - In 3 Dimensionen bewegen

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 Wink

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!

2

Wednesday, August 2nd 2006, 10:04pm

hm lol
erstens ma hat OpenGL doch funktionen mit den 3 Übergabeparametern x, y, z
das standard kartesische Koordinatensystem, dass man mit bissel Kenntnis
der Analysis 3 oder so in andere Koordinatensysteme transformieren kann.

Da gibts ausserdem ein gutes PDF File - heut erst noch bei mir aufm Rechner
gesehn muss so "OGL Einführung" heissen, ich google ma

ja hab ich mir da irgendwo runtergeladen guckst Du:
http://www.robsite.de/tutorials.php?tut=opengl

Aso wegen 3D gibts schon einige Koordinatensysteme, musst halt genau wissen,
welches Du nimmst - such ma nach Polarkoordinaten und 3D - geil warte - google
hm vielleicht hilft da http://wwwcs.uni-paderborn.de/cs/ag-domik/computergrafik/cg_skript/html/node63.htm weiter

3

Wednesday, August 2nd 2006, 10:07pm

Quoted

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.

nähm und wenn man auf dem 2 D jetz einfach noch nen "Höhenwinkel" draufbaut?
wofür der Sinus ziemlich schlau wäre, damit man bei 0 grad ganz unten ist 8-)
Ohm krass das wird ja ein 3D-Pythagoras ...
mal Dir mal ein Bild und versuch dir die rechtwinkligen Dreiecke reinzuzeichnen,
dann gibts eventuell nen Aha Effekt

4

Friday, August 4th 2006, 7:19pm

lol, ich hab ma was in Paint gemalt ;-)



also haben wir r, alpha und beta gegeben:

x²+y²+z² = r² , demnach ist die rote Hypotenuse da x²+y² = r'²
eben auch gleich r²-z² = r'²
wobei z/r = sin beta (da ja Gegenkathete zu Hypothenuse)

so bekommen wir aus r und beta schonmal z raus
und demnach auch r' ... dann kannste mit r' wie in 2D vorgehen:
y/r' = sin alpha und x/r' = sin alpha

nu hammer x, y und z

Social bookmarks