20 Orbiter( ) : m_center(), m_position(), m_rotation(), m_size(5.f), m_radius(5.f) {}
22 Orbiter(
const Point&
center,
const float size ) : m_center(center), m_position(), m_rotation(), m_size(size), m_radius(size) {}
32 void rotation(
const float x,
const float y );
36 void move(
const float z );
74 void frame(
const float width,
const float height,
const float z,
const float fov,
Point& dO,
Vector& dx,
Vector& dy )
const;
representation de la camera, type orbiter, placee sur une sphere autour du centre de l'objet...
vecteur generique, utilitaire.
void move(const float z)
rapproche / eloigne la camera du centre.
Orbiter()
cree une camera par defaut. observe le centre (0, 0, 0) a une distance 5.
Transform view() const
renvoie la transformation vue.
representation d'un vecteur 3d.
int read_orbiter(const char *filename)
relit la position de l'orbiter depuis un fichier texte.
Point position()
renvoie la position de la camera dans le repere du monde.
Transform projection(const float width, const float height, const float fov) const
renvoie la projection reglee pour une image d'aspect width / height, et une ouverture de fov degres...
void lookat(const Point ¢er, const float size)
observe le point center a une distance size.
void translation(const float x, const float y)
deplace le centre / le point observe.
Orbiter(const Point ¢er, const float size)
cree une camera. observe le point center a une distance size.
Orbiter(const Point &pmin, const Point &pmax)
cree une camera. observe une boite alignee sur les axes.
void rotation(const float x, const float y)
change le point de vue / la direction d'observation.
float distance(const Point &a, const Point &b)
renvoie la distance etre 2 points.
representation d'un point 3d.
void frame(const float width, const float height, const float z, const float fov, Point &dO, Vector &dx, Vector &dy) const
int write_orbiter(const char *filename)
enregistre la position de l'orbiter dans un fichier texte.
Point center(const Point &a, const Point &b)
renvoie le milieu du segment ab.