Умножение числа a на b можно интерпретировать как умножение вектора (a;0) на (0;b), и если кратчайший поворот от вектора a до вектора b осуществляется против часовой стрелки, то ответ |ab| берётся со знаком "+", иначе с "-".
То есть 1*1 =+1 (угол поворота от вектора (1;0) к вектору (0;1) равен +90°), а (-1)*1=-1 (угол поворота от (-1;0) к (0;1) равен -90°), а (-1)*(-1)=1 потому, что поворот от вектора (-1;0 к (0;-1) равен +90°).
("Истории давние и недавние". В.И.Арнольд)
Очень поучительно, спасибо, Александр!
спасибо
Потому что если перевернуть один минус вертикально и положить его на второй горизонтальный минус, то получится плюс. Всё предельно легко и ясно.