Not support canvas.
一件3Dに見えなくもないですがやってることは全然違います。
まず、ctx.scaleを変更して画像を描画することで絵を変形させることが出来ます。
しかし、そのままでは位置が中央に来ないのであらかじめctx.translateで変形後にずれる量の分だけ移動させておきます。
あとは、変形量を1から0の間でループさせ0になったときに画像を切り替えればこのような変形を行えると言うわけになります。