\documentclass[tikz]{standalone}
\usepackage{tikz}

\usetikzlibrary{calc, backgrounds, intersections}
\begin{tikzpicture}[
  scale=1,
  background rectangle/.style={fill=gray!20},
  show background rectangle
  ]
  % the convex len
  \coordinate (O) at (0,0);
  \filldraw [name path=convex-len, ultra thick, fill=teal!30] (O) arc (180+75:360-75:20)
    coordinate [pos=0.5] (B) coordinate [pos=1] (A) -- (O) -- cycle;
  % the plane len
  \filldraw [ultra thick, fill=cyan!40] (B -| O) rectangle ($(B -| A)-(0,.8)$);
  % the incidence lights
  \foreach \x in {1, 2, ..., 9} \draw [->, blue, thick] (\x, 2) -- ($(O)!(\x, 2)!(A)$);
  \draw [->, purple, thick] (8, 0) -- ($(B)!(8, 0)!(B -| O)$) coordinate [pos=1] (C);
  % the reflection lights
  \coordinate (R1) at ($(C)+(0.33, 0)$); \coordinate (R2) at ($(R1)+(0.34, 0)$);
  \draw [->, purple, thick] (R2) -- ($(O)!(R2)!(A)$) -- +(0,2.2);
  \path [name path=light-r1] (R1) -- ($(O)!(R1)!(A)$) -- +(0,2.2) coordinate [pos=1] (E);
  \path [name intersections={of=convex-len and light-r1, by={I1, I2}}];
  \draw [->, purple, thick] (I1) -- (I2) -- (E);
  % OPD
  \draw [dashed] (I1) -- +(3, 0) coordinate [pos=0.9] (D1);
  \draw [dashed] (R1) -- +(3, 0) coordinate [pos=0.9] (D2);
  \draw [->, dashed, purple, thick] ($(D1)+(0,.5)$) -- (D1);
  \draw [->, dashed, purple, thick] ($(D2)-(0,.5)$) -- (D2);
  \node [purple, above right] at (D1) {$d$};
\end{tikzpicture}
