Annotation of q_a/samples/spincube/paint.h, revision 1.1.1.1

1.1       root        1: /************************************************************************\
                      2: *
                      3: *  PAINT.H
                      4: *
                      5: \************************************************************************/
                      6: 
                      7: 
                      8: 
                      9: /************************************************************************\
                     10: *                          SYMBOLIC CONSTANTS
                     11: \************************************************************************/
                     12: 
                     13: #define  NUMVERTICES  8 /* number of polyhedron vertices */
                     14: #define  NUMFACETS    6 /* number of polyhedron facets   */
                     15: 
                     16: #define  MAX_POINTS_PER_FACET 4
                     17: 
                     18: #define  XROT_INCREMENT  (float) 0.0872  /* 5  degrees */
                     19: #define  YROT_INCREMENT  (float) 0.1744  /* 10 degrees */
                     20: #define  ZROT_INCREMENT  (float) 0.2617  /* 15 degrees */
                     21: 
                     22: 
                     23: 
                     24: /************************************************************************\
                     25: *                              TYPEDEFs
                     26: \************************************************************************/
                     27: 
                     28: typedef struct { LONG x, y, z; } POINT3D;
                     29: 
                     30: 
                     31: 
                     32: /************************************************************************\
                     33: *                          GLOBAL VARIABLES
                     34: \************************************************************************/
                     35: 
                     36: /*  This particular set of vertices ("v") and facets describe a normalized
                     37:  *  cube centered about the origin. The facet list is made up of a series
                     38:  *  of indexes into the array of vertices, each describing an individual
                     39:  *  facet (eg. a polygon), and are separated by -1. Note that the facets
                     40:  *  are decribed in COUNTERCLOCKWISE order (so we can consistently find
                     41:  *  the normal to any given facet).
                     42:  */
                     43: static POINT3D v[NUMVERTICES] = {{ 1, 1, 1}, { 1,-1, 1},
                     44:                                  {-1,-1, 1}, {-1, 1, 1},
                     45:                                  { 1, 1,-1}, { 1,-1,-1},
                     46:                                  {-1,-1,-1}, {-1, 1,-1}  };
                     47: 
                     48: 
                     49: static int facets[30] = { 3, 2, 1, 0, -1,
                     50:                           4, 5, 6, 7, -1,
                     51:                           0, 1, 5, 4, -1,
                     52:                           6, 2, 3, 7, -1,
                     53:                           7, 3, 0, 4, -1,
                     54:                           5, 1, 2, 6, -1  };
                     55: 
                     56: POINT3D xv[NUMVERTICES]; /* will hold the transformed points in "v" */
                     57: 
                     58: float   m[2][3]; /* the transformation matrix */
                     59: 
                     60: 
                     61: 
                     62: /************************************************************************\
                     63: *                         FUNCTION PROTOTYPES
                     64: \************************************************************************/
                     65: 
                     66: void ComputeXform  (float, float, float);
                     67: void XformVertices (int, int);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.