\begin{tikzpicture}[>=stealth',black!50, text=black, thick, every new ->/.style= {shorten >=1pt}, every path/.style={rounded corners}, action/.style={draw,inner sep=5pt,rounded corners,draw=black!50,very thick,fill=black!5!blue!2,minimum width=4cm}, test/.style={draw,diamond,rounded corners,fill=black!2}, graphs/every graph/.style= {edges=rounded corners}, skip loop/.style= {to path={-- ++(#1,0) |- (\tikztotarget)}}, hv path/.style= {to path={-| (\tikztotarget)}}, vh path/.style= {to path={|- (\tikztotarget)}}] \graph [grow down sep=7mm, branch left=35mm] { bundle/"Ray bundle" -> p/"Plane of origin"[action]->["$Id=0$"] m/"Mirror \#: $Id=Id+1$"[action] ->["$k=0$"] s/"Segment \#: $k=k+1$"[action] -> g/"To Rigid Body CS"[action] -> "To Motion CS"[action] -> "To Aperture CS"[action] -> {q1/"Vignetted?"[test,aspect=2.5],q2/"$k<7?$"[test,aspect=2,not source,not target,label={[xshift=3mm]below:No}]} ->["No"] mc/"To Conic CS"[action] -> si/"Segment Intersection"[action] -> sr/"Segment Reflection"[action] -> cm/"To Motion CS"[action] -> mr/"To Rigid Body CS"[action] -> rg/"To GCS"[action] -> x/"$Id<2$"[test,aspect=2,label={[yshift=3mm]right:No}]]; q1 -> q2 ->[vh path] { x , s}; %{[edge={red}] s->g;} }; \draw[rounded corners,->] (x.south) -- ++(0,-5mm) -- ++(-48mm,0cm) |- (m.west); \node[right,red] at (bundle.east) (chief) {Chief ray}; \begin{scope}[draw=red,every path/.style={->,rounded corners,dashed}] \draw (chief) -- ($(p.north)!0.70!(p.north east)$); \draw ($(p.south)!0.70!(p.south east)$) -- ($(m.north)!0.70!(m.north east)$); \draw ($(m.south)!0.70!(m.south east)$) -- ($(s.north)!0.70!(s.north east)$) node[midway,right,red] {$k=7$}; \draw ($(s.south)!0.70!(s.south east)$) -- ($(g.north)!0.70!(g.north east)$); \draw ($(g.south)!0.70!(g.south east)$) |- ++(8mm,-4mm) |- ++(-8mm,-43mm) -- ($(mc.north)!0.70!(mc.north east)$); \draw ($(mc.south)!0.70!(mc.south east)$) -- ($(si.north)!0.70!(si.north east)$); \draw ($(si.south)!0.70!(si.south east)$) -- ($(sr.north)!0.70!(sr.north east)$); \draw ($(sr.south)!0.70!(sr.south east)$) |- ++(8mm,-5mm) |- ++(-8mm,-10mm) -- ($(mr.north)!0.70!(mr.north east)$); \draw ($(mr.south)!0.70!(mr.south east)$) -- ($(rg.north)!0.70!(rg.north east)$); \end{scope} \draw[red,dashed,shorten >=3pt] (rg.south) -- (x.north); \draw[red,dashed,shorten >=3pt,rounded corners] (x.south) -- ++(0,-5mm) -- ++(-48mm,0cm) |- (m.west); \begin{scope}[xshift=7cm,yshift=-13.5cm] \graph[grow down sep=7mm] { { [edge={red,dashed}] distance/"Intersection with focal plane"[action] -> origin/"Reference sphere origin"[action] -> "Intersection with exit pupil"[action] -> "Reference sphere radius"[action] -> sphere/"Intersection with reference sphere"[action] ->[black!50,solid] "\emph{Optical path difference}";} }; %\draw (distance.east) -> (origin.east) node[midway,right] {distance}; \end{scope} \draw[->] (x.east) -| ++(20mm,5mm) |- (sphere.west); \draw[red,dashed,->] (x.east) -| ++(20mm,30mm) |- (distance.west); \end{tikzpicture}