Edit and compile if you like:
\documentclass[border=3pt]{standalone}% Drawing\usepackage{tikz}%Notation\usepackage{amsmath}% Tikz Library\usetikzlibrary{angles, quotes, shapes, decorations.markings, calc, arrows.meta}% Styles%% Node Style in Order Text to Get Center Alignment\tikzset{every text node part/.style={align=center}}%% Main Ray Style\tikzset{ray/.style = {postaction=decorate,decoration={markings,mark=at position .49 with \arrow{stealth},mark=between positions 0.1 and 0.4 step 0.5cm with with{\draw[fill=red, draw = red] circle[radius=1pt];\draw[red, {Latex[length=1.3mm, width=1.5mm]}-{Latex[length=1.3mm, width=1.5mm]}] (0,-7pt) -- (0,7pt);},mark=between positions 0.6 and 0.9 step 0.5cm with with{\draw[fill=red, draw = red] circle[radius=1pt];\draw[red, {Latex[length=1.3mm, width=1.5mm]}-{Latex[length=1.3mm, width=1.5mm]}] (0,-7pt) -- (0,7pt);}}}}%% Bottom Ray Inside Box\tikzset{rayE1/.style = {postaction=decorate,decoration={markings,mark=at position .52 with \arrow{stealth},mark=between positions 0.65 and 0.9 step 0.7cm with with{\draw[red, {Latex[length=1.3mm, width=1.5mm]}-{Latex[length=1.3mm, width=1.5mm]}] (0,-7pt) -- (0,7pt);\draw[fill=black!10, draw = black!10] circle[radius=1pt];}}}}%% Bottom Ray Outside Box\tikzset{rayE2/.style = {postaction=decorate,decoration={markings,mark=at position .52 with \arrow{stealth},mark=between positions 0.1 and 0.4 step 0.54cm with with{\draw[red, {Latex[length=1.3mm, width=1.5mm]}-{Latex[length=1.3mm, width=1.5mm]}] (0,-7pt) -- (0,7pt);\draw[fill=white, draw = white] circle[radius=1pt];},
Click to download: birefringence.tex
Open in Overleaf: birefringence.tex
This file is available on GitHub.
See more on the author page of Alexandros Tsagkaropolulos.