Russian Qt Forum
Ноябрь 23, 2024, 06:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Уменьшить 8-угольник  (Прочитано 2779 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Январь 17, 2012, 19:44 »

Добрый день

Условия задачи похожи на предыдущие http://www.prog.org.ruindex.php?topic=20586.msg140403#msg140403

На плоскости есть выпуклый 8-угольник с центром в точке (0, 0). Дается точка p внутри 8-угольника.
Задача: уменьшить 8-угольник таким образом чтобы

- точка p лежала на одном из его ребер (или в вершине)
- 8-угольник оставался конвексным (выпуклым)
- "потери площади" от уменьшения были минимальны

Пример: пусть точки 8-угольника лежат "по сторонам света" и точка p находится на "северо-западе". Тогда нужно подтянуть к центру точки: северо-запад,, север и/или запад (но не трогать юг и восток)

Общая задача (зачем это нужно): заполнить поверхность 8-угольниками, которые могут перекрываться но центр одного не лежит внутри другого. Поэтому не требуется строго доказывать что новый 8-угольник "абсолютно оптимальный", нужен инженерный алгоритм который работал бы максимально быстро.

Также не стоит делать предположений что точки 8-углоьника равноудалены от центра, в отдельных случаях расстояния могут отличаться в 5-10 раз

Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.135 секунд. Запросов: 22.