No fluid dynamics I'm afraid, but here's what I came up with

Preliminaries

 n = {200, 200, 200};
 dim = 2;
 edges = {.015, .018, .024};
 speed = {{0, -1}, {0, -1.5}, {0., -2}};
 basePoly = {{0, -1}, {1/2, 0}, {0, 1}, {-1/2, 0}};
 period = 3;

Initial position colour and orientation

 angularVelocity = N[RandomChoice[Range[-8, 8], #] period Pi] & /@ n;
 initPos = RandomReal[dim, {#, 2}] & /@ n;
 initAngle = RandomReal[2 Pi, #] & /@ n;
 colors = Transpose[ConstantArray[Hue /@ RandomReal[1, 200], 4]];

Visualisation

 polygons[t_] := 
 Graphics[Table[
 Polygon[Function[{pos, ang, vel}, 
 Mod[pos + speed[[i]] t, 
 2] + # & /@ ((edges[[i]] basePoly).RotationMatrix[
 ang + vel t])] @@@ 
 Transpose[{initPos[[i]], initAngle[[i]], angularVelocity[[i]]}],
 VertexColors -> colors], {i, 3}],
 PlotRange -> {{0, dim}, {0, dim}}];

 Manipulate[polygons[t], {t, 0, period - .03, .03}]

Or to get an animated gif (note that exporting takes quite some time)

 tab = Table[polygons[t], {t, 0, period - .03, .03}];
 Export["confetti2.gif", tab]

![enter image description here][1]


 [1]: https://i.sstatic.net/8IjyR.gif