Я работаю над проектом, в котором у меня есть инструмент компоновки позиционирования (станция), который отправляет лазерный указатель, и когда этот лазерный указатель попадает на отражатель, он дает мне координаты X, Y и Z отражателя,в том числе расстояние, горизонтальный и вертикальный угол станции.эта станция имеет свою собственную систему координат, является начальной позицией, и эти значения относятся к ней.
Что я хочу сделать, это прочитать значения (x, y, z) с этой станции и отобразить ихв виде точек или объектов в гололинсовом представлении с использованием unity3D.Проблема в том, что у меня есть две разные системы координат, система координат, которая начинается с (0,0,0) при запуске приложения, и система координат станции, которая начинается с самой станции.Что я сделал, так это то, что я породил 3 известные точки в пространстве Гололенса, которые я хочу привязать к станции, я проверяю координаты этих 3 точек относительно станции, затем у меня есть 6 перекрывающихся точек, поступающих из разных источников, ииспользуя матрицы, я пытаюсь найти положение и вращение станции в пространстве гололинз.
Это грубый рисунок того, чего я хочу достичь:
Справа - станция, а слева - гололинза, X1, X2 и X3 - это координаты, которые я получаю от станции относительно источника станций, эти координаты xy и z, а также вертикальный и горизонтальный углы - эторезультат лазерной указки, покидающей станцию и поражающей отражатель.X1 'X2' и X3 '- это точки, относящиеся к пространству гололинза, с перекрытием этих точек, но с разными координатами, я хочу получить начало координат X1 X2 и X3 в пространстве гололинзы, которое является позицией станции.
Есть ли способ, которым я мог бы достичь этого лучше?Где я могу найти положение этой станции в пространстве гололинз, имея другие точечные координаты, исходящие от этой станции и относящиеся к ней?