\documentclass{minimal}

\usepackage{tikz}
\usetikzlibrary{calc,intersections}

\begin{document}


\newcommand\cylinder[2][]{
  \begin{scope}[#1]
    
  \coordinate (ll) at (0,0);
  \coordinate (ul) at (0,1);
  \coordinate (ur) at (2,1);
  \coordinate (lr) at (2,0);

  \draw [name path=cylinder]
     let \p1 = ($ (ur) - (lr) $)
     in
     (ul) -- (ur)
             arc (90:-90:.25*\y1 and .5*\y1)
           -- (ll)
           arc (270:90:.25*\y1 and .5*\y1)
           -- cycle
     (ul)  arc (90:-90:.25*\y1 and .5*\y1)
     ($ .5*(ul) + .5*(ur) $)  arc (90:-90:.25*\y1 and .5*\y1);

   \draw [dashed]
     let \p1 = ($ (ur) - (lr) $)
     in
     ($ .5*(ul) + .5*(ur) $) node [above] {$C$}
     arc (90:270:.25*\y1 and .5*\y1);

   \path [name path=invisible] ($ (ll)!.5!(ul) $) -- ++(10,0);

   #2
  \end{scope}
}


\begin{tikzpicture}

  \cylinder
  {
  \draw [name intersections={of=cylinder and invisible,
           by={A,B}}]
     (A) -- (B);
   }
   
  \draw (2.5,0.5) edge [bend left,->]
                   node [above] {$\tau_c$} ++(1,0);
  
  \cylinder[xshift=4cm]
  {
    \begin{scope}[z={(.25cm,0)},y=0.5cm,x=2cm,yshift=.5cm,
      name intersections={of=cylinder and invisible,
        by={B,A}},
      variable=\t]

      \draw 
         plot [domain=0:.25] (\t,{sin(\t*360)},{cos(\t*360)})
         plot [domain=.75:1] (\t,{sin(\t*360)},{cos(\t*360)});
      \draw [dashed]
         plot [domain=.25:.75] (\t,{sin(\t*360)},{cos(\t*360)});
    \end{scope}
   }
   
\end{tikzpicture}


\end{document}
