vendredi 28 octobre 2011

Un peu de géométrie avec PStricks

Un exemple de figure géométrique réalisée avec PStricks.
Le code :
\documentclass{article}
\usepackage{pst-node}
\usepackage{pst-plot}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\SpecialCoor
\newcommand{\Radius}{5}
\newcommand{\Xc}{5}
\psset{dimen=middle}
\pagestyle{empty}
\title{Un peu de géométrie avec PStricks \\ exemple 1}
\author{http://melusine.eu.org/syracuse/G/pstricks/}
\date{2 avril 2002--28 octobre 2011}
\begin{document}
\maketitle
\begin{center}
\begin{pspicture}(-\Radius,-\Radius)(\Radius,\Radius)
\pscircle{\Radius}
\psframe(-\Radius,-\Radius)(\Radius,\Radius)
\newcommand\MotifCoin{%
\pnode(!
    /Xc \Xc\space def
    /Radius \Radius\space def
    /radius1 Xc 2 Radius mul add Xc Radius mul Radius dup mul add
    sqrt 2 mul sub def
    /X1 radius1 def
    X1 radius1){PointInitial}
\parametricplot{0}{360}{%
    t cos radius1 mul radius1 add Radius sub
    t sin radius1 mul radius1 add Radius sub}
\multido{\i=0+1}{30}{%
\pnode(!
    /B Radius X1 mul Xc radius1 mul sub neg def
    /A Radius radius1 sub def
    /C X1 X1 mul Radius mul Xc Xc mul radius1 mul sub def
    /Discriminant B B mul A C mul sub sqrt def
    /X2 B neg Discriminant add A div def
    /radius2 X2 X1 sub 2 exp 4 radius1 mul div def
    X2 radius2){PointIntermediaire}
%Sur Ox
\parametricplot{0}{360}{%
    t cos radius2 mul X2 add Radius sub
    t sin radius2 mul radius2 add Radius sub
    }
%Sur Oy
\parametricplot{0}{360}{%
    t sin radius2 mul radius2 add Radius sub
    t cos radius2 mul X2 add Radius sub
    }
\pnode(!
    /X1 X2 def
    /radius1 radius2 def
    X1 radius1){fictif2}
    }}
\multido{\i=0+90}{4}{%
\rput{\i}{\MotifCoin}}
\end{pspicture}
\end{center}
\end{verbatim}
\end{document}

Aucun commentaire:

Enregistrer un commentaire