AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drehmatrix 3D

Offene Frage von "dartrax"
Ein Thema von dartrax · begonnen am 3. Feb 2006 · letzter Beitrag vom 4. Feb 2006
Antwort Antwort
dartrax

Registriert seit: 10. Nov 2004
26 Beiträge
 
#1

Drehmatrix 3D

  Alt 3. Feb 2006, 23:32
Hallo!

Ich habe einen Ortsvektor mit seinen Endpunktkoordinaten x, y und z. Diesen Vektor möchte ich nun um eine Achse drehen, die ebenfalls durch den Ursprung geht und irgendwo zwischen der x und der y-Achse liegt (ist als Winkel angegeben). Der Drehwinkel um diese Achse ist natürlich auch angegeben.

Ich habe gelesen, dass das mit Drehmatrizen gut geht, ich habe aber leider keine Ahnung davon, weil ich Matrixen in der Schule noch nicht hatte. Ich habe mich aber schon bei Google und Wikipedia umgesehen und zum Beispiel folgendes herausgefunden:

"Man führt zunächst eine Transformation aus nach der die Drechachse mit einer der Koordinatenachsen zusammenfällt, dreht das ganze um diese Achse und führt anschließend die erste Transformatiopn rückwärts aus, um die Drehachse wieder in die ursprüngliche Lage zu bringen. Will man mehrere Vektoren um dieselbe Achse drehen, dann lohnt es sich die drei Transformationsmatritzen zu multiplizieren."

Wie das gemeint ist, verstehe ich und kann ich mir vorstellen, allerdings habe ich überhaupt keine Ahnung, wie man das in Delphi umsetzt. Und ja, es sind immer mehrere Vektoren, die um die selbe Achse gedreht werden sollen! Das macht das ganze noch komplizierter für mich, denn einigermaßen schnell sollte es auch noch sein, es sind schließlich Fraktale, und da können einige Vektoren zusammenkommen

Könnt ihr mir helfen?

Vielen Dank,
dartrax
Meine Homepage: www.dartrax.de
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#2

Re: Drehmatrix 3D

  Alt 4. Feb 2006, 01:38
D3DX stellt dir solche Funktionen bereit - in deinem Fall D3DXMatrixRotationAxis zum ausrechnen der Matrix, und D3DXVec3TransformCoord zum transformieren deiner Vektoren. Hat noch einen weiteren Vorteil: D3DX benutzt wenn möglich Prozessorerweiterungen wie SSE oder 3DNow.
  Mit Zitat antworten Zitat
dartrax

Registriert seit: 10. Nov 2004
26 Beiträge
 
#3

Re: Drehmatrix 3D

  Alt 4. Feb 2006, 12:09
Hallo,
ich arbeite aber mit OpenGL. Gibt es da auch schon solche Funktionen? Wichtig ist, dass immer nur ganz bestimmte Vektoren verändert werden sollen, nicht die gesamte Darstellung! Wenn das ginge, dann sicher mit einem Geschwindigkeitsvorteil, der mir entgegen kommen würde, ansonsten hätte ich lieber die Koordinaten!

dartrax
Meine Homepage: www.dartrax.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz