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