Я пытаюсь найти новое местоположение (x, y, z) между двумя уже существующими местоположениями (x, y, z).найти местоположение между двумя другими местоположениями
например. скажем, расстояние между locA и locB равно 2500. locNew всегда должно быть местоположением с расстоянием 300 и должно быть на линии locA и locB.
У меня нет проблем с поиском середины между locA и locB, но я продолжаю стучать головой, пытаясь найти locNew для этой конкретной ситуации.
Я попытался это, но она возвращает точку, а не на линии от Лока до locB:
locA = {x = 400, y = 400, z = 400}
locB = {x = 1200, y = 1200, z = 1200}
--this is wrong somehow
locNew_x = (locB.x+locA.x)-(locB.x-300)
locNew_y = (locB.y+locA.y)-(locB.y-300)
locNew_z = (locB.z+locA.z)-(locB.z-300)
locNew = {x = locNew_x, y = locNew_y, z = locNew_z}
--draws a line between two objects
DrawLine(locA, locNew)
кодирования язык не важен, так как расчет должен выглядеть «почти» то же самое в большинстве языков , имейте в виду, что они ищут решение в НЕ-математической форме.
Обновление: Стандартные решения работают, если x, y, z одинаковы, но не в том случае, если они различны, как в приведенном ниже примере.
locA = {x = 1475, y = 95, z = 838}
locB = {x = 2226, y = 110, z = 1190}
Возможный дубликат [? Нахождение координат точки между двумя точками] (http://stackoverflow.com/questions/2886092/finding-coordinates-of-a-point-between- две точки) –