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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2010, 12:39   #1
rik_nel
Пользователь
 
Аватар для rik_nel
 
Регистрация: 05.08.2010
Сообщений: 44
По умолчанию Геометрия в Си

Здраствуйте.
Не могли бы помочь з задачой, хоть алгоритм растолковать, а то я никак не в`еду.
Задача:Даны два множества точек на плоскости Выбрать три различные точки первого множества так, что бы круг, ограниченный окружностью, проходящей через эти три точки содержал все точки второго множества и имел минимальную площадь.
Зарание всем спасибо за помощь.
Хочеш змінити світ - почни з себе.(Марк Аврелій)
rik_nel вне форума Ответить с цитированием
Старый 14.12.2010, 13:06   #2
ToxaR
Новичок
Джуниор
 
Регистрация: 14.12.2010
Сообщений: 3
По умолчанию

Тут тебе скорее всего нужно создать 2 массива, задать рандомом числа, естесно положительные (так как плоскость).
И подбирать точки которые тебе дадут данный результат. Наверно пользуясь форулами куруга.
ToxaR вне форума Ответить с цитированием
Старый 14.12.2010, 13:15   #3
rik_nel
Пользователь
 
Аватар для rik_nel
 
Регистрация: 05.08.2010
Сообщений: 44
По умолчанию

Блин, алгоритм ужє вроде понял, но как его реализовать в коде не доходит.
Я так понимаю в тройном цыкле я буду проверять точки первого множества, а вот на что проверять не знаю.
Хочеш змінити світ - почни з себе.(Марк Аврелій)
rik_nel вне форума Ответить с цитированием
Старый 14.12.2010, 13:28   #4
V0id
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 30
По умолчанию

Для начала вот: http://thelogin.ru/wiki/Получение_ур...заданные_точки

1. Пробежать в циклах по всем точкам первого множества, которые не совпадают с точками второго множества, выбирая три из него.
2. Если точки лежат на одной прямой, перейти к следующей итерации п.1, иначе - получить радиус(R) окружности и ее центр.
3. Определить, целиком ли попадает второе множество в эту окружность.
4. Посчитать площать круга S. Если полученное значение S меньше значения площади на предыдущей итерации Sпред, то Sпред = S.
5. Перейти к следующей итерации п.1.

Как-то так, ИМХО)

Последний раз редактировалось V0id; 14.12.2010 в 13:30. Причина: перепутал множества))
V0id вне форума Ответить с цитированием
Старый 14.12.2010, 13:35   #5
rik_nel
Пользователь
 
Аватар для rik_nel
 
Регистрация: 05.08.2010
Сообщений: 44
По умолчанию

V0id, Спасибо, а тот код по ссылке мне чем-то поможэт ?
Хочеш змінити світ - почни з себе.(Марк Аврелій)
rik_nel вне форума Ответить с цитированием
Старый 14.12.2010, 13:43   #6
V0id
Пользователь
 
Регистрация: 12.12.2010
Сообщений: 30
По умолчанию

Цитата:
Сообщение от rik_nel Посмотреть сообщение
V0id, Спасибо, а тот код по ссылке мне чем-то поможэт ?
По идее, должен помочь во втором шаге. Там как раз есть функция, определяющая центр и радиус окружности, и проверяющая принадлежат ли все три точки ей.
V0id вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Геометрия zumm Свободное общение 3 07.07.2010 18:37
Вычислительная геометрия на С Soull Помощь студентам 7 18.05.2010 12:54
масив+геометрия 123love Паскаль, Turbo Pascal, PascalABC.NET 2 05.05.2010 09:21
Си геометрия Денни Помощь студентам 11 05.03.2010 09:41
Геометрия Levsha100 Помощь студентам 5 29.09.2009 09:56