Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти количество точек лежащих внутри 2D фигуры 
:(
    Опции темы
m1st
Дата 15.11.2014, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 1.11.2006

Репутация: нет
Всего: нет



Условие задачи:
user posted image

Подскажите, куда копать?

Уточнения:
  •     Фигура может начинаться из любой точки (не обязательно из x = 1 и y = 1).
  •     Вид фигур (треугольник, прямоугольник и тд.) неизвестен.
  •     Фигуры не имеют самопересечений/дыр, только 1 внутренняя область.
  •     Положительные целые числа координат могут использоваться чтобы заключить, что входные данные неверны.
  •     4/8-соединение — на Ваше усмотрение (описать выбор в ту или иную пользу).
  •     Строгих ограничений по времени и памяти нет.


Это сообщение отредактировал(а) m1st - 19.11.2014, 04:55
PM MAIL   Вверх
sQu1rr
Дата 15.11.2014, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 1
Всего: 13



PM MAIL Skype GTalk   Вверх
m1st
Дата 19.11.2014, 04:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 1.11.2006

Репутация: нет
Всего: нет



Добавил в шапку:

Код

Уточнения:
        Фигура может начинаться из любой точки (не обязательно из x = 1 и y = 1).
        Вид фигур (треугольник, прямоугольник и тд.) неизвестен.
        Фигуры не имеют самопересечений/дыр, только 1 внутренняя область.
        Положительные целые числа координат могут использоваться чтобы заключить, что входные данные неверны.
        4/8-соединение — на Ваше усмотрение (описать выбор в ту или иную пользу).
        Строгих ограничений по времени и памяти нет.

PM MAIL   Вверх
sQu1rr
Дата 19.11.2014, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 1
Всего: 13



Ну так и что у вас не получается, вы же не думаете, что здесь всем нечего делать и мы только ждем за кого бы решить задачу
PM MAIL Skype GTalk   Вверх
m1st
Дата 19.11.2014, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 1.11.2006

Репутация: нет
Всего: нет



Цитата(sQu1rr @ 19.11.2014,  12:59)
Ну так и что у вас не получается, вы же не думаете, что здесь всем нечего делать и мы только ждем за кого бы решить задачу

В процессе. В первом посте ясно написно: подсказать, а не решить.
PM MAIL   Вверх
sQu1rr
Дата 20.11.2014, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 11.11.2008
Где: london

Репутация: 1
Всего: 13



Цитата(m1st @  19.11.2014,  19:53 Найти цитируемый пост)
В процессе. В первом посте ясно написно: подсказать, а не решить. 


Цитата(sQu1rr @  15.11.2014,  19:05 Найти цитируемый пост)
http://en.wikipedia.org/wiki/Depth-first_search

Добавлено через 23 секунды
http://en.wikipedia.org/wiki/Flood_fill 

Вот два алгоритма.

Первый - поиск в глубину, применяется при решении лабиринтов, потом я подумал и скинул алгоритм "заливки". Грубо говоря, ведь вам это и нужно. У вас есть контур фигуры и точка *внутри* фигуры, то есть точка откуда начинается заливка. Вместо того что бы "красить" "пиксели" вам нужно их считать. вот

алгоритм прост до невозможности:
начинаете в точке которая дана, счетчик += 1, помечаете точку как пройденную. рекурсивно вызываете эту же функцию для прилежащих точек, которые не пройденный и не контур.

Можно и без рекурсии, опять же смотрите flood fill на вики
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.