Des rubans circulaires en 3D (featpost)

Auteur ou autrice : Luís Nobre Gonçalves.

Mise en ligne le 17 janvier 2025

Image du résultat de l’exemple

Cet exemple illustre l’utilisation du package featpost présent sur le CTAN. Ce package permet de réaliser des dessins en trois dimensions (et en deux dimensions). Il est très pratique pour illustrer de la géométrie basique dans l’espace.

Code



% bananadimmer.mp
% Pedro J. Sebastiao.
% L. Nobre G. 
% 2006

input featpost3Dplus2D;

verbatimtex
\documentclass{article}
\begin{document}
etex

beginfig(1);
    color axxc, ayyc, azzc;
    color nalfa, ngamma;
    numeric radius, gammang, xxsize, yysize, zzsize;
    numeric xxpos, yypos, zzpos;
    numeric angulo;
    numeric nalfapos;
    picture xxlabel, yylabel, zzlabel, nalfalabel;
    
    f    	       := (3,4,2);
    Spread             := 60;

    gammang 		= 0;
    angulo              = -90;
    beta                = 11.8;
    nbeta               = 1.3;
    delta               = 35;
    nalfapos 		= 1;
    xxsize 		= 0.8;
    xxpos 		= 6;
    yysize 		= 1.3;
    yypos 		= 6;
    zzsize 		= 1.3;
    zzpos 		= 4;
    
    xxlabel 	= btex $\mbox{\protect \scriptsize light}$ etex;
    yylabel 	= btex $\mbox{\protect \scriptsize analyser}$ etex;
    zzlabel 	= btex $\mbox{\protect \scriptsize polariser}$ etex;
    nalfalabel 	= btex $\mathbf{n}_a$ etex;

    axxc        = (xxsize,0,0);
    ayyc 	= (0,yysize,0);
    azzc 	= (0,0,zzsize);
    nalfa       = (0,nbeta*cosd(beta)*sind(delta),nbeta*cosd(beta)*cosd(delta));
    radius 	= nbeta*sind(beta);
    
    ngamma     := 0.5*(nalfa+(radius*cosd(angulo),radius*sind(angulo),0));
    drawarrow rp(black)..rp(axxc);
    drawarrow rp(black)..rp(ayyc);
    drawarrow rp(black)..rp(azzc);
    drawarrow rp(black)..rp(nalfa);
    labeln( xxlabel, rp(axxc), xxpos );
    labeln( yylabel, rp(ayyc), yypos );
    labeln( zzlabel, rp(azzc), zzpos );
    labeln( nalfalabel, rp(nalfa), nalfapos );

    banana(
      ngamma,
      conorm(ngamma),
      ( 90, -26, 90 ),
      0.2,
      150);
    banana(
      ngamma,
      conorm(ngamma),
      ( 0, 0, 66 ),
      0.2,
      135);
endfig;

verbatimtex \end{document} etex

end.

Mots clés : 3Drepèrefeatpost

Cet exemple fait partie de la collection d’exemples Documentation de featpost.

Fichiers

Télécharger l’archive complète