Class Matrix

java.lang.Object
  extended byMatrix

public class Matrix
extends java.lang.Object

NewPolygon Polyeder Diese Klasse stellt eine 4 * 4 main_matrix bereit, mit deren Hilfe Rotationen, Skalierung und Translation von 3D-Objecten berechnet werden koennen. Das Besondere hieran ist, das zunaechst alle Bewegungen ueber die entsprechenden Methoden uebergeben werden und dann die main_matrix alle Berechnungen in einem Vorgang uebernimmt. Die Berechnung uebergebener Punkte wird durch die Methode update durchgefuehrt.


Constructor Summary
Matrix()
          Neue Instanz der Klasse Matrix uebergibt eine Einheitsmatrix
 
Method Summary
 void clear()
          initialisiert ein Matrixobjekt als Einheitsmatrix.
 void print()
          Ermoeglicht das Anzeigen der main_matrix zu testzwecken
 void rotate(double xa, double ya, double za)
          Methode uebergibt durch Matrizenmultiplikationen die erhaltenen Parameter xa, ya und za an die main_matrix.
 void scale(double xs, double ys, double zs)
          Methode uebergibt durch Matrizenmultiplikation die erhaltenen Parameter xs, ys und zs an die main_matrix.
 void translate(double xt, double yt, double zt)
          Methode uebergibt durch Matrizenmultiplikation die erhaltenen Parameter xt, yt und zt an die main_matrix.
 double[][] update(double[][] koord)
          Methode multipliziert ein Array von uebergebenen Punkten P( mit den Koordinaten x, y, z und 1) mit der main_matrix und berechnet ein Array mit den neuen Punkten P'.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Matrix

public Matrix()
Neue Instanz der Klasse Matrix uebergibt eine Einheitsmatrix

Method Detail

clear

public void clear()
initialisiert ein Matrixobjekt als Einheitsmatrix. Wird im Konstruktor aufgerufen und dient beim Verwenden dieser Klasse dazu, die gespei- cherten Multiplikationen einer main_matrix zu loeschen.


scale

public void scale(double xs,
                  double ys,
                  double zs)
Methode uebergibt durch Matrizenmultiplikation die erhaltenen Parameter xs, ys und zs an die main_matrix. Die main_matrix kann die Skalierung zusammen mit allen anderen Bewegungen in einer Berechnung durchfuehren. Eingabe 0 nicht moeglich, Eingabe 1 ergibt fuer die jeweilige Richtung keine Aenderung, > 0 bis < 1 verkleinert, > 1 vergroessert.

Parameters:
xs - scale Wert x
ys - scale Wert y
zs - scale Wert z

translate

public void translate(double xt,
                      double yt,
                      double zt)
Methode uebergibt durch Matrizenmultiplikation die erhaltenen Parameter xt, yt und zt an die main_matrix. Die main_matrix kann die Translation zusammen mit allen anderen Bewegungen in einer Berechnung ausfuehren.

Parameters:
xt - Translationswert x
yt - Translationswert y
zt - Translationswert z

rotate

public void rotate(double xa,
                   double ya,
                   double za)
Methode uebergibt durch Matrizenmultiplikationen die erhaltenen Parameter xa, ya und za an die main_matrix. Dadurch wird die main_matrix in die Lage versetzt, die uebergebenen Rotationen incl. aller anderen Bewegungen in einer Berechnung weiterzugeben. Wenn um einige Achsen keine Rotation gewuenscht wird, 0 uebergeben.

Parameters:
xa - Rotationswert x
ya - Rotationswert y
za - Rotationswert z

update

public double[][] update(double[][] koord)
Methode multipliziert ein Array von uebergebenen Punkten P( mit den Koordinaten x, y, z und 1) mit der main_matrix und berechnet ein Array mit den neuen Punkten P'. Dieses wird dann returniert. Achtung: Das uebergebene Array steht bei der Multiplikation vorn und main_matrix an zweiter Stelle. Matrizenmultiplikation ist nicht kommutativ.

Parameters:
koord - uebergebene Matrix, die multipliziert werden soll
Returns:
berechnete Matrix wird zurueckgegeben

print

public void print()
Ermoeglicht das Anzeigen der main_matrix zu testzwecken