Usando SVG para animar e virar um hexágono

Eu realmente nunca usei SVGs, mas li alguns tutoriais sobre isso agora e testei algumas coisas. Estou aprendendo a fazer formas como um hexágono, mas agora preciso girá-lo para baixo no eixo vertical e expandir em tamanho, mantendo a parte inferior do hexágono não invertido como a parte superior do novo hexágono invertido.

Meu código está aqui:

<html>
  <style>    
    #test:hover {
      fill: yellow;
    }
  </style>
  <body>
    <div class="viewBox">
      <h1>SVG Testing</h1>
      <svg height="900" width="400" version="1.1" xmlns="http://www.w3.org/2000/svg" style="background-color: gray;">
        <path d="M0 86.60254037844386L50 0L150 0L200 86.60254037844386L150 173.20508075688772L50 173.20508075688772Z" fill="green" id="test"></path>
      </svg>
    </div>
  </body>
</html> 

Quais são meus próximos passos?

Eu uso uma biblioteca para fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion