Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Tobiking

1x Rätselkönig

  • Private Nachricht senden

11

18.05.2010, 17:22

Ich hab das Gefühl du hast noch nicht ganz verstanden was man als Eingabe hat, und was man als Ausgabe will.

Eingabe:
Punkt P(x;y)
Winkel Alpha

Ausgabe:
Punkt P'(x'/y'): Um Winkel Alpha weiter rotierter Punkt P

Deine Vorgehenswiese wäre nun folgendes umfassen:
- Winkel Omega der Geraden vom Nullpunkt zu P bestimmen: arctan(y/x)
- Neuer Winkel ausrechnen: Alpha + Omega
- Radius ausrechnen: Wurzel(x² + y²)
- x' und y' anhand deiner Kreisformel berechnen: cos()*r; sin()*r

Wenn man das nun mit Formel #2 vergleicht, sieht man das es aufwendiger ist. In eine Matrix lässt sich das wahrscheinlich auch nicht packen,

  • »Frankenmetropole« ist der Autor dieses Themas

Beiträge: 11

Wohnort: Nürnberg

Beruf: FI/SI

  • Private Nachricht senden

12

18.05.2010, 18:39

Ich versuchs mich nochmal anders heranzutasten.
Könnt ihr mir hier bitte ein Beispiel liefern? Mir fehlt nur irgendwie der Zusammenhang.

Hab folgenden Vektor gegeben P(100, 200, 50)
den will ich jetzt um die Achse Z um den Winkel a(alpha)=30 Grad drehen.

wie ich weiß bleibt bei Drehung um Z -> z'=z, gesucht wird y' und x'.

Vielleicht seht ihr an meiner Aufgabenstellung ja schon was ich durcheinanderbringe? ?(

EDIT: Welchen Winkel hab ich jetzt in den Polarkoordinaten als OMEGA? auch 30 Grad, wie ALPHA? Warum dann
x' = r * cos (Phi + Alpha) ?? Deswegen bräuchte ich ein Beispiel :(

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Frankenmetropole« (18.05.2010, 20:19)


  • »Frankenmetropole« ist der Autor dieses Themas

Beiträge: 11

Wohnort: Nürnberg

Beruf: FI/SI

  • Private Nachricht senden

13

19.05.2010, 09:03

hm, gut. Werde das einfach mal abschließen und versuchen weiter zu machen. Trotzdem Vielen Dank für eure Mühe!
Grüße

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

14

19.05.2010, 11:11

Der Umweg über Polarkoordinaten usw. ist nur eine Herleitung. Das Phi und r verschwindet ja auch wieder.
Du kannst auf die resultierende Formel zur Drehung sicher auch auf anderen Weg kommen.

Um jetzt mal bei deinem Beispiel zu bleiben, rechnest du einfach mit dem, was die Herleitung dir gegeben hat:

P(100; 200; 50), Drehung um 30° an Z:
x' = 100*cos(30°) - 200*sin(30°) = ~ -13,4
y' = 100*sin(30°) + 200*cos(30°) = ~ 223,2
z' = z
-> gedrehter Punkt P'(-13,4; 223,2; 50)

  • »Frankenmetropole« ist der Autor dieses Themas

Beiträge: 11

Wohnort: Nürnberg

Beruf: FI/SI

  • Private Nachricht senden

15

19.05.2010, 12:26

OK, jetzt zerleg ich das mal so wie Tobiking (für mich zum Verständnis einfacher):

P=(100,200,50)
alpha=30 Grad, drehung an Z
Omega = 63,43 Grad (->arctan(200/100))
Alpha = 30 Grad
Omega+Alpha = 93.43 Grad
r = sqrt(x*x+y*y) = 223,61

x' = 223,61 * cos(93.43) = -13.38
y' = 223,61 * sin(93.43) = 223.21
z' = z = 50

Also brauch ich den Winkel Omega, um die Drehung vom Koordinatenursprung 0,0 (Koordinatenursprung in Modelkoordinaten nicht Weltkoordinaten?) zu berechnen, richtig?

Die Regeln zur Formelumstellung sind natürlich eine andere Sache, aber das wird auch noch, danke :thumbsup:

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Frankenmetropole« (19.05.2010, 12:51)


Werbeanzeige