Edit and compile if you like:
\documentclass{standalone}
% Drawing
\usepackage{tikz}
% Tikz Library
\usetikzlibrary{3d, shapes.multipart, angles, quotes}
% Tikz Styles
\tikzset{>=latex}
\tikzset{axis/.style={black, very thick, ->}}
\tikzset{ef/.style={very thick, red}}
\tikzset{vec/.style={black, -{Latex[length=0.8mm]}}}
\tikzset{every text node part/.style={align=center}}
% New Command
%% Draw Line in Poar Coordinates from (0,0) to (r, theta)
\newcommand{\cdraw}[2]{\draw[very thick, -stealth, red] (0,0) -- ({#1*cos(#2)}, {#1*sin(#2)});}
%% Rectangles
%%%Viewing Screen
\newcommand{\rect}[1]{%
\begin{scope}[canvas is xz plane at y=1.2]
\draw[line join=round, thick, fill=black!40] (#1,-1.2) rectangle (#1+0.2,1.2);
\end{scope}
%
\begin{scope}[canvas is xy plane at z=1.2]
\draw[line join=round, thick, fill=black!25](#1,-1.2) rectangle (#1+0.2,1.2);
\end{scope}
%
\begin{scope}[canvas is yz plane at x=#1]
\draw[line join=round, thick, fill=black!10] (-1.2,-1.2) rectangle (1.2,1.2);
\draw[line join=round, thick, fill=black!10, dashed] (-{0.8*cos(45)}, -{0.8*sin(45)}) -- ({0.8*cos(45)}, {0.8*sin(45)});
\end{scope}
}
%%% Polarizer
\newcommand{\polarizer}[2]{%
\begin{scope}[canvas is xz plane at y=1.2]
\draw[line join=round, thick, fill=black!40] (#1,-1.2) rectangle (#1+0.2,1.2);
\end{scope}
%
\begin{scope}[canvas is xy plane at z=1.2]
\draw[line join=round, thick, fill=black!25](#1,-1.2) rectangle (#1+0.2,1.2);
\end{scope}
%
\begin{scope}[canvas is yz plane at x=#1]
\draw[line join=round, thick, fill=black!10] (-1.2,-1.2) rectangle (1.2,1.2);
\draw[line join=round, thick, fill=white] (0,0) coordinate (B) circle (0.8cm);
\draw[line join=round, thick] (-{0.8*cos(#2)}, -{0.8*sin(#2)}) -- ({0.8*cos(#2)},{0.8*sin(#2)}) coordinate (A);
\draw[line join=round, dashed, thick] (0,-0.8) -- (0,0.8) coordinate (C);
\pic[line join=round, draw, thick, "$\theta_\pi$", angle radius=0.2cm, angle eccentricity=2.2] {angle = A--B--C};
\end{scope}
}
%%% Analyser
\newcommand{\analizer}[2]{%
\begin{scope}[canvas is xz plane at y=1.2]
\draw[line join=round, thick, fill=black!40] (#1,-1.2) rectangle (#1+0.2,1.2);
\end{scope}
%
\begin{scope}[canvas is xy plane at z=1.2]
\draw[line join=round, thick, fill=black!25](#1,-1.2) rectangle (#1+0.2,1.2);
\end{scope}
%
\begin{scope}[canvas is yz plane at x=#1]
\draw[line join=round, thick, fill=black!10] (-1.2,-1.2) rectangle (1.2,1.2);
\draw[line join=round, thick, fill=white] (0,0) coordinate (B) circle (0.8cm);
\draw[line join=round, thick] (-{0.8*cos(#2)}, -{0.8*sin(#2)}) -- ({0.8*cos(#2)},{0.8*sin(#2)}) coordinate (A);
\draw[line join=round, dashed, thick] (0,-0.8) -- (0,0.8) coordinate (C);
\pic[line join=round, draw, thick, "$\theta_\alpha$", angle radius=0.24cm, angle eccentricity=2.2] {angle = A--B--C};
\end{scope}
}
%%% Laser
\newcommand{\laser}[1]{%
\begin{scope}[canvas is yz plane at x=#1+1.2]
\draw[line join=round, fill=black!20] (-0.2,-0.2) rectangle (0.2,0.2);
\end{scope}
%
\begin{scope}[canvas is xz plane at y=0.2]
\draw[line join=round, thick, fill=black!40] (#1,-0.2) rectangle (#1+1.2,0.2);
\node[rotate=22] at (0.6#1,0) {\tiny \textrm Laser $\mathrm{He}$-$\mathrm{Ne}$};
\end{scope}
\begin{scope}[canvas is xy plane at z=0.2]
\draw[line join=round, thick, fill=black!25] (#1,-0.2) rectangle (#1+1.2,0.2);
\end{scope}
%
\begin{scope}[canvas is yz plane at x=#1]
\draw[line join=round, thick, fill=black!15] (-0.2,-0.2) rectangle (0.2,0.2);
\end{scope}
%
}
% Notation
\usepackage{amsmath}
\begin{document}
%Layers
\pgfdeclarelayer{layer1}
\pgfdeclarelayer{layer2}
\pgfdeclarelayer{layer3}
\pgfdeclarelayer{layer4}
\pgfdeclarelayer{layer5}
\pgfdeclarelayer{layer6}
\pgfdeclarelayer{layer7}
\pgfdeclarelayer{layer8}
\pgfsetlayers{main, layer8, layer7, layer6, layer5, layer4, layer3, layer2, layer1}
\begin{tikzpicture}[x={(1cm,0.4cm)}, y={(8mm, -3mm)}, z={(0cm,1cm)}, line cap=round, line join=round]
% % Main Axes
% \draw[->] (0,0,0) -- (12,0,0) node[right] {$x$};
% \draw[->] (0,0,0) -- (0,2,0) node[below left] {$y$};
% \draw[->] (0,0,0) -- (0,0,2) node[above] {$z$};
% Big Axis
\draw[axis] (-1,0,0) -- (12.5,0,0);
% Laser
\laser{-2.3}
% Polarizers
\begin{pgfonlayer}{layer1}
\polarizer{2}{0}
\end{pgfonlayer}
\begin{pgfonlayer}{layer3}
\analizer{6}{45}
\end{pgfonlayer}
\begin{pgfonlayer}{layer8}
\rect{10}
\end{pgfonlayer}
% Polarizer Analiyzer and Rect
\begin{scope}[canvas is yz plane at x=2]
\node[rotate=-20] at (0.5,1.8) {\small{Polarizer}};
\end{scope}
\begin{scope}[canvas is yz plane at x=6]
\node[rotate=-20] at (0.5,1.8) {\small{Analyser}};
\end{scope}
\begin{scope}[canvas is yz plane at x=10]
\node[rotate=-20] at (0.5,1.8) {\small{Viewing Screen}};
\end{scope}
% Polarization Planes
\begin{pgfonlayer}{layer1}
\begin{scope}[canvas is xy plane at z=0]
\draw[latex-] (2,0.6) to[out=160, in=270] (2,3) node[right, yshift=-3pt] {\small{Polarization Plane}\\[-0.5mm]\small{of Polarizer}};
\end{scope}
\begin{scope}[canvas is xy plane at z=-0.16]
\draw[latex-] (5.85,-0.07) to[out=130, in=270] (6,3) node[right, yshift=-3pt] {\small{Polarization Plane}\\[-0.5mm]\small{of Analyser}};
\end{scope}
\end{pgfonlayer}
% Electric Field
%% Physical Light
\begin{pgfonlayer}{layer1}
\begin{scope}[canvas is yz plane at x=0]
\foreach \i in {0,45,...,315}
{
\cdraw{0.8}{\i}
}
\end{scope}
\end{pgfonlayer}
%% Linear Polarization
\begin{pgfonlayer}{layer2}
\begin{scope}[canvas is yz plane at x=4]
\node at (0,1.4) {$I_1$};
\end{scope}
\foreach \i in {3,3.5,...,5.5}
{
\begin{scope}[canvas is yz plane at x=\i]
\cdraw{0.8}{90}
\cdraw{0.8}{270}
\end{scope}
}
\end{pgfonlayer}
%% Slanted Linear Polarization
\begin{pgfonlayer}{layer4}
\begin{scope}[canvas is yz plane at x=8.5]
\draw[dashed] (0,-0.8) -- (0,0.8);
\coordinate (A) at ({0.8*cos(45)},{0.8*sin(45)});
\coordinate (B) at (0,0);
\coordinate (C) at (0,0.8);
\pic[draw, "$\theta_\alpha$", angle radius=0.3cm, angle eccentricity=2.2, pic text options={xshift=-1pt}] {angle = A--B--C};
\end{scope}
\foreach \i in {7,7.5,...,9.5}
{
\begin{scope}[canvas is yz plane at x=\i]
\cdraw{0.8}{45}
\cdraw{0.8}{225}
\end{scope}
}
\end{pgfonlayer}
% Nodes
\node at (0,0,1.3) {$I_o$};
\node at (7.8,0,0.8) {$I_2$};
\node[rotate=23] at (12.1,0,-0.7) {\small{Polarization}\\[-0.5mm]\small{Direction}};
% Refinements to Look 3D
\begin{pgfonlayer}{layer1}
\draw[very thick] (1,0,0) -- (2,0,0);
\end{pgfonlayer}
\begin{pgfonlayer}{layer3}
\draw[very thick] (4.5,0,0) -- (6,0,0);
\end{pgfonlayer}
\begin{pgfonlayer}{layer6}
\draw[line cap=round, very thick] (9,0,0) -- (10,0,0);
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
Click to download: polarizer-analyzer.tex
Open in Overleaf: polarizer-analyzer.tex
This file is available on GitHub.
See more on the author page of Alexandros Tsagkaropolulos.
