Sphere类定义
这个类是球体,也就是一会要显示的球体了。这个类继承于Geometrics类,并实现了自己的碰撞检测,碰撞原理,书上也说的很清楚了啊,大家多看。然后对照代码就明白了。 类定义: #pragma once #ifndef __SPHERE_HEADER__ #define __SPHERE_HEADER__ #include "../geometics.h" class Sphere :public Geometrics { public: Sphere(); ~Sphere(); Sphere(const Point3& center, ldouble radius); Sphere(const Sphere& sp); virtual Geometrics* clone() const; virtual bool hit(const Ray& ray, ldouble& tmin, ShadeRec& sr) const; Sphere& operator=(const Sphere& sp); void set_center(const Point3& p); Point3 get_center() const; void set_radius(const ldouble rd); ldouble get_radius() const; private: Point3 c;