home *** CD-ROM | disk | FTP | other *** search
- /* RAYTRACE.HPP */
-
- class RAY
- {
- double dx, dy, dz; /* Direction Vector */
- double ox, oy, oz; /* Orgin */
- public:
- RAY(double x, double y, double z, double vx, double vy, double vz);
- friend class PLANE;
- friend class SPHERE;
- };
-
- class PLANE
- {
- double nx, ny, nz; /* Vector normal ( Perpendicular ) to plane */
- double px, py, pz; /* Point on plane */
- public:
- PLANE(double x, double y, double z, double vx, double vy, double vz);
- double Intersect ( RAY ray );
- int Pattern( RAY ray, double time, int light );
- };
-
- class SPHERE
- {
- double cx, cy, cz; /* Center of SPHERE */
- double r2; /* Radius^2 */
- public:
- double Intersect ( RAY ray );
- void Reflect ( RAY iray, double time, RAY &rray );
- SPHERE( double x, double y, double z, double r);
- };
-
- class VECTOR
- {
- public:
- double dx, dy, dz; /* Three dimensional vector */
- };
-
-