Edit and compile if you like:
\documentclass[border=3pt]{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}}% Newcommand%% Polar Coordinates Line from (0,0 to (r, theta)\newcommand{\cdraw}[2]{\draw[very thick, -stealth, red] (0,0) -- ({#1*cos(#2)}, {#1*sin(#2)});}%% 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) circle (0.8cm);\draw[line join=round, thick] (-{0.8*cos(#2)}, -{0.8*sin(#2)}) -- ({0.8*cos(#2)},{0.8*sin(#2)});\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]
Click to download: malus-law.tex
Open in Overleaf: malus-law.tex
This file is available on GitHub.
See more on the author page of Alexandros Tsagkaropolulos.