org.nlogo.api
Class Matrix3D

java.lang.Object
  extended by org.nlogo.api.Matrix3D

public class Matrix3D
extends Object

A fairly conventional 3D matrix object that can transform sets of 3D points and perform a variety of manipulations on the transform


Constructor Summary
Matrix3D()
          Create a new unit matrix
 
Method Summary
 void mult(Matrix3D rhs)
          Multiply this matrix by a second: M = M*R
 void scale(double f)
          Scale by f in all dimensions
 void scale(double xf, double yf, double zf)
          Scale along each axis independently
 String toString()
           
 void transform(double[] v, double[] tv, int nvert)
          Transform nvert points from v into tv.
 void translate(double x, double y, double z)
          Translate the origin
 void unit()
          Reinitialize to the unit matrix
 void vrot(double x, double y, double z, double u, double v, double w, double theta)
           
 void xrot(double theta)
          rotate theta degrees about the x axis
 void yrot(double theta)
          rotate theta degrees about the y axis
 void zrot(double theta)
          rotate theta degrees about the z axis
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Matrix3D

public Matrix3D()
Create a new unit matrix

Method Detail

scale

public void scale(double f)
Scale by f in all dimensions


scale

public void scale(double xf,
                  double yf,
                  double zf)
Scale along each axis independently


translate

public void translate(double x,
                      double y,
                      double z)
Translate the origin


yrot

public void yrot(double theta)
rotate theta degrees about the y axis


xrot

public void xrot(double theta)
rotate theta degrees about the x axis


zrot

public void zrot(double theta)
rotate theta degrees about the z axis


vrot

public void vrot(double x,
                 double y,
                 double z,
                 double u,
                 double v,
                 double w,
                 double theta)

mult

public void mult(Matrix3D rhs)
Multiply this matrix by a second: M = M*R


unit

public void unit()
Reinitialize to the unit matrix


transform

public void transform(double[] v,
                      double[] tv,
                      int nvert)
Transform nvert points from v into tv. v contains the input coordinates in doubleing point. Three successive entries in the array constitute a point. tv ends up holding the transformed points as integers; three successive entries per point


toString

public String toString()
Overrides:
toString in class Object