我尝试使用 pst-optexp 包在 latex 中绘制干涉仪。一切正常,分束器方向错误,需要翻转 90 度。但是,该命令\beamsplitter[bsstyle=plate, compname=BS,label = 0.8 -45](A)(BS)(PD){BS}
不起作用。有人知道如何在该包中旋转分束器吗?
我使用的代码是
\documentclass[margin=36pt]{standalone}
\usepackage{pst-optexp}
\usepackage{amsmath}
\begin{document}
\begin{pspicture}[showgrid](6,6)
\pnodes(0,3){S}(1,3){LS}(2,3){A}(3,3){BS}(5,3){M1}(3,5){M2}(3,1){PD}
\optbox[abspos = 0.5, optboxsize=1 0.5, labeloffset = 0](S)(LS){Laser}
\lens[compname=L0, lensradius=0.5 0.5, lensheight = 0.5, abspos = 0.2, n=2,thicklens = false](LS)(A){obj}
\pinhole[compname = PH, labeloffset = -0.7](LS)(A){Pinhole}
\lens[compname=L1, abspos = 1, n=2, thicklens = false](LS)(A){Lens1}
\psset{mirrortype=extended, mirrordepth=0.2}
\beamsplitter[bsstyle=plate, compname=BS,label = 0.8 -45](A)(BS)(PD){BS}
\optbox[abspos = 1.75, optboxsize=0.5 0.5, label = 0.7 180](BS)(M1){Sample}
\mirror[compname=M1,labeloffset = 1](BS)(M1)(BS){Test Arm}
\mirror[compname=M2, mirrortype=piezo](BS)(M2)(BS){Ref Arm}
\lens[compname=L2, label = 1 180](BS)(PD){Lens2}
\optdetector[compname=Det, dettype=round, label = 0.5 90,abspos = 2.5](BS)(PD){Camera}
\addtopsstyle{Beam}{beamwidth=0.2, fillstyle=solid, linecolor = red, fillcolor=red, opacity = 0.2}
\drawwidebeam(LS){L0}{L1}{BS}{M1}{BS}{M2}{BS}{L2}{Det}
\end{pspicture}
\end{document}
得到的图片是。pst-optexp手册中给出的例子同样是错误的。
答案1
三个节点分别\beamsplitter
是光源、分光镜中心和反射光束的目标。反射界面随之旋转。
因此,如果光束来自A
,在反射处BS
然后到达M2
,则分束器应该是
\beamsplitter[bsstyle=plate, compname=BS](A)(BS)(M2){BS}
包含两个调用的完整示例\drawwidebeam
如下:
\documentclass[margin=36pt]{standalone}
\usepackage{pst-optexp}
\usepackage{amsmath}
\begin{document}
\begin{pspicture}(6,6)
\pnodes(0,3){S}(1,3){LS}(2,3){A}(3,3){BS}(5,3){M1}(3,5){M2}(3,1){PD}
\optbox[abspos = 0.5, optboxsize=1 0.5, labeloffset = 0](S)(LS){Laser}
\lens[compname=L0, lensradius=0.5 0.5, lensheight = 0.5, abspos = 0.2, n=2,thicklens = false](LS)(A){obj}
\pinhole[compname = PH, labeloffset = -0.7](LS)(A){Pinhole}
\lens[compname=L1, abspos = 1, n=2, thicklens = false](LS)(A){Lens1}
\psset{mirrortype=extended, mirrordepth=0.2}
\beamsplitter[bsstyle=plate, compname=BS,label = 0.8 -45](A)(BS)(M2){BS}
\optbox[abspos = 1.75, optboxsize=0.5 0.5, label = 0.7 180](BS)(M1){Sample}
\mirror[compname=M1,labeloffset = 1](BS)(M1)(BS){Test Arm}
\mirror[compname=M2, mirrortype=piezo](BS)(M2)(BS){Ref Arm}
\lens[compname=L2, label = 1 180](BS)(PD){Lens2}
\optdetector[compname=Det, dettype=round, label = 0.5 90,abspos = 2.5](BS)(PD){Camera}
\addtopsstyle{Beam}{beamwidth=0.2, fillstyle=solid, linecolor = red, fillcolor=red, opacity = 0.2}
\drawwidebeam(LS){L0}{L1}{BS}{M1}{BS}{L2}{Det}
\drawwidebeam(LS){L0}{L1}{BS}{M2}{BS}{L2}{Det}
\end{pspicture}
\end{document}