The result parameters here are `undefined` so this will always create a new `Cartesian3`. You can use the same scratch used for `meanPoint` and add two more. Use the same values when normalizing too:

```javascript
var scratchCartesian1 = new Cartesian3(); // declare outside the function (same one used for meanPoint
// ...

// eigenvectors of covMatrix
var v1 = Matrix3.getColumn(unitaryMatrix, 0, scratchCartesian1);
// ...

var r = Cartesian3.normalize(v1, v1);
// ...
```