Плоскость P определяется точкой p0 и нормалью n. Легко определить, что P пересекается с Z = 0 на линии l. Мне нужно повернуть P с осью l, чтобы P совпадал с Z = 0. Я могу векторов расставить по точкам произведение, чтобы вычислить угол между нормалью n и осью z, чтобы определить угол между P и Z = 0 (cosAngle = n. (0,0,1) / (| n | * 1)). Но этот угол не скажет вам, что вы должны вращаться вокруг l по часовой стрелке или против часовой стрелки. В математических викторинах, как правило, предоставляется рисунок, чтобы вы знали, какой способ поворота. Но в программировании такого рисунка нет. Как определить, каким образом правильно и эффективно вращаться?