All Packages  This Package  Class Hierarchy  Class Search  Index

Class com.hermetica.gle.matrix
java.lang.Object
   |
   +----com.hermetica.gle.matrix

  Summary

public class  matrix
     extends java.lang.Object
{
          // Fields 1
     public static final String VERSION;

          // Constructors 1
     public matrix();

          // Methods 41
     public static final double[][] COPY_MATRIX_2X2(double[][]);
     public static final double[][] COPY_MATRIX_2X3(double[][]);
     public static final double[][] COPY_MATRIX_4X4(double[][]);
     public static final double[][] IDENTIFY_MATRIX_3X3();
     public static final double[][] IDENTIFY_MATRIX_4X4();
     public static final double[][] MATRIX_PRODUCT_2X2(double[][], double[][]);
     public static final double[][] MATRIX_PRODUCT_4X4(double[][], double[][]);
     public static final double[] MAT_DOT_VEC_2X3(double[][], double[]);
     public static final double[] MAT_DOT_VEC_3X3(double[][], double[]);
     public static final double[] NORM_XFORM_2X2(double[][], double[]);
     public static final double[] VEC_COPY(double[]);
     public static final double[] VEC_COPY_2(double[]);
     public static final double[] VEC_CROSS_PRODUCT(double[], double[]);
     public static final double[] VEC_DIFF(double[], double[]);
     public static final double VEC_DOT_PRODUCT(double[], double[]);
     public static final double VEC_LENGTH(double[]);
     public static final double VEC_LENGTH_2(double[]);
     public static final double[] VEC_NORMALIZE(double[]);
     public static final double[] VEC_PERP(double[], double[]);
     public static final double[] VEC_REFLECT(double[], double[]);
     public static final double[] VEC_SCALE(double, double[]);
     public static final double[] VEC_SUM(double[], double[]);
     public static final double[] VEC_ZERO();
     public static final void rot_about_axis_d(double, double[]);
     public static final void rot_axis_d(double, double[]);
     public static final void rot_cs_d(double, double, char);
     public static final void rot_omega_d(double[]);
     public static final void rot_prince_d(double, char);
     public static final void rotx_cs_d(double, double);
     public static final void roty_cs_d(double, double);
     public static final void rotz_cs_d(double, double);
     public static final double[][] urot_about_axis_d(double, double[]);
     public static final double[][] urot_axis_d(double, double[]);
     public static final double[][] urot_cs_d(double, double, char);
     public static final double[][] urot_omega_d(double[]);
     public static final double[][] urot_prince_d(double, char);
     public static final double[][] urotx_cs_d(double, double);
     public static final double[][] uroty_cs_d(double, double);
     public static final double[][] urotz_cs_d(double, double);
     public static final double[][] uview_direction_d(double[], double[]);
     public static final double[][] uviewpoint_d(double[], double[], double[]);

}

Miscellaneous matrix operations used by the GLE Tubing and Extrusion library.

Version:
$Id: matrix.java,v 1.2 1998/05/05 23:31:09 descarte Exp descarte $
Author:
Alligator Descartes <http://www.arcana.co.uk>




  Fields

VERSION

Summary  |  Top

   public static final String VERSION

Version information


  Constructors

matrix

Summary  |  Top

   public matrix() 

Default constructor



  Methods

urotx_cs_d

Summary  |  Top
   public static final double[][] urotx_cs_d(double cosine, 
                                             double sine) 

Creates a matrix that represents rotation about the x-axis



rotx_cs_d

Summary  |  Top
   public static final void rotx_cs_d(double cosine, 
                                      double sine) 

Creates and loads a matrix that represents rotation about the x-axis



uroty_cs_d

Summary  |  Top
   public static final double[][] uroty_cs_d(double cosine, 
                                             double sine) 

Creates a matrix that represents rotation about the y-axis



roty_cs_d

Summary  |  Top
   public static final void roty_cs_d(double cosine, 
                                      double sine) 

Creates and loads a matrix that represents rotation about the y-axis



urotz_cs_d

Summary  |  Top
   public static final double[][] urotz_cs_d(double cosine, 
                                             double sine) 

Creates a matrix that represents rotation about the z-axis



rotz_cs_d

Summary  |  Top
   public static final void rotz_cs_d(double cosine, 
                                      double sine) 

Creates and loads a matrix that represents rotation about the z-axis



urot_cs_d

Summary  |  Top
   public static final double[][] urot_cs_d(double cosine, 
                                            double sine, 
                                            char axis) 

Creates a matrix that represents rotation about the given axis



rot_cs_d

Summary  |  Top
   public static final void rot_cs_d(double cosine, 
                                     double sine, 
                                     char axis) 

Creates and loads a matrix that represents rotation about the given axis



urot_prince_d

Summary  |  Top
   public static final double[][] urot_prince_d(double theta, 
                                                char axis) 

Generates a rotation matrix for rotation about principal axis; note that angle is measured in radians ( divide by 180, multiply by PI to convert from degrees )



rot_prince_d

Summary  |  Top
   public static final void rot_prince_d(double theta, 
                                         char axis) 

Generates and loads a rotation matrix for rotation about principal axis; note that angle is measured in radians ( divide by 180, multiply by PI to convert from degrees )



rot_axis_d

Summary  |  Top
   public static final void rot_axis_d(double omega, 
                                       double[] axis) 

Generates and loads a rotation about axis matrix



rot_about_axis_d

Summary  |  Top
   public static final void rot_about_axis_d(double angle, 
                                             double[] axis) 



rot_omega_d

