Я пытался получить точку пересечения некоторых 3D-линий. Линии представлены в виде
Строка: с + т*р. Линии на самом деле не пересекаются, поэтому я хотел бы получить точку в 3D, чтобы расстояние от этой точки до всех линий было минимальным.
Я нашел решения для поиска пересечения двух линий, но в моем случае это набор линий, например, 5 или более.
Я нашел решение, которое представляет собой расстояние между точкой a и линией l: p+t*r (p — начальная точка, r — вектор направления, t — скалярное значение) как
d(a,l) = (|| r x (p-a) ||)/|| r || =
|| ([r]x/||r||)a - ([r]x/||r||) p ||
решение которого говорит, что второе уравнение является задачей минимизации методом наименьших квадратов вида
|| Ax-b ||
и решение: x = (At A)^-1 * At*b , At - транспонирование A, но я не могу отформатировать его здесь.
Как я могу написать матрицу A и вектор b, если у меня есть несколько строк?