Как можно управлять коэффициентом пропускания зеркал в pst-optexp?

Как можно управлять коэффициентом пропускания зеркал в pst-optexp?

введите описание изображения здесь Я хотел бы распространить луч на детекторы около каждого зеркала. Я также хотел бы, чтобы распространение работало как обычно (от зеркала 1 к зеркалу 2 к апертурам).

\documentclass[pstricks,margin=12pt]{standalone} 
\usepackage{pst-optexp}

\begin{document}
\begin{pspicture}[showgrid=true](13,14)
\pnodes(2,5){a}(5,5){b}(5,12){c}(8,12){d}(12,12){e}
\pnodes(7,5){duno}(3,12){ddos}
\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)(b){Beam}
    \mirror[compname = mi, labelangle=45](a)(b)(c){$M_1$}
    %\optdetector[](b)(duno)

    \mirror[compname = mii, labelangle=45](b)(c)(d){$M_2$} 
     \optdetector[](c)(ddos)   
    \drawwidebeam[beamwidth=0.4, stopinside]{1-3}
     %\drawwidebeam[loadbeampoints, beamdiv=-20, stopinside]{3-}
    \pinhole[beam](c)(d){$Ap_{2}$}
    \pinhole[beam](d)(e){$Ap_{2}$}
     \drawwidebeam[loadbeampoints, beamdiv=-20, stopinside]{3-}
\end{optexp}
\end{pspicture}

\end{document}

решение1

pst-optexpимеет полупрозрачные зеркала ( mirrortype=semitrans), которые работают как светоделители: при прорисовке лучей автоматически определяется, какой путь будет выбран — пропускающий или отражающий, в зависимости от положения следующего компонента.

У вас есть несколько вариантов, чтобы нарисовать частичный луч. Я решил сначала нарисовать основной путь луча, а затем пропускающие части, пропуская предыдущие части, чтобы beampathskipне рисовать их несколько раз.

\documentclass[pstricks,margin=12pt]{standalone} 
\usepackage{pst-optexp}

\begin{document}
\begin{pspicture}(0,4)(12,12.5)
\pnodes(2,5){a}(5,5){b}(5,10){c}(8,10){d}(12,10){e}
\pnode([Xnodesep=2]b){duno}
\pnode([offset=2]c){ddos}
\psset{mirrordepth=0.2, mirrorwidth=1.1}
\addtopsstyle{Beam}{fillstyle=solid, fillcolor=green!50!white}
\begin{optexp}
    \optsource[innerlabel, compname = start, beamwidth=0.4](a)(b){Beam}
    \mirror[compname = mi, mirrortype=semitrans, n=1, labelangle=-45](a)(b)(c){$M_1$}
    \optdetector[compname = duno](b)(duno)

    \mirror[compname = mii, n=1, mirrortype=semitrans, labelangle=45](b)(c)(d){$M_2$} 
    \optdetector[compname = ddos](c)(ddos)   
    \pinhole[compname = phi](c)(d){$Ap_{2}$}
    \pinhole[compname = phii](d)(e){$Ap_{2}$}

    \drawwidebeam[useNA=false]{start}{mi}{mii}{phi}{phii}(e)
    %
    % draw the weak transmissions to the detectors
    \newpsstyle{Beam}{linestyle=none, fillstyle=solid, fillcolor=green!20!white}
    \drawwidebeam[beampathskip=1]{start}{mi}{duno}
    \drawwidebeam[beampathskip=2]{start}{mi}{mii}{ddos}
\end{optexp}
\end{pspicture}

\end{document}

введите описание изображения здесь

Связанный контент