Outils d'utilisateurs

Outils du Site


Sidebar

====== Navigation dans le wiki ====== * [[accueil|Accueil]] * [[http://melusine.eu.org/syracuse/contrib/|Syracuse]] //(contributions)// ===== Espaces dédiés ===== * [[pstricks:index|PSTricks]] * [[Pgf/Tikz:index|Pgf/Tikz]] * [[gnuplot:index|Gnuplot]] * [[octave::index|Octave]] ===== Contributeurs ===== * [[mc:index|Maxime Chupin]] * [[cp:index|Christophe Poulain]] * [[jms:index|Jean-Michel Sarlat]] * [[sylcha:index|Sylvain Chambon]] * [[rouxn:index|Nicolas Roux]] * [[tj:index|Thierry Joffredo]] * [[tg:index|Thierry Gauvin]]

cp:complement

Lors de l’utilisation de ''donymodule.mp'', Fabrice Eudes a souhaité savoir (à juste titre puisque la documentation est incomplète :-/), comment utiliser la gestion des faces cachées en géométrie spatiale. //Attention//, cela ne fonctionne qu’avec des solides convexes (mais on peut mettre plusieurs solides dans la même figure). Je ne détaillerai pas ici les justifications mathématiques, juste l’utilisation à en faire dans ''donymodule.mp''. Elle se fait en trois étapes : ==== Définir les sommets ==== * On utilise le paramètre ''NbS'' pour indiquer le nombre de sommets. Comme certains solides classiques sont déjà prédéfinis, on veillera à coder <code>NbS:=8</code> * //Ensuite//, on définit les sommets du solide : <code> Sommet1:=(0,0,0); ... Sommet8:=(5,3,4); </code> ==== Définir les faces ==== * On utilise le paramètre ''NF'' pour indiquer le nombre de faces. La remarque sur le paramètre ''NbS'' est aussi valable. * //Ensuite//, on définit les faces du solide : <code> Fc[100]:=3;Fc[101]:=1;Fc[102]:=2;Fc[103]:=5; ... Fc[800]:=4;Fc[801]:=5;Fc[802]:=6;Fc[803]:=7;Fc[804]:=8; </code> avec les conventions suivantes : * S'il s'agit de la k-ième face, alors ''Fc[k*100]'' indique le nombre de sommets composant la face; * ''Fc[k*100+1]'',...,''Fc[k*100+...]'' indique le numéro des sommets (comme défini par ''Sommet[n]'') dans le sens trigonométrique de lecture de la face concernée. (J'avoue ;-) que j'ai parfois du mal avec cette partie) ==== Le dessin, le dessin,...le dessin !==== Il ne reste plus qu'à indiquer que l'on souhaite le tracé de ce solide par la commande <code>DessineObjet</code> C'est dur :-X ==== Un exemple complet ==== C'est le code source d'une figure utilisée dans les [[http://melusine.eu.org/lab/cp/|Bases]] de syracuse. <code> input geometriesyr16; figureespace(-10u,-10u,10u,10u); Initialisation(5,30,20,750); color S,A,B,C; S=3/4*(0,0,1); A=3/4*(0,0,0); B=3/4*(0,4/3,0); C=3/4*(4/3,4/3,0); NbS:=4; Sommet1:=A; Sommet2:=B; Sommet3:=C; Sommet4:=S; NF:=4; Fc[100]:=3;Fc[101]:=2;Fc[102]=3;Fc[103]:=1; Fc[200]:=3;Fc[201]:=2;Fc[202]=1;Fc[203]:=4; Fc[300]:=3;Fc[301]:=4;Fc[302]=1;Fc[303]:=3; Fc[400]:=3;Fc[401]:=4;Fc[402]=3;Fc[403]:=2; DessineObjet; trace codeperp(A,B,C,10); trace codeperp(S,A,B,15); trace codeperp(S,A,C,10); trace appelation(A,B,2mm,btex 8 etex); trace appelation(A,S,2mm,btex 6 etex); trace appelation(C,B,-2mm,btex 5 etex); nomme.llft(A); nomme.top(S); nomme.rt(B); nomme.lrt(C); finespace; end </code> et voici les résultats avec ''Initialisation(5,30,20,750);'' on obtient ---- {{cp:wikisolides-1.png|}} ---- et avec ''Initialisation(5,70,20,750);'' on obtient ---- {{cp:wikisolides-2.png|}} ---- Suivant la position de l'observateur, les arêtes sont en traits pleins ou en pointillés. C'est ce que l'on voulait. ;-)

cp/complement.txt · Dernière modification: 2007/05/09 22:45 par cp