Back to index

kdeartwork  4.3.2
Public Member Functions | Private Attributes
Matrix3D Class Reference

List of all members.

Public Member Functions

void unit ()
 Matrix3D ()
void translate (double x, double y, double z)
void rotY (double theta)
void rotX (double theta)
void rotZ (double theta)
void proj (double f)
void transform (double x, double y, double z, double &u, double &v, double &w)

Private Attributes

double xx
double xy
double xz
double xo
double yx
double yy
double yz
double yo
double zx
double zy
double zz
double zo

Detailed Description

Definition at line 341 of file lorenz.cpp.


Constructor & Destructor Documentation

Matrix3D::Matrix3D ( ) [inline]

Definition at line 357 of file lorenz.cpp.

    {
        unit();
    }

Here is the call graph for this function:


Member Function Documentation

void Matrix3D::proj ( double  f) [inline]

Definition at line 461 of file lorenz.cpp.

    {
        xx*=f;
        xy*=f;
        xz*=f;
        xo*=f;
        yx*=f;
        yy*=f;
        yz*=f;
        yo*=f;
        zo+=f;
    }

Here is the caller graph for this function:

void Matrix3D::rotX ( double  theta) [inline]

Definition at line 399 of file lorenz.cpp.

    {
        theta *= pi / 180;
        double ct = cos(theta);
        double st = sin(theta);

        double Nyx = yx * ct + zx * st;
        double Nyy = yy * ct + zy * st;
        double Nyz = yz * ct + zz * st;
        double Nyo = yo * ct + zo * st;

        double Nzx = zx * ct - yx * st;
        double Nzy = zy * ct - yy * st;
        double Nzz = zz * ct - yz * st;
        double Nzo = zo * ct - yo * st;

        yo = Nyo;
        yx = Nyx;
        yy = Nyy;
        yz = Nyz;
        zo = Nzo;
        zx = Nzx;
        zy = Nzy;
        zz = Nzz;
    }

Here is the caller graph for this function:

void Matrix3D::rotY ( double  theta) [inline]

Definition at line 371 of file lorenz.cpp.

    {
        theta *= pi / 180;
        double ct = cos(theta);
        double st = sin(theta);

        double Nxx = xx * ct + zx * st;
        double Nxy = xy * ct + zy * st;
        double Nxz = xz * ct + zz * st;
        double Nxo = xo * ct + zo * st;

        double Nzx = zx * ct - xx * st;
        double Nzy = zy * ct - xy * st;
        double Nzz = zz * ct - xz * st;
        double Nzo = zo * ct - xo * st;

        xo = Nxo;
        xx = Nxx;
        xy = Nxy;
        xz = Nxz;
        zo = Nzo;
        zx = Nzx;
        zy = Nzy;
        zz = Nzz;
    }

Here is the caller graph for this function:

void Matrix3D::rotZ ( double  theta) [inline]

Definition at line 427 of file lorenz.cpp.

    {
        theta *= pi / 180;
        double ct = cos(theta);
        double st = sin(theta);

        double Nyx = yx * ct + xx * st;
        double Nyy = yy * ct + xy * st;
        double Nyz = yz * ct + xz * st;
        double Nyo = yo * ct + xo * st;

        double Nxx = xx * ct - yx * st;
        double Nxy = xy * ct - yy * st;
        double Nxz = xz * ct - yz * st;
        double Nxo = xo * ct - yo * st;

        yo = Nyo;
        yx = Nyx;
        yy = Nyy;
        yz = Nyz;
        xo = Nxo;
        xx = Nxx;
        xy = Nxy;
        xz = Nxz;
    }

Here is the caller graph for this function:

void Matrix3D::transform ( double  x,
double  y,
double  z,
double &  u,
double &  v,
double &  w 
) [inline]

Definition at line 475 of file lorenz.cpp.

    {
        u = x * xx + y * xy + z * xz + xo;
        v = x * yx + y * yy + z * yz + yo;
        w = x * zx + y * zy + z * zz + zo;
    }

Here is the caller graph for this function:

void Matrix3D::translate ( double  x,
double  y,
double  z 
) [inline]

Definition at line 363 of file lorenz.cpp.

    {
        xo += x;
        yo += y;
        zo += z;
    }

Here is the caller graph for this function:

void Matrix3D::unit ( ) [inline]

Definition at line 350 of file lorenz.cpp.

    {
        xx=1.0; xy=0.0; xz=0.0; xo=0.0;
        yx=0.0; yy=1.0; yz=0.0; yo=0.0;
        zx=0.0; zy=0.0; zz=1.0; zo=0.0;
    }

Here is the caller graph for this function:


Member Data Documentation

double Matrix3D::xo [private]

Definition at line 344 of file lorenz.cpp.

double Matrix3D::xx [private]

Definition at line 344 of file lorenz.cpp.

double Matrix3D::xy [private]

Definition at line 344 of file lorenz.cpp.

double Matrix3D::xz [private]

Definition at line 344 of file lorenz.cpp.

double Matrix3D::yo [private]

Definition at line 345 of file lorenz.cpp.

double Matrix3D::yx [private]

Definition at line 345 of file lorenz.cpp.

double Matrix3D::yy [private]

Definition at line 345 of file lorenz.cpp.

double Matrix3D::yz [private]

Definition at line 345 of file lorenz.cpp.

double Matrix3D::zo [private]

Definition at line 346 of file lorenz.cpp.

double Matrix3D::zx [private]

Definition at line 346 of file lorenz.cpp.

double Matrix3D::zy [private]

Definition at line 346 of file lorenz.cpp.

double Matrix3D::zz [private]

Definition at line 346 of file lorenz.cpp.


The documentation for this class was generated from the following file: