Edit and compile if you like:
\documentclass[border=2pt]{standalone}
% Drawing
\usepackage{tikz}
% Tikz Library
\usetikzlibrary{3d, shapes.multipart, arrows.meta, angles, quotes, calc}
% Styles
\tikzset{every node/.style={align=center}}
% New Commands
%% Polarizer
\newcommand{\polarizer}[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=white] (0,0) circle (0.8cm);
\draw[line join=round, thick] (0,-0.8) -- (0,0.8);
\end{scope}
}
%% Phase Delay Plate
\newcommand{\pkf}[3]{%
\begin{scope}[canvas is xz plane at y=1.2]
\draw[line join=round, thick, fill=black!40] (#1,-1.2) rectangle (#1+0.4,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.4,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) ellipse (0.8cm and 0.8cm);
\draw[line join=round, thick] (-{0.8*cos(#2)}, -{0.8*sin(#2)}) -- ({0.8*cos(#2)},{0.8*sin(#2)}) coordinate (C');
\draw[line join=round, thick] (-{0.8*cos(#3)}, -{0.8*sin(#3)}) coordinate (A') -- ({0.8*cos(#3)},{0.8*sin(#3)}) coordinate (A);
\draw[line join=round, dashed, thick] (0,-0.8) -- (0,0.8) coordinate (C);
\pic[line join=round, draw, thick, "$\theta$", angle radius=0.4cm, angle eccentricity=1.6] {angle = C--B--A};
\MarkRightAngle[size=5pt](A',B,C');
\end{scope}
}
%% Analyser
\newcommand{\analyser}[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) ellipse (0.8cm and 0.8cm);
\draw[line join=round, dashed] (0,0) coordinate (B) ellipse (0.6cm and 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);
\MarkRightAngle[size=6pt](A,B,C);
\end{scope}
}
%% Draw Line in Polar Coordinates from (0,0) to (r,theta)
\newcommand{\cdraw}[2]{\draw[very thick, -stealth, red] (0,0) -- ({#1*cos(#2)}, {#1*sin(#2)});}
% Notation
\usepackage{amsmath}
\begin{document}
%Layers
\pgfdeclarelayer{layer1}
\pgfdeclarelayer{layer2}
\pgfdeclarelayer{layer3}
\pgfdeclarelayer{layer4}
\pgfdeclarelayer{layer5}
\pgfdeclarelayer{layer6}
\pgfdeclarelayer{layer7}
%
\pgfsetlayers{main, layer7, layer6, layer5, layer4, layer3, layer2, layer1}
% Right Angle Mark
\def\MarkRightAngle[size=#1](#2,#3,#4){\draw[thick, line join=round] ($(#3)!#1!(#2)$) -- ($($(#3)!#1!(#2)$)!#1!90:(#2)$) -- ($(#3)!#1!(#4)$)}
\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[line cap=round, -latex, very thick] (-0.5,0,0) -- (14.5,0,0);
% Polarizers
\begin{pgfonlayer}{layer2}
\polarizer{2}
\end{pgfonlayer}
\begin{pgfonlayer}{layer4}
\pkf{5.5}{40}{130}
\end{pgfonlayer}
\begin{pgfonlayer}{layer6}
\analyser{10.5}{0}
\end{pgfonlayer}
% Electric Field
%% Unpolarized
\begin{pgfonlayer}{layer1}
\begin{scope}[canvas is yz plane at x=0.5]
\foreach \i in {0,45,...,315}
{
\cdraw{0.8}{\i}
}
\end{scope}
\end{pgfonlayer}
%% Polarized Linearly 1
\begin{pgfonlayer}{layer3}
\foreach \i in {3,3.5,...,5}
{
\begin{scope}[canvas is yz plane at x=\i]
\cdraw{0.8}{90}
\cdraw{0.8}{270}
\end{scope}
}
\end{pgfonlayer}
%% Polarized Elliptically
\begin{pgfonlayer}{layer5}
\draw[very thick, red, variable=\t, domain=5.5:10.5, samples=300] plot (\t, {0.6*sin(deg(\t*4+90))}, {0.8*cos(deg(\t*4+90))});
\foreach \i [evaluate={\k = \i*4; \ii = \i;}] in {5.5,5.55,...,10.5}
{
\draw[-{Latex[length=1mm]}] (\ii,0,0) -- +(0, {0.6*sin(deg(\k+90))}, {0.8*cos(deg(\k+90))});
}
\end{pgfonlayer}
%% Polarized Linearly 2
\begin{pgfonlayer}{layer7}
\begin{scope}[canvas is yz plane at x=13]
\cdraw{0.6}{0}
\cdraw{0.6}{180}
\draw[dashed] (0,-0.8) -- (0,0.8);
\coordinate (A) at ({0.6*cos(0)},{0.6*sin(0)});
\coordinate (B) at (0,0);
\coordinate (C) at (0,0.6);
\MarkRightAngle[size=6pt](A,B,C);
\end{scope}
\foreach \i in {10,10.5,...,13.5}
{
\begin{scope}[canvas is yz plane at x=\i]
\cdraw{0.6}{0}
\cdraw{0.6}{180}
\end{scope}
}
\end{pgfonlayer}
% Nodes
%% Upper
\begin{scope}[canvas is yz plane at x=1.8]
\node[rotate=-20] at (0.7,2) {\small{Polarizer}};
\end{scope}
%
\begin{scope}[canvas is yz plane at x=5.5]
\node[rotate=-20] at (0.7,2) {\small{PDP $\lambda/4$}};
\end{scope}
%
\begin{scope}[canvas is yz plane at x=10.3]
\node[rotate=-20] at (0.7,2) {\small{Analyser}};
\end{scope}
%% Lower
\begin{pgfonlayer}{layer2}
\begin{scope}[canvas is xy plane at z=-0.2]
\draw[latex-] (2,0) to[out=160, in=275] (2,2.8) node[right, yshift=-3pt] {\small{Polarization Plate}\\[-0.5mm]\small{of Polarizer}};
\end{scope}
\end{pgfonlayer}
%
\begin{pgfonlayer}{layer4}
\begin{scope}[canvas is xy plane at z=-0.38]
\draw[latex-] (5.5,0.3) to[out=130, in=275] (6,2.5) node[right, yshift=-3pt] {\small{$\mathrm{T}$ Axis}};
\end{scope}
\begin{scope}[canvas is xy plane at z=0.38]
\draw[latex-] (5.5,0.47) to[out=130, in=275] (6,3) node[right, yshift=-3pt] {\small{$\mathrm{B}$ Axis}};
\end{scope}
\end{pgfonlayer}
%
\begin{pgfonlayer}{layer6}
\begin{scope}[canvas is xy plane at z=0]
\draw[latex-] (10.5,0.5) to[out=180, in=270] (10.5,2.8) node[right, yshift=-3pt] {\small{Polarization Plate}\\[-0.5mm]\small{of Analyser}};
\end{scope}
\end{pgfonlayer}
%% Intensities of Light
\node at (0.5,0,1.2) {\small{$I_o$}};
\node at (3.8,0,1.2) {\small{$I_1$}};
\node at (8,0,1.4) {\small{$I_2$}};
\node at (12,0,0.8) {\small{$I_3$}};
%% Propagation Direction
\node at (14,0.5,1) {\small{Propagation}\\[-0.5mm]\small{Direction}};
% Refinements
\begin{pgfonlayer}{layer1}
\draw[line cap=round, thick] (2,0,-0.8) -- (2,0,0.8);
\end{pgfonlayer}
\begin{pgfonlayer}{layer1}
\draw[line cap=round, very thick] (1,0,0) -- (1.99,0,0);
\end{pgfonlayer}
\begin{pgfonlayer}{layer4}
\draw[line cap=round, very thick] (4.5,0,0) -- (5.5,0,0);
\end{pgfonlayer}
\begin{pgfonlayer}{layer6}
\draw[line cap=round, very thick] (9.5,0,0) -- (10.49,0,0);
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
Click to download: phase-delay-plate-pdp.tex
Open in Overleaf: phase-delay-plate-pdp.tex
This file is available on GitHub.
See more on the author page of Alexandros Tsagkaropolulos.
