◄ WORLD V · SONNY 5DART 493 · a helldive at the net

THE DOT PRODUCT the cross product’s twin — its sign is the angle’s class

Where the cross product measures turning, the dot product measures alignment: a·b = axbx + ayby. Its sign classifies the angle between two vectors — positive means acute (pointing broadly the same way), zero means perpendicular, negative means obtuse. Together the dot and cross give the full angle without a single trigonometric call (the cross is the sine part, the dot the cosine part). It is projection, work in physics, similarity in machine learning — the same sum of products, everywhere.

THE TECHNIQUE a·b = ax·bx + ay·by — sign: acute(+) / right(0) / obtuse(−)

The demo takes three dot products — acute, perpendicular, and obtuse — classifying each angle by sign: live demo


HISTORY & CREDIT the inner / dot product

“The angle between vectors needs arccosine.” — its class is just the sign of the dot product. cited

the value · a·b = axbx + ayby — the projection of one vector on the other, times length.
the sign · acute(+), perpendicular(0), obtuse(−) — the angle’s class, no trig.
the pair · cross = sine part (turning), dot = cosine part (alignment) — together, the full angle.

A sum of products whose sign says same-way, sideways, or against — the cross product’s complement. primitive

RECOMMEND FOR I-13 the angle class, on the compiler

On the canonical compiler, (3,4)·(4,3)=24 (acute), (1,0)·(0,1)=0 (perpendicular), (1,0)·(−1,0)=−1 (obtuse):

$ i13 run cg_dotproduct.i13 # ax*bx + ay*by RUN OK · 60 step(s) · peak stack 5 · call depth 1 acute = 24 -- positive perp = 0 -- perpendicular obtuse = -1 -- negative signs = 1
Recommend as a NULL — a computed primitive, the cross’s twin. The dot product yields a pinned value whose sign classifies the angle (B39); like the cross product it generates a number coextensive with the geometry, not a droppable channel. NULL — alignment to the cross product’s turning, and half of every angle computed without trig.