Author Topic: ищу точку в пространстве, никак не найду.  (Read 2054 times)

0 Members and 1 Guest are viewing this topic.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
  задачка такова. есть у меня точка в 3д пространстве (пусть будет А), координаты хуz этой точки известны. точку А можно перемещать в любом направлении, при перемещении ее координаты также известны. также существует точка Б, эта точка недвижима, стоит на месте, координаты не известны. также имеем расстояние от точки А до Б, естественно оно изменяется в зависимости от местонахождения точки А. как вы уже поняли, нужно найти координаты точки Б.
  насколько я понял, имея начальные координаты точки А и начальное расстояние от точки А до точки Б, и сравнив эти данные с обновленными (смещаем в рандомном направлении точку А), скорее всего можно определить координаты точки Б. возможно я и заблуждаюсь. если кто знает варианты расчетов, делитесь, буду рад любой помощи.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
 все бы ничего, если бы я мог так лихо управлять точкой А. она у меня не очень маневренная  :D. и сместить ее вдоль плоскости круга врядли у меня получится.
но я тут подумал немного, у меня же есть все возможные варианты координат точки Б (ну или почти все, хотелось бы чтоб были все). тоесть смотрим пункт 2. смещаем в рандомном направлении, второй замер, все возможные варианты нахождения точки Б будут лежать на окружности пересечения первого и второго шаров. проверяем с какими из возможных координат точек Б эта окружность пересекается. ну и имеем искомую точку... либо сразу ищем пересечение точки с шаром, пункт 1.
 мне бы еще расчеты, формулы и т.п.. так лень самому всё делать и искать  ;D.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
сорри, туплю, не проснулся еще  ;D . всеж намного проще. допустим у меня будет список всех возможных координат точки Б. имеем точные координаты точки А. вычисляем расстояние от точки А до всех возможных точек Б. сравниваем это значение с тем расстоянием которое нам дано.
расчет расстояния:
ха, уа, zа - точка А
хb, уb, zb - точка Б

sqrt(pow(dist(ха, уа, хb, уb),2)+pow((zа-zb),2))

если расстояние совпадает с двумя точками, то можно рандомно переместить точку А, и наблюдать, к какой точке ближе.

очень жал, что dist работает только с целыми числами, с дробными приходится заменять ее на формулу пифагора.