Shows two vectors a and b on a 2D grid. Vector b rotates through negative to positive alignment while its length changes, demonstrating that cosine similarity depends on direction (angle θ) rather than magnitude. The dot product is visualized as b’s projection onto a, and a side panel displays dot(a,b), norms, and the normalized cosine similarity with a live [-1,1] meter.
Time-based animation rotates b across ±150° and modulates ||b|| to emphasize magnitude-independence. Uses grid snapping for a retro blocky look, polyline arcs for circle/angle, and a projection segment to connect dot product to geometric interpretation.