Summary  |  Top
   public static final void rot_omega_d(double[] axis) 



urot_axis_d

Summary  |  Top
   public static final double[][] urot_axis_d(double omega, 
                                              double[] axis) 



urot_about_axis_d

Summary  |  Top
   public static final double[][] urot_about_axis_d(double angle, 
                                                    double[] axis) 



urot_omega_d

Summary  |  Top
   public static final double[][] urot_omega_d(double[] axis) 



VEC_ZERO

Summary  |  Top
   public static final double[] VEC_ZERO() 

Returns a new vector with all coefficients set to 0



VEC_NORMALIZE

Summary  |  Top
   public static final double[] VEC_NORMALIZE(double[] v) 

Returns a new vector as the given vector normalized



VEC_REFLECT

Summary  |  Top
   public static final double[] VEC_REFLECT(double[] v, 
                                            double[] n) 

Vector reflection. Takes vector v and reflects it against reflector n. Returns the new reflected vector



VEC_COPY_2

Summary  |  Top
   public static final double[] VEC_COPY_2(double[] v) 

Returns a new vector as a copy of the given vector



VEC_COPY

Summary  |  Top
   public static final double[] VEC_COPY(double[] v) 

Returns a new vector as a copy of the given vector



VEC_LENGTH_2

Summary  |  Top
   public static final double VEC_LENGTH_2(double[] v) 

Returns the length of the given vector



VEC_LENGTH

Summary  |  Top
   public static final double VEC_LENGTH(double[] v) 

Returns the length of the given vector



VEC_SCALE

Summary  |  Top
   public static final double[] VEC_SCALE(double scale, 
                                          double[] v) 

Returns a new vector as a scaled version of the given one



VEC_CROSS_PRODUCT

Summary  |  Top
   public static final double[] VEC_CROSS_PRODUCT(double[] v1, 
                                                  double[] v2) 

Calculates the cross product of the two given vectors



VEC_DOT_PRODUCT

Summary  |  Top
   public static final double VEC_DOT_PRODUCT(double[] v1, 
                                              double[] v2) 

Calculates the dot product of the two given vectors



VEC_PERP

Summary  |  Top
   public static final double[] VEC_PERP(double[] v, 
                                         double[] n) 

Calculates vector parallel to the given vectors



VEC_DIFF

Summary  |  Top
   public static final double[] VEC_DIFF(double[] v2, 
                                         double[] v1) 

Returns a new vector containing the difference between the two given vectors



VEC_SUM

Summary  |  Top
   public static final double[] VEC_SUM(double[] v1, 
                                        double[] v2) 

Returns a new vector created from the sum of the two given vectors



IDENTIFY_MATRIX_3X3

Summary  |  Top
   public static final double[][] IDENTIFY_MATRIX_3X3() 

Initializes a 3x3 matrix



IDENTIFY_MATRIX_4X4

Summary  |  Top
   public static final double[][] IDENTIFY_MATRIX_4X4() 

Initializes a 4x4 matrix



COPY_MATRIX_2X2

Summary  |  Top
   public static final double[][] COPY_MATRIX_2X2(double[][] a) 

Returns a new 2x2 matrix that is a copy of the given 2x2 matrix



COPY_MATRIX_2X3

Summary  |  Top
   public static final double[][] COPY_MATRIX_2X3(double[][] a) 

Returns a new 2x3 matrix that is a copy of the given 2x3 matrix



COPY_MATRIX_4X4

Summary  |  Top
   public static final double[][] COPY_MATRIX_4X4(double[][] a) 

Returns a new 4x4 matrix that is a copy of the given 4x4 matrix



MATRIX_PRODUCT_2X2

Summary  |  Top
   public static final double[][] MATRIX_PRODUCT_2X2(double[][] a, 
                                                     double[][] b) 

Returns a new matrix as the product of the two given matrices



MATRIX_PRODUCT_4X4

Summary  |  Top
   public static final double[][] MATRIX_PRODUCT_4X4(double[][] a, 
                                                     double[][] b) 

Returns a new matrix as the product of the two given matrices



MAT_DOT_VEC_2X3

Summary  |  Top
   public static final double[] MAT_DOT_VEC_2X3(double[][] m, 
                                                double[] v) 

Affine matrix times vector. The matrix is assumed to be an affine matrix with last two entries representing a translation



MAT_DOT_VEC_3X3

Summary  |  Top
   public static final double[] MAT_DOT_VEC_3X3(double[][] m, 
                                                double[] v) 

Matrix times vector



NORM_XFORM_2X2

Summary  |  Top
   public static final double[] NORM_XFORM_2X2(double[][] m, 
                                               double[] v) 

transform normal vector by inverse transpose of matrix and then renormalize the vector This macro computes inverse transpose of matrix m, and multiplies vector v into it, to yeild vector p Vector p is then normalized.



uview_direction_d

Summary  |  Top
   public static final double[][] uview_direction_d(double[] v21, 
                                                    double[] up) 

The uviewdirection subroutine computes and returns a 4x4 rotation matrix that puts the negative z axis along the direction v21 and puts the y axis along the up vector. Note that this code is fairly tolerant of "weird" paramters. It normalizes when necessary, it does nothing when vectors are of zero length, or are co-linear. This code shouldn't croak, no matter what the user sends in as arguments.



uviewpoint_d

Summary  |  Top
   public static final double[][] uviewpoint_d(double[] v1, 
                                               double[] v2, 
                                               double[] up) 



All Packages  This Package  Class Hierarchy  Class Search  Index
Freshly brewed Java API Documentation automatically generated with polardoc Version 1.0.6