PAINT.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /******************************************************************************
  2. *
  3. *                               MODULE: PAINT.H
  4. *
  5. ******************************************************************************/
  6. /******************************************************************************
  7. *                             SYMBOLIC CONSTANTS
  8. ******************************************************************************/
  9. #define  NUMVERTICES  8 /* number of polyhedron vertices */
  10. #define  NUMFACETS    6 /* number of polyhedron facets   */
  11. #define  MAX_POINTS_PER_FACET 4
  12. /******************************************************************************
  13. *                                  TYPEDEFs
  14. ******************************************************************************/
  15. typedef struct
  16. {
  17.   LONG x, y, z;
  18. } POINT3D;
  19. /******************************************************************************
  20. *                          GLOBAL VARIABLES
  21. ******************************************************************************/
  22. //
  23. //  This particular set of vertices "gNormalizedVertices" and corresponding
  24. //    facets "gaiFacets" describe a normalized cube centered about the
  25. //    origin ([0,0,0] in 3-space). The gaiFacet array is made up of a series
  26. //    of indices into the array of vertices, each describing an individual
  27. //    facet (eg. a polygon), and are separated by -1. Note that the facets
  28. //    are decribed in COUNTERCLOCKWISE (relative to the viewer) order so we
  29. //    can consistently find the normal to any given facet. (The normal
  30. //    is used to determine facet visibilty.)
  31. //
  32. static POINT3D gNormalizedVertices[NUMVERTICES] = {{ 1, 1, 1}, { 1,-1, 1},
  33.                                                    {-1,-1, 1}, {-1, 1, 1},
  34.                                                    { 1, 1,-1}, { 1,-1,-1},
  35.                                                    {-1,-1,-1}, {-1, 1,-1}  };
  36. static int gaiFacets[30] = { 3, 2, 1, 0, -1,
  37.                              4, 5, 6, 7, -1,
  38.                              0, 1, 5, 4, -1,
  39.                              6, 2, 3, 7, -1,
  40.                              7, 3, 0, 4, -1,
  41.                              5, 1, 2, 6, -1  };
  42. POINT3D gXformedVertices[NUMVERTICES];
  43. float   gM[2][3]; /* the transformation matrix */
  44. /******************************************************************************
  45. *                         FUNCTION PROTOTYPES
  46. ******************************************************************************/
  47. void TransformVertices (HWND, RECT *, PSPINCUBEINFO, LONG);
  48. void ComputeRotationTransformation (float, float, float);