Tikz picture using two "foreach" loops

In case you do not want to do analytic computations (or if you do not have a simple parametrization for the line).

\documentclass{article}

\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}

\begin{tikzpicture}

 \foreach \x in {0,...,5}
    \draw [DodgerBlue](\x,-1) circle (0.25);

\foreach \x in {0,...,5}
    \draw [-latex,red](\x,-1) -- (\x,-1.5) ;

\draw [ultra thin] (5,-0.5) coordinate(aux0)  -- (0,-1) coordinate(aux1);

\foreach \x in {1,...,5}
    \draw [-latex,DarkGreen] (\x,-1) coordinate(aux2) (\x,-0.5) coordinate(aux3)
    (aux2) -- (intersection cs:first line={(aux2)--(aux3)}, 
    second line={(aux0)--(aux1)});


\end{tikzpicture}

\end{document}

enter image description here

To make @ArtificialStupidity happy (?) one loop...

\documentclass[border=3.14mm]{standalone}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw [ultra thin] (5,-0.5) coordinate(aux0)  -- (0,-1) coordinate(aux1);
\foreach \x in {0,...,5}
   { \draw [DodgerBlue](\x,-1) circle (0.25);
    \draw [-latex,red](\x,-1) -- (\x,-1.5) ;
    \unless\ifnum\x=0%    
    \draw [-latex,DarkGreen] (\x,-1) coordinate(aux2) (\x,-0.5) coordinate(aux3)
    (aux2) -- (intersection cs:first line={(aux2)--(aux3)}, 
    second line={(aux0)--(aux1)});
    \fi
    }
\end{tikzpicture}
\end{document}

You can use a simple linear function. Please note that your arrow heads are quite large in your scale. It might be a good idea to choose a larger scale or use another arrow tip to have a better representation of the second case.

linear function

\documentclass{article}

\usepackage[svgnames]{xcolor}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}

\foreach \x in {0,...,5}{
  \draw [DodgerBlue](\x,0) circle (0.25);
  \draw [-latex,red](\x,0) -- (\x,-.5);
}
\foreach \x in {1,...,5}{
    \draw [-latex,DarkGreen](\x,0) -- (\x,{0.1*\x});
}

\draw [ultra thin] (5,.5) -- (0,0);

\end{tikzpicture}

\end{document}

A PSTricks solution with just one loop only for comparison purposes.

\documentclass[pstricks]{standalone}
\usepackage{pst-calculate}
\begin{document}
\begin{pspicture}[arrowsize=.2,arrowinset=0,linewidth=1pt](8.5,\pscalculate{8/3})
        \foreach \i in {0,1,...,5}{%
            \pstVerb{/x {\i\space  1.5 mul .5 add} def}%
            \pscircle[linecolor=blue](!x 1){.5}
            \psline[linecolor=red]{->}(!x 1)(!x 0)
            \ifnum\i=0\relax\else\psline[linecolor=green]{->}(!x 1)(!x \i\space 3 div 1 add)\fi
        }
        \psline[linestyle=dashed](.5,1)(!8 dup 3 div)
\end{pspicture}
\end{document}

enter image description here