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

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

1

11.09.2012, 19:30

Um Punkt rotieren

Hallo. Ganz simples Problem komme aber nicht auf die Lösung...
Ich habe einen Punkt im 3D Raum als Vektor. Jetzt möchte ich mit festem Abstand um diesen Punkt rotieren. Wie mache ich das mit Matrizen?
Danke

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

2

11.09.2012, 20:00

Um einen Punkt kannst du im 3D nicht rotieren. Du kannst immer nur um eine Gerade rotieren.
Wie genau stellst du dir das vor? Im 3D sind alle unitären Matrizen entweder rotationen um eine Gerade oder Spiegelungen an einem Punkt, einer Gerade oder einer Ebene. (Bzw Drehspiegelungen)

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

3

11.09.2012, 20:08

Vielleicht sollte ich mein Vorhaben erklären: Ich will dass meine Kamera sich in einer Kreisbahn um das ausgewählte Objekt dreht. Dafür jemand eine Lösung?

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FSA« (11.09.2012, 22:55)


DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

4

11.09.2012, 20:12

Auf Abstand zum Objekt transformieren, rotieren und zur Position des Objekts transformieren?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

11.09.2012, 20:20

Vielleicht sollte ich mein Vorhaben erklären: Ich will? dass meine Kamera sich in einer Kreisbahn um das ausgewählte Objekt dreht. Dafür jemand eine Lösung?

Und wo genau liegt dabei das Problem? http://de.wikipedia.org/wiki/Polarkoordi…che_Koordinaten

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

6

11.09.2012, 22:46

Ach verdammt stimmt. Danke.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

7

14.09.2012, 13:46

damals ...

Habe ich dazu mal ein kleines Beispiel gelesen (Example 3-6):
http://www.glprogramming.com/red/chapter03.html

Gruß

Fb

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

8

15.09.2012, 16:02

Um das nochmal hoch zu kochen: Ich versuche in einer 3 Dimensionalen Kugel zu rotieren(an den Rändern). Das müsste dann ja eigentlich mit 2 Winkeln und dem Radius funktionieren:
§ x = r \cdot \sin \theta \cdot \cos \varphi§
§y = r \cdot \sin \theta \cdot \sin \varphi §
§z = r \cdot \cos \theta §

Mein Code dazu:

C-/C++-Quelltext

1
2
Vector3 vCirc = Vector3( (sinf(DEG_TO_RAD(t)) * cosf(DEG_TO_RAD(tt)) * fDis) + vCenter.x, (sinf(DEG_TO_RAD(t)) * sinf(DEG_TO_RAD(tt)) * fDis) + vCenter.y, cosf(DEG_TO_RAD(t)) * fDis + vCenter.z);
m_vCameraPos = vCirc;

t und tt sind die Winkel. vCenter der Mittelpunkt der Kugel und fDis der Radius.
Wie man sich denken kann funktioniert es nicht. Wen ich nach "oben" will (tt), dann geht die Kamera nicht in einer Kreisbahn nach oben sondern einfach nur nach Oben. Wenn ich dann nach links oder rechts will verhält sich alles ganz komisch. Ich fliege dann Diagonal auf einer Fläche kann man sagen. Was habe ich verbockt?

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

15.09.2012, 16:30

Wie sieht dein Koordinatensystem aus und was sind die Winkel da?

FSA

Community-Fossil

  • »FSA« ist der Autor dieses Themas
  • Private Nachricht senden

10

15.09.2012, 16:34

X nach Rechts. Y nach Oben. Z Nach hinten. Die Winkel sind einfach nur werte dir mit der Maus erhöht/verringert werden.

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

Werbeanzeige