[Дополнение к посту выше-выше: Впрочем, можно нормировать бивектор плоскости вращения не делением на синус угла поворота (тот корень в знаменателе), а с помощью скалярного произведения. При способах вычисления, использующих ось, а не плоскость вращения, аналогично вектор оси
просто нормируется.]
Вопрос лишь в том, можно ли это сделать красиво-элегантно? Т.е. хитроумной комбинацией всяких скалярных/векторных произведений, матриц и т.д. и т.п.?
Так всё более-менее «элегантно»: нормали находятся прямо из точек, поворот для делания плоскостей параллельными — по ним, потом мы их склеиваем хотя бы наикратчайшим переносом (вот этот, слава Диэдру, определён однозначно), а потом ищем движение плоскости, удовлетворяющее ограничениям на длину и углы (
и
дают нам конечный образ
, добавление
и всегда известного
— конечный образ
*, сохраняющее ориентацию движение определено). А уж потом вы можете попытаться собрать всё это в одну громадную формулу и упростить, но может статься, что одновременно и прозрачнее, и вычислительно быстрее не собирать.
* Надеюсь, углы ориентированные (ориентацию можно задать расположением
). Иначе будет четыре варианта.
-- Пт авг 18, 2017 01:46:35 --но как мне из этого нормального вектора к плоскости и углов получить единичный вектор
?
А зачем? Мы уже (надеюсь: см. выше про ориентированность углов) знаем конечное расположение
благодаря углу и длине.
Вообще, если величины
с картинки изначально даны, проще всё построить без всяких манипуляций в пространстве по данным расстояниям и углам, поворачивая векторы в плоскости
: сначала получаем
, поворачивая вектор
и меняя его длину, потом так же получаем
, потом так же получаем
. Так, кстати (если угол
тоже ориентированный), можно будет получить единственную конфигурацию в отличие от предыдущего способа, когда
может оказаться по разные стороны от прямой
.