Does it matter for an explosion? It'd be so fast you won't really notice.
Anyway I think it should work if instead of giving each triangle a random velocity, just give it a velocity equal to it's offset from the centre of the mesh.
That means that triangles further from the centre will fly out faster than those in the middle though, so you'll have to divide the resulting velocities by whichever of them is the largest (i.e. a triangle at offset 10.0, 12.0, 4.0 will get velocities of 10.0/12.0, 12.0/12.0 and 4.0/12.0, which works out to 5/6, 1 and 1/3).
If you want you can then multiply all the velocities by some constant scale factor to make them fly away faster or slower.
Anyway, no maths is involved except some simple divisions :-)
EDIT: This is in fact exactly the method Dark Half suggested, and no, you aren't way off base.
Anyway I think it should work if instead of giving each triangle a random velocity, just give it a velocity equal to it's offset from the centre of the mesh.
That means that triangles further from the centre will fly out faster than those in the middle though, so you'll have to divide the resulting velocities by whichever of them is the largest (i.e. a triangle at offset 10.0, 12.0, 4.0 will get velocities of 10.0/12.0, 12.0/12.0 and 4.0/12.0, which works out to 5/6, 1 and 1/3).
If you want you can then multiply all the velocities by some constant scale factor to make them fly away faster or slower.
Anyway, no maths is involved except some simple divisions :-)
EDIT: This is in fact exactly the method Dark Half suggested, and no, you aren't way off base.