Needs["DiscreteMath`Combinatorica`"];

\({v1, \ v2, \ v3, \ v4}\  = 
      \ \ \ \ {{0, 0, 0}, \ {2, 0, 0}, {1, 1.732, 0}, \ {1, 0.5774, 1.633}}; 
    

mp[x1_, \ x2_]\  := \ 0.5\ \((x1\  + \ x2)\); 


    SetAttributes[maketet, Listable]; 


    maketet[tet[{v1_, \ v2_, \ v3_, \ v4_}]]\  := 

      \ \ \ \ {tet[{v1, \ mp[v1, v2], \ mp[v1, v3], \ mp[v1, v4]}], 

        \ \ \ \ \ tet[{v2, \ mp[v1, v2], \ mp[v2, v4], \ mp[v2, v3]}], 

        \ \ \ \ \ tet[{v3, \ mp[v1, v3], \ mp[v3, v4], \ mp[v3, v2]}], 

        \ \ \ \ \ tet[{v4, \ mp[v1, v4], \ mp[v2, v4], \ mp[v3, v4]}]}; 


    makepolyrules\  = 
	
      tet[{a_, \ b_, \ c_, \ d_}]\  -> 
		
        With[{verts\  = \ KSubsets[{a, b, c, d}, \ 3]}, \ 
          Map[Polygon, \ verts]]; 


    Do[
\(Show[
        GraphicsArray[
\ \ \ \ 
          Partition[
\ \ \ \ \ \ 
            \(Graphics3D[#, \ Boxed -> False, \ 
                    ViewPoint -> {2\ Cos[n], 2\ Sin[n], 0.4}]&\)/@

                \ \ \ \ \ \ \ \ \ \ 
                NestList[maketet, \ tet[{v1, v2, v3, v4}], 3]\  /. \ 
              makepolyrules, 4]]]; \)
, {n, 0, 2\ Pi, 0.1}	
	]\)