Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc / par-datfile.tex
1
2 Il peut être parfois utile d'utiliser des fichiers externes, que ce
3 soit en lecture ou en écriture. Par exemple, lorsque l'on a construit
4 des solides nécessitant de longs temps de calcul et que l'on veut
5 tester différents points de vues ou différentes couleurs, il peut être
6 intéressant de sauvegarder ces solides pour les relire ensuite, ce qui
7 évitera de les recalculer. En particulier, cette technique est souvent
8 utilisé pour construire des animations. On peut aussi avoir envie
9 d'exporter un solide pour le réutiliser avec un autre logiciel.
10
11 Pour pst-solides3d, le choix a été
12 fait de déléguer toutes les procédures de lecture$/$écriture à
13 l'interpréteur postscript (et non pas à \TeX {} ou \LaTeX). En
14 conséquence, ce n'est pas la compilation \LaTeX {} qui provoquera
15 l'exécution d'un ordre de lecture$/$écriture, mais la visualisation du
16 fichier postscript produit.
17
18 En règle générale, la lecture de fichiers externes par un interpréteur
19 postscript ne pose pas de problème (s'il n'y a pas franchissement de
20 répertoire). Pour l'écriture en revanche, cela peut poser des
21 problèmes de sécurité et il n'est pas rare que le visualisateur
22 postscript interdise l'écriture par défaut. Il faut alors le
23 configurer pour autoriser cette écriture.
24
25 \encadre{Par défaut, sous Windows et Linux, la protection des fichiers
26 du disque dur est activée et ne permet donc pas l'écriture sur le
27 disque. Pour désactiver cette protection, tout au moins
28 temporairement, voici les deux procédures correspondantes :
29
30 \begin{description}
31
32 \item[Linux : ] le plus simple est donc d'utiliser ghostscript
33 directement, en console. Comme il n'y a rien à attendre comme image :
34
35 \$> gs -dNOSAFER monfichier.ps quit.ps
36 \item[Windows : ] dans le menu \textsf{Options}, l'option
37 \textsf{Protection des fichiers} ne doit pas être cochée.
38 \end{description}}
39
40
41 \section {Fichiers .dat (spécifique à pst-solides3d)}
42
43 Dans pst-solides3d, la structure de données utilisée pour un solide
44 comporte $4$~champs. Elle peut être stockée dans un ensemble de $4$
45 fichiers .dat.
46
47 \subsection {\' Ecriture de fichiers .dat}
48
49 On utilise l'action \Cadre{[action=writesolid} dans \verb+\psSolid+, et on
50 utilise l'option \Cadre{file} pour spécifier le nom du fichier.
51
52 Par exemple, considérons le code ci-dessous~:
53 \begin{verbatim}
54 \psSolid[object=tore,
55 file=montore,
56 action=writesolid]
57 \end{verbatim}
58
59 La chaîne de commandes
60 \Cadre{LaTeX->dvips->GSview (Windows)ou gv (Linux)}
61 permet de compiler, puis de transformer en postscript pour enfin
62 visualiser.
63
64 Cette dernière opération va créer 4 fichiers :
65 \begin{itemize}
66 \item \texttt{montore-sommets.dat } -> la liste des sommets ;
67 \item \texttt{montore-faces.dat } -> la liste des faces ;
68 \item \texttt{montore-couleurs.dat } -> les couleurs des faces ;
69 \item \texttt{montore-io.dat } -> les bornes des indices des
70 faces externes et internes.
71 \end{itemize}
72
73
74 \subsection {Lecture de fichiers .dat}
75
76 On utilise l'objet \Cadre{[object=datfile]} de \verb+\psSolid+, avec l'argument
77 \Cadre{file} pour spécifier le nom du fichier.
78 Ainsi le code
79 \begin{verbatim}
80 \psSolid[object=datfile, file=montore]
81 \end{verbatim}
82 va permettre d'utiliser l'objet stocké dans les fichiers .dat créés au
83 paragraphe précédent.
84
85 \section {Fichiers .obj}
86
87 Ce format n'utilise qu'un seul fichier, et permet de spécifier sommets
88 et faces.
89 Ce sont des fichiers très utilisés dans le domaine de la 3D et qu'on
90 trouve en abondance sur internet. Par contre, nous n'utilisons qu'une
91 forme simplifiée du format obj. On veillera à supprimer tous les
92 commentaires \texttt{\#} du fichier original et ne conserver que les
93 sommets : ce sont les lignes qui commencent par \texttt{v} et les
94 faces, lignes commençant par \texttt{f}.
95
96 Les fichiers trop volumineux ne seront pas pris en compte car le
97 nombre maximal d'éléments pour un tableau \texttt{postscript} est
98 65535. Donc il faut que le nombre de sommets soit inférieur à 21845.
99
100 \subsection {\' Ecriture de fichiers .obj}
101
102 On utilise l'action \Cadre{[action=writeobj} dans \verb+\psSolid+, et on
103 utilise l'option \Cadre{file} pour spécifier le nom du fichier.
104
105 Par exemple, le code ci-dessous~:
106 \begin{verbatim}
107 \psSolid[object=tore,
108 file=montore,
109 action=writeobj]
110 \end{verbatim}
111 produira le fichier \textsl{montore.obj} (après compilation et
112 visualisation du .ps produit).
113
114 \subsection {Lecture de fichiers .obj}
115
116 On utilise l'objet \Cadre{[object=objfile} de \verb+\psSolid+, avec l'argument
117 \Cadre{file} pour spécifier le nom du fichier.
118 Ainsi le code
119 \begin{verbatim}
120 \psSolid[object=objfile, file=montore]
121 \end{verbatim}
122 va permettre d'utiliser l'objet stocké dans les fichiers .obj créés au
123 paragraphe précédent.
124
125 \begin{LTXexample}[width=6cm]
126 \psset{viewpoint=20 15 10 rtp2xyz,Decran=20}
127 \begin{pspicture}(-3,-4)(3,3)
128 \psframe*[linecolor=cyan!50](-3,-4)(1,3)
129 \psSolid[object=objfile,
130 unit=20,RotX=60,
131 file=rocket]%
132 \end{pspicture}
133 \end{LTXexample}
134
135 \section {Fichiers .off}
136
137 Nous n'utilisons qu'une forme simplifiée du format off. En
138 particulier, les fichiers ne doivent comporter que des entrées
139 \verb+v+ ou \verb+f+.
140
141 Ce format n'utilise qu'un seul fichier, et permet de spécifier sommets
142 et faces.
143
144 \subsection {\' Ecriture de fichiers .off}
145
146 On utilise l'action \Cadre{[action=writeoff]} dans \verb+\psSolid+, et on
147 utilise l'option \Cadre{file} pour spécifier le nom du fichier.
148
149 Par exemple, le code ci-dessous~:
150 \begin{verbatim}
151 \psSolid[object=tore,
152 file=montore,
153 action=writeoff]
154 \end{verbatim}
155 produira le fichier \textsl{montore.off} (après compilation et
156 visualisation du .ps produit).
157
158 \subsection {Lecture de fichiers .off}
159
160 On utilise l'objet \Cadre{[object=offfile} de \verb+\psSolid+, avec l'argument
161 \Cadre{file} pour spécifier le nom du fichier.
162 Ainsi le code
163 \begin{verbatim}
164 \psSolid[object=offfile, file=montore]
165 \end{verbatim}
166 va permettre d'utiliser l'objet stocké dans les fichiers .off créés au
167 paragraphe précédent.
168
169

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.