| Математический форум Math Help Planet http://mathhelpplanet.com/ |
|
| Вычисление оптимальной точки пересечения окружностей http://mathhelpplanet.com/viewtopic.php?f=33&t=36552 |
Страница 1 из 2 |
| Автор: | Ony [ 05 ноя 2014, 13:27 ] |
| Заголовок сообщения: | Вычисление оптимальной точки пересечения окружностей |
Я не математик, поэтому пожалуйста, не ругайте меня строго, если раздел не совсем подходящий ![]() Собственно есть задача по вычислению оптимальной точки, которая находится в области пересечения большинства окружностей, т.е. попадает внутрь большинства окружностей. Исходные данные: - Список точек центра окружностей - Дистанция = радиус от центра окружности. Необходимо вычислить точку (и саму область) в области, полученной из точек пересечения окружностей (если окружности пересекаются), которая бы включала в себя области большинства из окружностей (размер области не важен). Т.е. областей пересечения может быть несколько, в этом случает нам подойдет та, которая включает в себя части большинства окружностей. Может ли кто-нибудь с этим помочь ? Большое спасибо!
|
|
| Автор: | Andy [ 06 ноя 2014, 09:01 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
Ony, а не о кругах ли речь вместо окружностей? |
|
| Автор: | Ony [ 06 ноя 2014, 12:48 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
да, все верно, спасибо за корректировку прошу прощения за ошибочную терминологию.
|
|
| Автор: | Andy [ 06 ноя 2014, 14:28 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
Ony, каковы размеры плоской области, в которой могут располагаться круги? Как могут соотноситься между собой радиусы кругов, одновременно находящихся в области? Каковы максимальные и минимальные значения радиусов кругов? Сколько кругов может быть размещено в области? Мы ещё не рассматриваем методы решения задачи, но только подготавливаем задание тому, кто возьмётся её решать. Поэтому подумайте, в каком виде Вам нужно это решение: в виде графика; в виде системы неравенств; в виде координат отдельной точки (с наложением дополнительных условий или без них)? |
|
| Автор: | Ony [ 06 ноя 2014, 21:17 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
Все данные случайны (т.е. данных о радиусе, как соотносятся и т.п. нет), по поводу количества - чаще всего в районе 2-10, реже больше. Максимально думаю 50 (но это крайне редко). Размеры неизвестны. Радиусы тоже неизвестны, но относительно друг друга чаще всего они относятся как от 1 к 1 до 1 к 3. Решение мне нужно в виде функции, в которую я смогу подставить конкретные данные для конкретного случае и получить результат. Результат - список крайних точек полигона (координат X,Y). Да и наверное стоит уточнить задачу, чтобы было понятнее (т.к. изначально не очень корректно видимо поставлена). Исходные круги - это модельки персонажей (назовем их мобы). Мы ищем область, в которой на дистанции от мобов наш персонаж может атаковать. Т.е. фактически нам нужно найти место, куда если мы поставим своего персонажа он будет доставать до большинства мобов. Собственно исходные фигуры, пересечения которых нужно найти, это "бублики", которые образуются из круга - модель персонажей (крайняя внутренняя граница) и дистанции (радиус бублика) на которой мы можем атаковать - дистанция эта равная для всех "бубликов". Пересение бОльшинства бубликов - это та область которую нам нужно найти (точнее точки этого полигона, чтобы иметь данные об области). Либо необязательно область, достаточно будет точки, в которой мы точно сможем атаковать, т.е. из которой дистанция до моба будет достаточной для большинства мобов. Пересечений может быть несколько (т.е. например 2 бублика могут пересекаться между собой и еще 3 между собой, в этом случае нам нужно выбрать то пересечение, в котором участвуют больше бубликов, размер пересечения не важен). Итого исходные данные: (для каждого моба, кол-во неизвестно, но в среднем это 2-10 мобов, реже до 30). A(Х,Y) - координаты центра моба Ar - радиус модели моба D - дистанция нашей атаки. спасибо за помощь ![]() p.s. я буду формулу в итоге переводить в C# |
|
| Автор: | Andy [ 06 ноя 2014, 21:25 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
Ony, "решение в виде функции", по-моему, при указанных Вами условиях не просматривается. |
|
| Автор: | Ony [ 06 ноя 2014, 21:32 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
почему? |
|
| Автор: | Andy [ 06 ноя 2014, 21:34 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
Ony, потому что область пересечения нескольких кругов в общем случае состоит не из одной точки. |
|
| Автор: | Ony [ 06 ноя 2014, 21:36 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
как я выше отметила - решением может быть координаты крайних точек области (собственно координаты области), это тоже подходит, необязательно конкретная (любая) точка внутри области, хотя и это подойдет. |
|
| Автор: | Andy [ 06 ноя 2014, 21:42 ] |
| Заголовок сообщения: | Re: Вычисление оптимальной точки пересечения окружностей |
Ony, оставим детали в стороне - их Вам предстоит обсудить с разработчиком алгоритма. Усеките свои требования до как можно меньшего числа нераспространённых предложений, чтобы их можно было формализовать математически. |
|
| Страница 1 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|