Dimension d = 3 Input vector

mean angle to random rows

std dev of angles

max |new coord|

std dev of new coords

angle between x and each row of Π

In high-d, all angles cluster near 90°

new coordinate values (= dot products with rows)

All similar magnitude because all angles ≈ 90°

original coordinates after rotation (= dot products with random dirs)

Before vs after: spiky becomes uniform because each coord = ⟨row_i, x⟩ ≈ cos(~90°)

angle std dev (decreasing = more concentrated at 90°)

Angle concentration vs dimension: higher d → angles pack tighter around 90°