22 Point(
const float _x= 0,
const float _y= 0,
const float _z= 0 ) : x(_x), y(_y), z(_z) {}
45 Vector(
const float _x= 0,
const float _y= 0,
const float _z= 0) : x(_x), y(_y), z(_z) {}
97 vec2(
const float _x= 0,
const float _y= 0 ) : x(_x), y(_y) {}
107 vec3(
const float _x= 0,
const float _y= 0,
const float _z= 0 ) : x(_x), y(_y), z(_z) {}
109 vec3(
const vec2& a,
const float _z ) : x(a.x), y(a.y), z(_z) {}
124 vec4(
const float _x= 0,
const float _y= 0,
const float _z= 0,
const float _w= 0 ) : x(_x), y(_y), z(_z), w(_w) {}
126 vec4(
const vec2& v,
const float _z= 0,
const float _w= 0 ) : x(v.x), y(v.y), z(_z), w(_w) {}
128 vec4(
const vec3& v,
const float _w= 0 ) : x(v.x), y(v.y), z(v.z), w(_w) {}
154 inline std::ostream& operator<<(std::ostream& o,
const Point& p)
156 o<<
"p("<<p.x<<
","<<p.y<<
","<<p.z<<
")";
160 inline std::ostream& operator<<(std::ostream& o,
const Vector& v)
162 o<<
"v("<<v.x<<
","<<v.y<<
","<<v.z<<
")";
vec3(const vec2 &a, const float _z)
constructeur par defaut.
Vector operator-(const Point &a, const Point &b)
renvoie le vecteur a - b.
Vector operator/(const Vector &v, const float k)
renvoie le vecteur v/k;
float length(const Vector &v)
renvoie la longueur d'un vecteur.
Vector normalize(const Vector &v)
renvoie un vecteur unitaire / longueur == 1.
vecteur generique, utilitaire.
float length2(const Vector &v)
renvoie la carre de la longueur d'un vecteur.
Vector(const Point &a, const Point &b)
cree le vecteur ab.
vec3(const float _x=0, const float _y=0, const float _z=0)
constructeur par defaut.
vecteur generique, utilitaire.
vecteur generique 4d, ou 3d homogene, utilitaire.
representation d'un vecteur 3d.
Vector(const float _x=0, const float _y=0, const float _z=0)
constructeur par defaut.
vec4(const vec2 &v, const float _z=0, const float _w=0)
constructeur par defaut.
Vector operator*(const float k, const Vector &v)
renvoie le vecteur k*u;
float dot(const Vector &u, const Vector &v)
renvoie le produit scalaire de 2 vecteurs.
vec4(const float _x=0, const float _y=0, const float _z=0, const float _w=0)
constructeur par defaut.
Point(const float _x=0, const float _y=0, const float _z=0)
constructeur par defaut.
float distance(const Point &a, const Point &b)
renvoie la distance etre 2 points.
representation d'un point 3d.
Vector cross(const Vector &u, const Vector &v)
renvoie le produit vectoriel de 2 vecteurs.
vec4(const vec3 &v, const float _w=0)
constructeur par defaut.
vec2(const float _x=0, const float _y=0)
constructeur par defaut.
Point center(const Point &a, const Point &b)
renvoie le milieu du segment ab.
Point operator+(const Point &a, const Vector &v)
renvoie le point a+v.
float distance2(const Point &a, const Point &b)
renvoie le carre de la distance etre 2 points.