Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.09;
Скачать: CL | DM;

Вниз

Определение координат точки   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
4-1101137509
Frozzen
2004-11-22 18:31
2005.01.09
Создание полигонов CreatePolygonRgn


14-1103597199
Думкин
2004-12-21 05:46
2005.01.09
С днем рождения! 21 декабря


11-1085054241
Ann
2004-05-20 15:57
2005.01.09
исходники mirror, mckObjs, mckCtrls, mcKACMIn, mckSoundctl


14-1103475077
DeMoN-777
2004-12-19 19:51
2005.01.09
Мой кот


14-1103125890
infom
2004-12-15 18:51
2005.01.09
Почему компилятором неверно обработывается код ?