Navigation alternative
Figures / Images
BBgraf
MetaPost
PSTricks
Format SVG
Asymptote
EPiX
Gnuplot
TeXGraph
Librairie GD
PostScript
SWFtools
Calculs
BC
Giac / Xcas
Maxima
Pari / GP
Scilab
Scripts p*
Documents
TeX au collège
TeX png
Lua(La)TeX
Cours etc.
Contributions
Le cours d'Ismaël
Astronomie
Bases
Base Brevet
Base Collège
Base Graphisme
Base Ipe
Base JPS (BBgraf)
Base MetaPost
Base PSTricks
Dépôt Git
Fichier JPS
Accueil
Présentation
Exemples
Papiers
Banque d'images
Albums et animations
Formulaires
Célébrités
Postscript
Chimie
Documentation
Sources et téléchargement
Édition du fichier isocaedre.jps
Retour
%% Pour passer en pur postscript, decommenter la ligne suivante %% 294 420 translate %% puis commenter les 3 suivantes -10 10 setxrange -10 10 setyrange 20 setxunit %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Manuel Luque %% %% juin 2006 %% %% poour le dessin de l'icosaedre %% %% c'est une adaptation du fichier MatLab de Jean-Bernard ROUX :%% %% http://hypo.ge-dip.etat-ge.ch/www/math/html/node45.html %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /cm {28.45 mul} def %% les transformations de l'objet %% translation /CX 5 def /CY -5 def /CZ 5 def %% rotation autour des axes /RotX 0 def /RotY 36 def /RotZ 72 def /c2 {RotY cos} bind def /s2 {RotY sin} bind def /c3 {RotZ cos} bind def /s3 {RotZ sin} bind def /c1 {RotX cos} bind def /s1 {RotX sin} bind def %% les coefficients de la matrice de transformation %% de l'objet /M11 {c2 c3 mul} bind def /M12 {c3 s1 mul s2 mul c1 s3 mul sub} bind def /M13 {c1 c3 mul s2 mul s1 s3 mul add} bind def /M21 {c2 s3 mul} bind def /M22 {s1 s2 mul s3 mul c1 c3 mul add} bind def /M23 {s3 s2 mul c1 mul c3 s1 mul sub} bind def /M31 {s2 neg} bind def /M32 {s1 c2 mul} bind def /M33 {c1 c2 mul} bind def %% définir le point de vue %% par ses coordonnées sphériques /THETA 20 def /PHI 30 def /Dobs 100 def % distance observateur /Decran 60 def % distance de l'écran %% calcul des coefficients de la matrice %% de transformation /Sin1 {THETA sin} bind def /Sin2 {PHI sin} bind def /Cos1 {THETA cos} bind def /Cos2 {PHI cos} bind def /Cos1Sin2 {Cos1 Sin2 mul} bind def /Sin1Sin2 {Sin1 Sin2 mul} bind def /Cos1Cos2 {Cos1 Cos2 mul} bind def /Sin1Cos2 {Sin1 Cos2 mul} bind def %% /CalculsPointsAfterTransformations{% /Xabscisse M11 Xpoint mul M12 Ypoint mul add M13 Zpoint mul add CX add def /Yordonnee M21 Xpoint mul M22 Ypoint mul add M23 Zpoint mul add CY add def /Zcote M31 Xpoint mul M32 Ypoint mul add M33 Zpoint mul add CZ add def } def %% pour la 3D conventionnelle %% Dony : graphisme scientifique : page 187 /formulesTroisD{% /xObservateur Xabscisse Sin1 mul neg Yordonnee Cos1 mul add def /yObservateur Xabscisse Cos1Sin2 mul neg Yordonnee Sin1Sin2 mul sub Zcote Cos2 mul add def /zObservateur Xabscisse neg Cos1Cos2 mul Yordonnee Sin1Cos2 mul sub Zcote Sin2 mul sub Dobs add def /Xi Decran xObservateur mul zObservateur div def /Yi Decran yObservateur mul zObservateur div def } def /XpointVue {Dobs Cos1Cos2 mul} bind def /YpointVue {Dobs Sin1Cos2 mul} bind def /ZpointVue {Dobs Sin2 mul} bind def %% dessin de l'icosaedre %% C'est une adaptation du fichier MatLab de Jean-Bernard ROUX : %% http://hypo.ge-dip.etat-ge.ch/www/math/html/node45.html /radius 3 def % rayon de la sphère circonscrite /m 5 def % nombre d'arêtes sur un sommet /n 3 def % nombre de côtés de chaque face /sina {180 m div cos 180 n div sin div} bind def /cosa {1 sina dup mul sub sqrt} bind def /al {sina cosa atan} bind def /l {radius 2 mul 180 m div cos mul al cos mul 180 m div sin al sin mul div} bind def /k {2 radius dup mul mul l dup mul sub 2 radius mul div} bind def /r {radius dup mul k dup mul sub sqrt} bind def %% les sommets %% abscisses /x1 {r 0 cos mul} bind def /x2 {r 72 cos mul} bind def /x3 {r 144 cos mul} bind def /x4 {r 216 cos mul} bind def /x5 {r 288 cos mul} bind def /x6 0 def /x7 0 def /x8 {x1 neg} bind def /x9 {x2 neg} bind def /x10 {x3 neg} bind def /x11 {x4 neg} bind def /x12 {x5 neg} bind def %% ordonnées /y1 {r 0 sin mul} bind def /y2 {r 72 sin mul} bind def /y3 {r 144 sin mul} bind def /y4 {r 216 sin mul} bind def /y5 {r 288 sin mul} bind def /y6 0 def /y7 0 def /y8 {y1 neg} bind def /y9 {y2 neg} bind def /y10 {y3 neg} bind def /y11 {y4 neg} bind def /y12 {y5 neg} bind def %% les cotes /z1 k def /z2 k def /z3 k def /z4 k def /z5 k def /z6 radius def /z7 radius neg def /z8 k neg def /z9 k neg def /z10 k neg def /z11 k neg def /z12 k neg def %% les sommets : 12 sommets = 36 coordonnées /S [x1 y1 z1 % 0->2 x2 y2 z2 % 3->5 x3 y3 z3 % 6->8 x4 y4 z4 % 9->11 x5 y5 z5 % 12->14 x6 y6 z6 % 15->17 x7 y7 z7 % 18->20 x8 y8 z8 % 21->23 x9 y9 z9 % 24->26 x10 y10 z10 % 27->29 x11 y11 z11 % 30->32 x12 y12 z12 % 33-->35 ] def %% les 20 faces %% tableau des faces /FacesIco [ % No 2 6 1 % 0 2 3 6 % 1 6 3 4 % 2 4 5 6 % 3 5 1 6 % 4 1 5 10 % 5 1 10 11 % 6 11 2 1 % 7 11 12 2 % 8 2 12 3 % 9 3 12 8 % 10 8 4 3 % 11 8 9 4 % 12 9 5 4 % 13 5 9 10 % 14 12 11 7 % 15 12 7 8 % 16 9 8 7 % 17 7 10 9 % 18 7 11 10 % 19 ] def %% dessin de l'icosaedre 1 setlinejoin %%294 420 translate %% les axes gsave 0 0 moveto /Zcote 0 def /Yordonnee 0 def /Xabscisse 10 def formulesTroisD Xi cm Yi cm lineto 2 setlinewidth 1 0 0 setrgbcolor stroke 0 0 moveto /Zcote 0 def /Yordonnee 10 def /Xabscisse 0 def formulesTroisD Xi cm Yi cm lineto 2 setlinewidth 0 1 0 setrgbcolor stroke 0 0 moveto /Zcote 10 def /Yordonnee 0 def /Xabscisse 0 def formulesTroisD Xi cm Yi cm lineto 2 setlinewidth 0 0 1 setrgbcolor stroke grestore %% dessin de l'icosaedre /RED 0 def 0 3 FacesIco length 3 sub { /i exch def FacesIco i get 1 sub 3 mul /j exch def S j get % /Xpoint exch def S j 1 add get % /Ypoint exch def S j 2 add get % /Zpoint exch def CalculsPointsAfterTransformations /X1 Xabscisse def /Y1 Yordonnee def /Z1 Zcote def FacesIco i 1 add get 1 sub 3 mul /j exch def S j get % /Xpoint exch def S j 1 add get % /Ypoint exch def S j 2 add get % /Zpoint exch def CalculsPointsAfterTransformations /X2 Xabscisse def /Y2 Yordonnee def /Z2 Zcote def FacesIco i 2 add get 1 sub 3 mul /j exch def S j get % /Xpoint exch def S j 1 add get % /Ypoint exch def S j 2 add get % /Zpoint exch def CalculsPointsAfterTransformations /X3 Xabscisse def /Y3 Yordonnee def /Z3 Zcote def %% condition de visibilite %% centre de la facette /xF X1 X2 X3 add add 3 div def /yF Y1 Y2 Y3 add add 3 div def /zF Z1 Z2 Z3 add add 3 div def %% vecteur : centre de la face -> point de vue /xV {XpointVue xF sub } bind def /yV {YpointVue yF sub } bind def /zV {ZpointVue zF sub } bind def %% normale à la face : produit vectoriel /xN {Y2 Y1 sub Z3 Z1 sub mul Z2 Z1 sub Y3 Y1 sub mul sub} bind def /yN {Z2 Z1 sub X3 X1 sub mul X2 X1 sub Z3 Z1 sub mul sub} bind def /zN {X2 X1 sub Y3 Y1 sub mul Y2 Y1 sub X3 X1 sub mul sub} bind def % le produit scalaire des 2 vecteurs /PS xV xN mul yV yN mul add zV zN mul add def PS 0 ge { newpath % tracé de la facette /Zcote Z1 def /Yordonnee Y1 def /Xabscisse X1 def formulesTroisD Xi cm Yi cm moveto /Zcote Z2 def /Yordonnee Y2 def /Xabscisse X2 def formulesTroisD Xi cm Yi cm lineto /Zcote Z3 def /Yordonnee Y3 def /Xabscisse X3 def formulesTroisD Xi cm Yi cm lineto closepath gsave 0 RED RED 0 setcmykcolor fill grestore %1 setlinewidth 0 setgray stroke } if /RED RED 0.04 add store } for
Tapez les 3 lettres : AWE