Edit and compile if you like:
\documentclass[border=2pt]{standalone}% Drawing\usepackage{tikz}% Tikz Library\usetikzlibrary{angles, quotes, decorations.markings}%Styles%%Arrow in the Middle\tikzset{midarrow1/.style = {postaction=decorate, decoration={markings,mark=at position .8 with \arrow{stealth}}}}\tikzset{midarrow2/.style = {postaction=decorate, decoration={markings,mark=at position .4 with \arrow{stealth}}}}\tikzset{midarrow/.style={midarrow1, midarrow2}}% Define Color\definecolor{lust}{rgb}{0.9, 0.13, 0.13}\definecolor{richelectricblue}{rgb}{0.03, 0.57, 0.82}\begin{document}\begin{tikzpicture}% Grid% \draw[help lines] (-2,0) grid (10,10);% Barrier\draw[line width = 2, color = richelectricblue] (4,7.5) -- ++(0,1);% Rays\draw[color = lust, line width = 0.7, midarrow1] (-1,8) -- (4,8);\draw[color = lust, line width = 0.7, midarrow2] (4,8) -- +(3,-5) coordinate (C);% Guide and Lens%% Top\path[fill = richelectricblue!40] (2,8.25) ..controls +(0.1,0) and +(0.1,0).. ++(0,-0.5) ;\draw[line width = 0.5] (0, 8.1) -- (0,8.25) -- ++(2,0) ..controls +(0.1,0) and +(0.1,0).. ++(0,-0.5) -- ++(-2,0) -- +(0, 0.15);%% Bottom\path[fill = richelectricblue!40, rotate = 121] (0.96,-7.3) ..controls +(0.1,0) and +(0.1,0).. ++(0,-0.5) ;\draw[line width = 0.5, rotate = 121] (-1.04,-7.3) -- ++(2,0) ..controls +(0.1,0) and +(0.1,0).. ++(0,-0.5) -- ++(-2,0) -- +(0,0.508);
Click to download: spectroscope.tex
Open in Overleaf: spectroscope.tex
This file is available on GitHub.
See more on the author page of Alexandros Tsagkaropolulos.