绘制衍射仪图

绘制衍射仪图

我试图在 Latex 上重新创建此图表,但这超出了我的能力范围。我该如何重新创建它?衍射仪图

答案1

欢迎来到 TeX.SE!此图中没有什么特别困难的(除了圆柱体的阴影)。然而,麻烦的是输入所有文本,并进行大量重复。这可能是您到目前为止只收到评论而不是答案的原因。在这个网站上,给新手一个开始是一个相当常见的习惯,但我恳请您尝试向我们展示您尝试过的方法。至少它可以免去潜在回答者输入所有这些内容的麻烦,从而降低回答的门槛。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{shapes.geometric,positioning}
\definecolor{bluegray}{RGB}{163,163,183} 
\definecolor{orangegray}{RGB}{200,169,161} 
\definecolor{dubious}{RGB}{247,226,149} 
\definecolor{darkblue}{RGB}{24,35,93} 

\begin{document}
\tikzset{cylinder end fill/.style={path picture={
\pgftransformshift{\centerpoint}%
\pgftransformrotate{\rotate}%  
\pgfpathmoveto{\beforetop}%
\pgfpatharc{90}{-270}{\xradius and \yradius}%
\pgfpathclose
\pgfsetfillcolor{#1}%
\pgfusepath{fill}}
}}
\begin{tikzpicture}
\node [shape=cylinder,
  aspect=1,
  minimum height=1.6cm,
  minimum width=0.8cm,
  rotate=90,
  fill=bluegray,
  fill opacity=0.5,
  cylinder end fill=bluegray!15,
  inner color=bluegray,
  label={[font=\sffamily\bfseries\large]below:Cathode Ray Tube}] (Cathode) {};
\node[fill=blue!90,below=1.5cm of Cathode.center,inner ysep=1mm,
inner xsep=0.6cm,label={[font=\sffamily\bfseries]right:Fliter}] (Filter1){};
\node[fill=green!60!black,below=0.35cm of Filter1.center,inner ysep=1mm,
inner xsep=0.6cm,label={[font=\sffamily\bfseries]right:Collimator}] (Collimator1){};
\coordinate[below=4cm of Collimator1.center] (meow);
\draw[orange,fill=dubious,fill opacity=0.3,inner color=dubious] (meow) circle (2.4cm);
\draw[thick,dashed] ([yshift=-3cm]meow) -- (meow) -- ++ (-45:2);
\draw[latex-latex] ([yshift=-1.3cm]meow) arc(-90:-45:1.3cm) node[midway,below]{$\theta$};
\draw[latex-latex] ([yshift=-2.8cm]meow) arc(-90:-3:2.8cm) node[midway,below]{$2\theta$};
\node[fill=darkblue,inner ysep=1mm,
inner xsep=0.6cm,rotate=-45] at ([xshift=-0.5mm,yshift=-0.5mm]meow){};
\node[fill=cyan,inner ysep=0.5mm,
inner xsep=0.6cm,rotate=-45] (mirror) at ([xshift=0.25mm,yshift=0.25mm]meow){};
\node[fill=green!60!black,right=4cm of meow,inner xsep=1mm,
inner ysep=0.6cm,label={[font=\sffamily\bfseries]above:Collimator}] (Collimator2){};
\node[fill=blue!90,right=0.35cm of Collimator2,inner xsep=1mm,
inner ysep=0.6cm,label={[font=\sffamily\bfseries]below:Fliter}] (Filter2){};
\node [shape=cylinder,
  right=2cm of Filter2.center,
  aspect=1,
  minimum height=2cm,
  minimum width=1cm,
  rotate=0,
  fill=orangegray,
  fill opacity=0.5,
  cylinder end fill=orangegray!15,
  inner color=orangegray,
  label={[font=\sffamily\bfseries\large]right:Detector}] (Detector) {};
%  
\draw[thick,-latex] (Cathode.west) -- (Filter1.center);
\draw (Filter1.center) -- (Collimator1.center);
\draw[red,-latex] (Collimator1.center) -- (mirror.6);
\draw[red,-latex] (mirror.6) -- ([xshift=0mm]Collimator2.west);
\draw[blue!80!black,-latex] (Collimator1.center) -- (mirror.90);
\draw[blue!80!black,-latex] (mirror.90) -- ([xshift=-1mm]Collimator2.west);
\draw[orange,-latex] (Collimator1.center) -- (mirror.174);
\draw[orange,-latex] (mirror.174) -- ([xshift=-2mm]Collimator2.west);
\draw[thick,-latex] (Collimator2.east) -- (Detector.west);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容