Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2010, 14:50   #1
Soull
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 10
Вопрос Вычислительная геометрия на С

Заданы координаты N точек. Определить те две точки, проведенная через которые прямая делит имеющиеся точки пополам.
Soull вне форума Ответить с цитированием
Старый 17.05.2010, 15:16   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

В чем проблема ?
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 17.05.2010, 16:13   #3
Soull
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Z1000000 Посмотреть сообщение
В чем проблема ?
Проблема , как эти точки найти.
Soull вне форума Ответить с цитированием
Старый 17.05.2010, 16:47   #4
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Найти их просто: перебором всех пар точек и вычислением для остальных точек по какую сторону от образованной прямой они находятся.

Если находится такая пара, что половина оставшихся точек находится по одну, а половина по другую сторону - то , по крайней мере, одна пара точек найдена. Если не находится - то нет такой пары
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 17.05.2010, 16:59   #5
Soull
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Z1000000 Посмотреть сообщение
перебором всех пар точек и вычислением для остальных точек по какую сторону от образованной прямой они находятся.(
Я не могу понять , как можно проверить по какую сторону они находятся и сколько их. Не доходит до меня
Soull вне форума Ответить с цитированием
Старый 17.05.2010, 19:38   #6
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Для пары точек , образующих прямую, с координатам X1,Y1 и X2,Y2 и точки положение которой нужно проверить с координатами X,Y строишь квадратную матрицу порядка 3:
X1 X2 X
Y1 Y2 Y
1 1 1
Находишь определитель этой матрицы. Если определитель:
Равен 0 - точка лежит на прямой - это тебе не нужно.
Если положителен - то точка лежит по одну сторону от прямой.
Если отрицателен - по другую сторону.
Вот и все. Как в сказке про Алису и голубую гусеницу на грибе
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 17.05.2010, 21:22   #7
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

Тут еще вопрос в ограничениях. Ваше решение имеет сложность O(n^3). Если точек будет не больше 100, то все хорошо. А если больше - тут уже совсем другая история...
O(n)
sabbathist вне форума Ответить с цитированием
Старый 18.05.2010, 12:54   #8
Soull
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Z1000000 Посмотреть сообщение
Для пары точек , образующих прямую, с координатам X1,Y1 и X2,Y2 и точки положение которой нужно проверить с координатами X,Y строишь квадратную матрицу порядка 3:
X1 X2 X
Y1 Y2 Y
1 1 1
Находишь определитель этой матрицы. Если определитель:
Равен 0 - точка лежит на прямой - это тебе не нужно.
Если положителен - то точка лежит по одну сторону от прямой.
Если отрицателен - по другую сторону.
Вот и все. Как в сказке про Алису и голубую гусеницу на грибе
Спасибо большое))) Это гениально просто
Soull вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
масив+геометрия 123love Паскаль, Turbo Pascal, PascalABC.NET 2 05.05.2010 09:21
Си геометрия Денни Помощь студентам 11 05.03.2010 09:41
Вычислительная эквивалентность исполнителей Анатолий 111 Помощь студентам 0 25.12.2009 00:38
Геометрия Levsha100 Помощь студентам 5 29.09.2009 09:56