123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- \documentclass[a4paper,12pt]{article}
- \usepackage[french]{babel}
- \usepackage[T1]{fontenc}
- \usepackage[latin1]{inputenc}
- %\usepackage{amsmath}
- \author{Rémi Synave, Stefka Gueorguieva, Pascal Desbarats}
- \title{Manuel de la bibliothèque VERTEX}
- \date{}
- \begin{document}
- \maketitle
- \section{Utilisation}
- Cette bibliothèque implémente les structures de données nécessaires au stockage des sommets d'un maillage ainsi que des fonctions pour manipuler ceux-ci.\\
- Deux strucutres de données sont disponibles : \textit{vf\_vertex} pour le stockage des maillages \textit{vf\_model} et \textit{vef\_vertex} pour le stockage des maillages \textit{vef\_model}.
- \section{Structures de données}
- La structure \textit{vf\_vertex} est utilisé par la structure \textit{vf\_model} pour stocker les coordonnées des sommets d'un maillage. Cette structure est donc composée de trois rééls qui sont les trois composantes X,Y et Z du sommet ainsi qu'une liste d'index \textit{incidentvertices} de sommets en relation direct, reliés par une arête, avec ce sommet.\\
- \begin{verbatim}
- typedef struct
- {
- double x;
- double y;
- double z;
- int *incidentvertices;
- int nbincidentvertices;
- }vf_vertex;
- \end{verbatim}
- La structure \textit{vef\_vertex} est utilisé par la structure \textit{vef\_model} pour stocker les coordonnées des sommets d'un maillage. Cette structure est donc composée de trois rééls qui sont les trois composantes X,Y et Z du sommet ainsi qu'une liste d'index \textit{sharededges} d'arêtes partant ce sommet.\\
- \begin{verbatim}
- typedef struct
- {
- double x;
- double y;
- double z;
- int *sharededges;
- int nbsharededges;
- }vef_vertex;
- \end{verbatim}
- \section{Fonctions}
- \subsection{Fonctions utilisant \textit{vf\_vertex}}
- \textbullet void vf\_vertex\_display(vf\_vertex v)\\
- Affichage d'un \textit{vf\_vertex}.\\
- \textbullet void vf\_vertex\_translate(vf\_vertex *v, vector3d delta)\\
- Translation d'un vecteur passé en paramètre.\\
- Les composantes \textit{dx,dy,dz} sont ajoutés aux coordonnées du \textit{vf\_vertex}.\\
- \textbullet void vf\_vertex\_rotateX\_radian(vf\_vertex *v, double angle)\\
- Rotation suivant l'axe X d'un angle en radian.\\
- \textbullet void vf\_vertex\_rotateX\_degre(vf\_vertex *v, double angle)\\
- Rotation suivant l'axe X d'un angle en degre.\\
- \textbullet void vf\_vertex\_rotateX\_center\_radian(vf\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe X d'un angle en radian et autour du \textit{point3d centre}.\\
- \textbullet void vf\_vertex\_rotateX\_center\_degre(vf\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe X d'un angle en degre et autour du \textit{point3d centre}.\\
- \textbullet void vf\_vertex\_rotateY\_radian(vf\_vertex *v, double angle)\\
- Rotation suivant l'axe Y d'un angle en radian.\\
- \textbullet void vf\_vertex\_rotateY\_degre(vf\_vertex *v, double angle)\\
- Rotation suivant l'axe Y d'un angle en degre.\\
- \textbullet void vf\_vertex\_rotateY\_center\_radian(vf\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe Y d'un angle en radian et autour du \textit{point3d centre}.\\
- \textbullet void vf\_vertex\_rotateY\_center\_degre(vf\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe Y d'un angle en degre et autour du \textit{point3d centre}.\\
- \textbullet void vf\_vertex\_rotateZ\_radian(vf\_vertex *v, double angle)\\
- Rotation suivant l'axe Z d'un angle en radian.\\
- \textbullet void vf\_vertex\_rotateZ\_degre(vf\_vertex *v, double angle)\\
- Rotation suivant l'axe Z d'un angle en degre.\\
- \textbullet void vf\_vertex\_rotateZ\_center\_radian(vf\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe Z d'un angle en radian et autour du \textit{point3d centre}.\\
- \textbullet void vf\_vertex\_rotateZ\_center\_degre(vf\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe Z d'un angle en degre et autour du \textit{point3d centre}.\\
- \subsection{Fonctions utilisant \textit{vef\_vertex}}
- \textbullet void vef\_vertex\_display(vef\_vertex v)\\
- Affichage d'un \textit{vef\_vertex}.\\
- \textbullet void vef\_vertex\_translate(vef\_vertex *v, vector3d delta)\\
- Translation d'un vecteur passé en paramètre.\\
- Les composantes \textit{dx,dy,dz} sont ajoutés aux coordonnées du \textit{vef\_vertex}.\\
- \textbullet void vef\_vertex\_rotateX\_radian(vef\_vertex *v, double angle)\\
- Rotation suivant l'axe X d'un angle en radian.\\
- \textbullet void vef\_vertex\_rotateX\_degre(vef\_vertex *v, double angle)\\
- Rotation suivant l'axe X d'un angle en degre.\\
- \textbullet void vef\_vertex\_rotateX\_center\_radian(vef\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe X d'un angle en radian et autour du \textit{point3d centre}.\\
- \textbullet void vef\_vertex\_rotateX\_center\_degre(vef\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe X d'un angle en degre et autour du \textit{point3d centre}.\\
- \textbullet void vef\_vertex\_rotateY\_radian(vef\_vertex *v, double angle)\\
- Rotation suivant l'axe Y d'un angle en radian.\\
- \textbullet void vef\_vertex\_rotateY\_degre(vef\_vertex *v, double angle)\\
- Rotation suivant l'axe Y d'un angle en degre.\\
- \textbullet void vef\_vertex\_rotateY\_center\_radian(vef\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe Y d'un angle en radian et autour du \textit{point3d centre}.\\
- \textbullet void vef\_vertex\_rotateY\_center\_degre(vef\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe Y d'un angle en degre et autour du \textit{point3d centre}.\\
- \textbullet void vef\_vertex\_rotateZ\_radian(vef\_vertex *v, double angle)\\
- Rotation suivant l'axe Z d'un angle en radian.\\
- \textbullet void vef\_vertex\_rotateZ\_degre(vef\_vertex *v, double angle)\\
- Rotation suivant l'axe Z d'un angle en degre.\\
- \textbullet void vef\_vertex\_rotateZ\_center\_radian(vef\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe Z d'un angle en radian et autour du \textit{point3d centre}.\\
- \textbullet void vef\_vertex\_rotateZ\_center\_degre(vef\_vertex *v, double angle, point3d centre)\\
- Rotation suivant l'axe Z d'un angle en degre et autour du \textit{point3d centre}.\\
- \end{document}
|