\documentclass[]{revtex4}
\usepackage{pst-optexp}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}[showgrid=true](13,14)
\pnodes(2,10){A}(3,10){MIP}(3,12.5){LIP}(3,13){MIIP}(5,13){LIIP}
\pnodes(8,13){MIIIP}(8,8){MIVP}(14,8){LIIIP}(10,8){LIVP}(12,8){MVP}(12,3){d}
\pnodes(12,1){MVIP}(10,1){LVIP}(6,1){C}
\psset{mirrortype=extended, mirrordepth=0.2}
\begin{optexp}
\optsource[innerlabel, compname = start](A)(MIP){Beam}
\mirror[compname = mi, labelangle=45](A)(MIP)(LIP){$M_1$}
\lens[compname = li, n=1.57](MIP)(LIP){$L_1$}
\mirror[compname= mii, labelangle=-45](LIP)(MIIP)(LIIP){$M_{2}$}
\lens[compname= lii, n=1.517](MIIP)(LIIP){$L_{2}$}
\mirror[compname= miii, labelangle=-45](LIIP)(MIIIP)(MIVP){$M_{3}$}
\mirror[compname= miv, labelangle=45](MIIIP)(MIVP)(LIIIP){$M_{4}$}
\lens[compname= liii, n=1.517](MIVP)(LIIIP){$L_{3}$}
\mirror[compname= mv, labelangle=-45](MIVP)(MVP)(d){$M_{5}$}
\mirror[compname= mvi, labelangle=-45](d)(MVIP)(LVIP){$M_{6}$}
\lens[compname= lensfour, n=1.517](MVIP)(LVIP){$L_{4}$}
\optsource[innerlabel](C)(C){Comp.}
\end{optexp}
\addtopsstyle{Beam}{fillstyle=solid, fillcolor=green!20!white}
\drawwidebeam[beamwidth=0.4, beaminsidelast]{1-5}
\drawwidebeam[loadbeampoints]{5-12}
\end{pspicture}
\end{document}
Respuesta1
Depurando su configuración
pst-optexp
le ofrece diferentes posibilidades de depuración:
- Al utilizarlo,
\psset{pswarning}
puede habilitar advertencias a nivel de Postscript. Para su ejemplo, aparece "Advertencia pst-optexp: El haz superior perdió una interfaz" - Por defecto
pst-optexp
respeta la apertura numérica de los componentes. Si una de las vigas exteriores no llega a la siguiente interfaz, el dibujo de la viga se detiene. Con\psset{useNA=false}
puedes desactivar esto temporalmente para ver qué haz sale mal. Para su configuración el resultado es
Verá, que el M3
espejo es demasiado pequeño (o el haz demasiado ancho), por lo que la trayectoria del haz se interrumpe.
Solución posible
Para adaptar el haz a sus necesidades, puede ajustar el índice de refracción n
de todas las lentes o dibujar el haz por partes para las partes paralelas y de enfoque, por separado.
La receta es la siguiente:
- Dibuja la primera parte paralela con
\drawwidebeam[beamwidth=0.4, stopinside]{1-3}
, que traza el haz hasta la segunda interfaz de la primera lente (dibuja solo hasta la primera interfaz). - Ahora dibuje el haz entre la primera y la segunda lente con
\drawwidebeam[loadbeampoints, beamdiv=-20, stopinside]{3-5}
. Esto carga los puntos finales de la\drawwidebeam
llamada anterior, pero le permite ajustar la divergencia del haz. - Desde la segunda lente continúe
\drawwidebeam[loadbeampoints]
cargando nuevamente los puntos finales del haz anterior, pero continúe con rayos paralelos.
Etcétera.
\documentclass[pstricks,margin=12pt]{standalone}
\usepackage{pst-optexp}
\begin{document}
\begin{pspicture}[showgrid=true](13,14)
\pnodes(2,10){A}(3,10){MIP}(3,12.5){LIP}(3,13){MIIP}(5,13){LIIP}
\pnodes(8,13){MIIIP}(8,8){MIVP}(14,8){LIIIP}(10,8){LIVP}(12,8){MVP}(12,3){d}
\pnodes(12,1){MVIP}(10,1){LVIP}(6,1){C}
\psset{mirrortype=extended, mirrordepth=0.2}
\psset{mirrorwidth=1.1}
\addtopsstyle{Beam}{fillstyle=solid, fillcolor=green!20!white}
\begin{optexp}
\optsource[innerlabel, compname = start](A)(MIP){Beam}
\mirror[compname = mi, labelangle=45](A)(MIP)(LIP){$M_1$}
\lens[compname = li](MIP)(LIP){$L_1$}
\drawwidebeam[beamwidth=0.4, stopinside]{1-3}
\mirror[compname= mii, labelangle=-45](LIP)(MIIP)(LIIP){$M_{2}$}
\lens[compname= lii](MIIP)(LIIP){$L_{2}$}
\drawwidebeam[loadbeampoints, beamdiv=-20, stopinside]{3-5}
\mirror[compname= miii, labelangle=-45](LIIP)(MIIIP)(MIVP){$M_{3}$}
\mirror[compname= miv, labelangle=45](MIIIP)(MIVP)(LIIIP){$M_{4}$}
\lens[compname= liii](MIVP)(LIIIP){$L_{3}$}
\drawwidebeam[loadbeampoints, stopinside]{5-8}
\mirror[compname= mv, labelangle=-45](MIVP)(MVP)(d){$M_{5}$}
\mirror[compname= mvi, labelangle=-45](d)(MVIP)(LVIP){$M_{6}$}
\lens[compname= lensfour](MVIP)(LVIP){$L_{4}$}
\drawwidebeam[loadbeampoints, beamdiv=-6.3, stopinside]{8-11}
\optbox[innerlabel](C)(C){Comp.}
\drawwidebeam[loadbeampoints]{11}{12}
\end{optexp}
\end{pspicture}
\end{document}
Por cierto: compilar pst-optexp
configuraciones con xelatex
no funciona correctamente.