public static Point GetRandomUnitVector () {
Point unitVector = new Point();
double length = 0.0f;
for (int i = 0; i < DIMENSIONS; i++) {
unitVector.Side[i] = (double) _rr.NextDouble();
length += unitVector.Side[i]*unitVector.Side[i];
}
length = (double) Math.Sqrt(length);
for (int i = 0; i < DIMENSIONS; i++) {
unitVector.Side[i] /= length;
}
#if USE_HEIGHT
unitVector.Height = 0.0f;
unitVector.Height = (double) _rr.NextDouble();
#endif
return unitVector;
}
public override string ToString() {