[pstricks] PSTricks Digest, Vol 126, Issue 9

Steffen Wittek steffen.wittek at gmx.net
Sat Jul 13 12:55:29 CEST 2013


Hi Christian,

that works really well. Thank you very much for your time. Great 
implementation.

Have a nice weekend,
Steffen

El 7/13/13 12:00 PM, pstricks-request at tug.org escribió:
> \documentclass{article}
> \usepackage{fp}
> \usepackage{pst-optexp}
> \makeatletter
> \newOptexpTripole{transmissiongrating}
> \def\transmissiongrating at ref{%
>     \POE at calcAngle
>     \FPadd\POE at key@angle{\POE at key@angle0}{90}
>     \FPround\POE at key@angle{\POE at key@angle}{5}
>     \POE at setref{/@@y \POE at key@gratingwidth\space 0.5 mul def}%
> }%
> \def\transmissiongrating at nodes{%
>     \newOptexpComp{%
>       {0 0} \POE at key@gratingwidth\space 0.5 mul dup neg exch
>       OEangle 180 sub abs 1e-5 lt {
>         trans {1 0}
>       } {
>         refl {0 1}
>       } ifelse
>       4 1 roll {PlainIfc} 1}%
> }%
> \let\transmissiongrating at comp\optgrating at comp
> \makeatother
> \begin{document}
> \begin{pspicture}[showgrid](2.6,2.4)
>     \pnode(0,1.3){A}\pnode(2,1.3){B}\pnode(1,0.3){C}
>     \optgrating[reverse, gratingcount=9](A)(B)(C)
>     \optplane[angle=45](C)
>     \addtopsstyle{Beam}{ArrowInside=->, ArrowInsidePos=0.8, arrowinset=0,
> arrowscale=1.5}
>     \drawbeam[linecolor=black](A){1}
>     \addtopsstyle{Beam}{loadbeam, savebeam=false}
>     \drawbeam[linecolor=green]{1-2}
>     \drawbeam[linecolor=red, beamangle=15]{1-2}
>     \drawbeam[linecolor=blue, beamangle=-15]{1-2}
>     \rput[lB](0,2){reflection grating}
> \end{pspicture}
> %
> \hspace*{1cm}
> \begin{pspicture}[showgrid](5,2.4)
>     \pnode(0,1.3){A}\pnode(2,1.3){B}\pnode(4,0.5){C}
>     \transmissiongrating[reverse, gratingcount=9](A)(B)(C)
>     \optplane[angle=-30](C)
>     \addtopsstyle{Beam}{ArrowInside=->, ArrowInsidePos=0.8, arrowinset=0,
> arrowscale=1.5}
>     \drawbeam[linecolor=black](A){1}
>     \addtopsstyle{Beam}{loadbeam, savebeam=false}
>     \drawbeam[linecolor=green]{1-2}
>     \drawbeam[linecolor=red, beamangle=5]{1-2}
>     \drawbeam[linecolor=blue, beamangle=-5]{1-2}
>     \rput[lB](0,2){transmission grating}
> \end{pspicture}
> \end{document}



More information about the PSTricks mailing list