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);
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.