Блог пользователя IWANTTOSUBMIT

Автор IWANTTOSUBMIT, 13 лет назад, По-русски
Помогите пожалуйста решить такую задачку.

В некой трёхмерной Галактике есть планета П с координатами (x, y, z). В текущий момент от планеты П находятся три спутника A, B, C на расстояниях a, b, c от планеты П и с координатами (x1, y1, z1), (x2, y2, z2), (x3, y3, z3).

Нужно найти координаты x, y и z планеты П по всем остальным имеющимся данным.
  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Ну у тебя есть три сферы с центрами в Xi, Yi, Zi и радиусами Ri (где Ri = a, b или c, в зависимости от i). Требуется найти точку их пересечения. Записываешь три уравнения, объединяешь их в систему, решаешь.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Вроде еще так можно. Если А,В,С лежат в одной плоскости, то переходим в 2D и решаем, иначе, у нас есть 2 плоскости АВП и ВПС. Они пересекаются по прямой с точками В и П. Тогда найдем из системы уравнений 2ух плоскостей еще какую то точку на этой прямой - Т. Ну теперь у нас есть вектор ВТ - нормируем и умножаем на расстояние.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Вам надо решить такую систему уравнений. Перуменные здесь - x,y,z. Остальное - данные входного файла. Можно решить в общем виде и вбить результат в программу.

Уравнения берутся из условия расстояния.

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Я правильно описал ход решения постом выше? :-)

    > если повычитать... видимо там получится 2 уравнения 1й степени, из них выразить что-то и вставить в третье - второй степени. Решить его и все остальные.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Почему 2? Вроде 1 со 2, 2 с 3 и 1 с 3.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Да. В общем-то таким же методом это решается для произвольной размерности. Только уже лучше не ручками.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Мне кажется, численно не очень сложно это решить. 2 спутника в общем случае задают окружность, на которой должна лежать планета, нужно найти пересечение этой окружности с третьей сферой. Заводим отрезок, который "вращается" по этой окружности как радиус, и анализируем расстояние, на котором эта точка от третьего спутника.
Кстати, в общем случае решения будет 2 (именно поэтому решение системы действительно геморно), поэтому классическая задача - о 4-х спутниках, там точно в общем случае не более 1 решения...
  • 13 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится +3 Проголосовать: не нравится

    Зачем численно тогда уж? Найти проекцию третьего спутника на плоскость, в которой лежит окружность, являющаяся пересечением сфер первого и второго. Потом в этой плоскости пересечь две окружности.
    Если я правильно понял, это не то, что предложено здесь.