Das grosse Archiv mit 637
VBA-freien Formellösungen und Tips
 
   
 
 ÜBER UNS   NEWS   FORMELN   TIPPS   KONTAKT   FORUM   LINKS 
   
 
Diagramme (1) ->

Punkte mit xyz-Koordinaten um drei Achsen drehen

Autor: Klaus Kühnlein
 
 
Aufgabe
Mit Matrixmultiplikationen ist es möglich, beliebige Punkte und geometrische Figuren in einem Punkt(xy)-Diagramm um die 3 Raumachsen X,Y,Z zu drehen und damit
ein dreidimensionales Diagramm zu simulieren.

DOWNLOAD (13 KB)







Lösung
Im Bereich A2:C9 stehen die Ausgangskoordinaten.
Die Z-Koordinaten sind natürlich zunächst nicht sichtbar.
Das Beispiel zeigt die Koordinaten der 8 Ecken eines Würfels

Im Bereich I1:K17 stehen 3 3x3-Matrizen. Jede ist für die Drehung um
eine Achse zuständig. Über jeder Matrix steht in Spalte I die Gradzahl von 0-360,
die z.B. mit einem Schiebregler verändert werden kann (I2,I8,I14).
Die Formeln, die in den Zellen der drei Matrizen stehen, werden rechts in den Spalten M:O gezeigt.

Diese drei Matrizen werden in E15:G17 mit
{=MMULT(MMULT(I3:K5;I9:K11);I15:K17)}
zur Gesamt-Matrix gemacht

Selektiere E2:G2 und schreibe
{=MMULT(A2:C2;E15:G17)}
als Arrayformel.
Kopiere dies bis E9

Erstelle ein Punkt(xy)-Diagramm mit den X-werten aus E2:E9 und
den y-Werten aus F2:F9

animierte Beispiele:
DOWNLOAD(50 KB)
DOWNLOAD 3D-Feder(50 KB)



Erläuterung
Man muß wissen, daß die Drehungen um die einzelnen Achsen hierarchisch erfolgt.
Die Gesamtmatrix lautet
=MMMULT(MMULT(X-Matrix;Y-Matrix);Z-Matrix)

die Hierarchie geht von links nach rechts. Es wird also erst um die X-Achse
gedreht, dann um die Y-Achse und dann um die Z-Achse.

3d-Transformationen werden in der modernen Computer-Grafik wegen der
enormen Geschwindigkeits-Steigerung ausschliesslich mit
Matrix-Multiplikation durchgeführt. Dieses Thema ist etwas theoretisch und
Du liest am besten in der einschlägigen Mathematik-Literatur drüber nach.

 
    zurück


 
powered by telltarget