0.简介
我们要建立一些多边形,球形比较好画,所以就先设计一个球的类。
1.多边形基类
以后还会有其他形状,所以,先设计一个多边形基类。
class Polygon
{
public:
//位置
vec3 position;
//世界坐标矩阵
mat3 transforms;
Polygon();
~Polygon();
};
后面这个类还会有比较多的改动,这里先放两个重要的变量,一个是位置,另一个的从局部坐标到世界坐标的转换矩阵。
2.球类
class Sphere : public Polygon
{
public:
vec3 center;
float radius = 0;
Sphere(vec3 _center, float _radius) :center(_center), radius(_radius) {}
Sphere();
//获取对应点的法向量
vec3 getNormal(vec3 _vector);
~Sphere();
};
球类从多边形类派生过来