Determining the covariance of point clouds in real-time
To make the Online variance algorithm
work for vectors, change one line:

M2 += np.outer( delta, delta2 )  # deltas 3-vecs, M2 3 x 3

# outer( x, y ) is pairs x[i] * y[j] --
# [[ x0 y0, x0 y1, x0 y2 ],
#  [ x1 y0, x1 y1, x1 y2 ],
#  [ x2 y0, x2 y1, x2 y2 ]]


A small python class for this is under gist.github.com/denis-bz .
It can covariance points with uniform weights (FIR),
or up-weight newer data (IIR), or both.

Is there a tutorial on your application with 3d point clouds ?