\begin{tikzpicture}[scale = 0.9, every node/.style={scale=0.9}]
  
    \def\raynum{18}

    \foreach \x in {0,...,\raynum} {
        \ifthenelse{\x < 3 \OR \x>15}
        {
            \draw[color = black] (\x /\raynum * 6 ,0) -- (3,4);
        }{
            \draw[color = lightgray] (\x /\raynum * 6 ,0) -- (3,4);
 
        }
    }

    \fill[
        white
    ] (1.48,1) -- (4.52,1) -- (5.02,0) -- (0.98,0) -- cycle;


    \draw [color=black] (0,0) -- node[below]{wall} (6,0) ; % wall
    \draw [color=black](1.5,1) -- node[below]{blocker} (4.5,1); %blocker

    %cam
    \node[
        circle,
        fill = black,
        minimum width = 1mm,
        outer sep = 2mm
    ] (camera) at (3,4)  {};
    \node at (camera.north) {camera};

    %magnifier
    \node[
        circle,
        draw
    ] (mag) at (4.5, 1){};


    \fill[
        gray
    ] (5,3) -- (6.7,3) -- (6.7,3.3) -- (5,3.3) -- cycle; 

    \draw[black] (8,2) coordinate (darkgray_ray_isec) -- (5,5) coordinate (orig);
    \draw[gray] (6.4,3.3) coordinate (red_ray_isec) -- (5,5);

    %line
    \draw (mag.north east) -- (7,2);

    %magnifier box
    \draw (5,5) -- (8,5) -- (8,2) -- (5,2) -- cycle;

    \pic [
        draw, 
        ->, 
        "$d\omega$", 
        angle radius=20mm,
        angle eccentricity=1,
        pic text options={shift={(3mm,3mm)}}
        ]
        {angle = red_ray_isec--orig--darkgray_ray_isec};

\end{tikzpicture}
