Форум: "Игры";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизОпределение координат точки Найти похожие ветки
← →
BRemB (2004-09-13 10:36) [0]Добрый день, мастера! У меня такая задача, на плоскости лежат три (может быть и больше) точки, мы знаем их координаты. Необходимо установить (если это возможно) четвертую точку на определенные расстояния от первых трех. Например, три точки A,B,C имееют координаты (X1,Y1), (X2,Y2) и (X3,Y3). Надо установить точку D на расстоянии до точки A рывным r1, до точки B равным r2, до точки С равным r3. Подскажите пожалуйста алгоритм. Если можно еще решить задачу и для большего количества точек, в примере их 3, а можно ли решить так, чтоб пользователь сам задавал количество точек. Для одной и двух точек ищется путем решения системы уравнений, а здесь как?
← →
wiz © (2004-09-13 10:54) [1]ну... во-первых, ты понимаешь, что твоя задача (даже для трёх точек и трёх радиусов) - переопределена, т.е. в зависимости от условий, она может и не иметь (и скорее всего не будет иметь) решений ???
Вернее она будет иметь иметь решения для любой пары точек и пары радиусов, но эти решения не будут пересекаться
← →
BRemB (2004-09-13 11:08) [2]Да, я это прекрасно понимаю, т.е. вся задача сводится к решению попарных уравнений, т.е. поиск точки пересечения первой и второй окружности, второй и третьей, третьей и первой? Если координаты совпадают, то мы получили найденную координату. Т.е. задача своидится к простому перебору?
← →
wiz © (2004-09-13 15:58) [3]ну да... по-крайней мере пока я больше решений не вижу. Вечерком еще раз подумаю, мож чего еще придёт в голову
← →
NikotiN © (2004-09-13 17:16) [4]Что все забыли как строить равнобедренный треугольник, зная две точки и длину двух сторон?
Геометрический способ(не связан с компом):
1. строишь из каждой точки окружность. Все точки, лежащие на линии, равноудалены от первой точки. :)
2. Строишь из второй точки окружность.... Те точки, где окружности пересекаются (1-2 шт) - равноудалённые точки от двух базовых точек.
3. Строишь окружность на 3 точке. Если она пересекает те 1-2 точки(хотя две навряд ли), то место пересечения - равноудалённая точка от всех трёх....
.....
Как написать.
Сначала ищешь общие точки окружностей от двух точек. Это легко. Построй треугольник, ты ведь знаешь расстояние между точками, а также две других стороны(радиусы), находишь координаты общей точки(третья вершина треугольника), не забудь, что точек может быть две штуки (с двух сторон, относительно линии заданной этими точками).
Теперь же проще, просто сравниваешь расстояние от найденных точек, до оставшихся базовых....
подробнее? а то я и так немного намудрил... :)
← →
wiz © (2004-09-13 18:20) [5]2 NikotiN: хрм-м-м... ты уж меня извини, но чем твой алгоритм отличается от "...ищется путем решения системы уравнений..." (c)BRemB ??????
← →
wiz © (2004-09-13 18:22) [6]PS (2 NikotiN): Кроме того, читай внимательнее пост [1]... Человека интересуют различные радиусы от точек. (Конечно, это сильно ничего не меняет, но всё же...)
← →
NikotiN © (2004-09-13 19:49) [7]wiz © (13.09.04 18:22) [6] это вообще ничего не меняет
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.05 c