我在课堂上使用 latex 和 pst-optic。对于我的练习,我想画一个有焦点、物体但没有光线和图像的透镜。这样,学生就可以通过在我用 latex/pst 制作的讲义上直接追踪光线来构建图像。然后我可以用光线给出解决方案。有没有一种方法可以轻松地做到这一点,只需一个简单的开关或参数?
使用该drawing=false
参数,只会绘制镜头,没有轴也没有物体!然后我必须手动添加后者、轴、物体……
一个例子:这是 pst-optics 产生的结果,包括所有射线和图像:
这是我想要的,轴、镜头和物体(请注意,我要添加的所有内容 pst-optic 都可以轻松完成……):
以下是生成这两张图片的代码:
\documentclass[a4paper,12pt]{report}
\usepackage{auto-pst-pdf}
\usepackage{pst-optic}
\begin{document}
% Example using pst-optics:
\begin{pspicture}[showgrid=false](-15.5,-6)(15,6)
\rput(0,0){\lens[lensType=CVG,yBottom=-3.5,yTop=3.5,lensGlass=false,lensHeight=6.5,
spotFi=315,lensWidth=0.05,lensColor=black,
focus=2.0,OA=-4,AB=2,spotAi=10,spotBi=270,spotFi=90] }
\end{pspicture}
% the same, without the rays, but I have to draw many things myself:
\begin{pspicture*}[showgrid=false](-5,-3.5)(5,3.5)
\pnode(2,-2){FF}
\qdisk(-2,0){1.5pt} \rput(-2,-0.5){F}
\qdisk(2,0){1.5pt} \rput(2,-0.5){F}
\rput(0,0){\lens[lensType=CVG,yBottom=-3.5,yTop=3.5,lensGlass=false,lensHeight=6.5,drawing=false,
spotFi=315,lensWidth=0.05,lensColor=black]
\psline[linewidth=1pt](xLeft)(xRight)
}
\psline[length=2,linewidth=2pt,arrows=->](-4,0)(-4,2)
\rput(-4,-0.5){A}
\rput(-4,2.5){B}
\end{pspicture*}
\end{document}
答案1
答案2
我尝试过做类似的事情,但当我使用时,rayColor=white
光线仍然存在,导致输出不佳。文档说这drawing=false
仅适用于镜子。但我发现了一些有用的东西。
\lens[onlyrays=true,linestyle=none,rayColor=white]
这会删除每一行,因此您需要重新添加所需的行(AB、A'B' 等)
对于以下输出我使用了:
\resetOpticOptions
\begin{pspicture*}(-5,-3.5)(5,3.5)
\rput(0,0){
\lens[
lensType=CVG,yBottom=-3.5,yTop=3.5,onlyrays=true,lensHeight=6.5,spotFi=315,lensWidth=0.05,lensColor=black,rayColor=white,
focus=2.0,OA=-4,AB=2,spotAi=10,spotBi=270,spotFi=90,linestyle=none
]
}
\psline[linestyle=solid,linecolor=black](A)(B)
\psline[linestyle=solid,linecolor=black](A')(B')
\psline[linestyle=solid,linecolor=black]{<->}(0,-3.5)(0,3.5)% AB = 3
\psline[linestyle=solid,linecolor=black](-5,0)(5,0)
\end{pspicture*}