Bouncing in an array
Pyth, 17 bytes
&gt;lQC.e.&gt;bkC+_PtQQ

Explanation:
                      implicit: Q=input
&gt;                     First
  l Q                   len(Q) elements of the
  C .e                  Transpose of enumerated map lambda b,k:
       .&gt;                 Rotate the kth element rightwards by
          b
          k               k.
       C +              Transpose of: Q concatenated to
           _ P t Q        itself reversed without first and last elements.
           Q

Try it here.