3D: написать функцию, чтобы найти конфигурацию треугольника - PullRequest
0 голосов
/ 31 января 2010

http://i45.tinypic.com/2vlv384.jpg

В трехмерном пространстве с заданными P1 и P2 и двумя присоединенными звеньями от конца к концу с длинами L1 и L2 соответственно, link1 начинается с P1. Напишите функцию, которая находит конфигурации ссылок, которые помещают конец 2-й ссылки в точку P1. Я не знаю, с чего начать ... Какая именно "конфигурация соединения" должна быть (как вывод): вектор (например, 2i -3j + 5k)? Или точечная координата точки соединения или что ..?

Я думаю, что существует бесконечное количество решений в 3D и 2 решения в 2D, и я пытаюсь использовать одно из них для 1-го шага для 3D.

Учитывая P1 (x1, y1, z1), P2 (x2, y2, z2), L1 и L2, все, о чем я могу думать, это: преобразовать в новую систему координат (хотя и не уверен, как), чтобы P1 стал 0,0,0) и P2 становится (d, 0,0) где d = расстояние (P1, P2). Теперь мы сведем его к двумерной задаче, где нам нужно найти P3 (x, y, 0) в новой системе координат, такой, что P3 - это L1 из (0,0,0) и L2 из (d, 0,0) ).

Я думаю, что мы можем найти ровно два решения P3 (x3, +/- y3), когда мы фиксируем z на 0. И затем мне нужно преобразовать его обратно в исходную систему координат ... и координата z должна выкинуть в ... но я понятия не имею, как.

1 Ответ

1 голос
/ 31 января 2010

Звучит так, будто вы ищете точку P, которая находится на расстоянии L1 от P1 и на расстоянии L2 от P2.

Решениями для этого в n-измерениях являются пересечения радиуса L1 центра n-сферы P1 и радиуса L2 центра n-сферы.

Вот решение этой проблемы в 3d: http://mathworld.wolfram.com/Sphere-SphereIntersection.html

В 3d будет либо 1 решение (когда сферы просто касаются), либо решения, которые образуют круг (центр на линии между P1 и P2), либо решение не будет (когда L1 + L2 меньше расстояния между P1 и P2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...