Поиск:

Ответ в темуСоздание новой темы Создание опроса
> генератор мозаики 
:(
    Опции темы
alya
Дата 12.2.2008, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



привет, народ!
я читала много информации в Сети, ничего не нашла по своему вопросу
помогите пожалуйста с моей задачей

нужно создать генерировать мозаику в области в виде прямоугольника

входные данные:
1) тип фигуры (участвуют только многоугольники), 
2) процентное соотношение фигур (допустим, 50% треугольников, 25% квадратов, 25% шестиугольников)

расположение фигур внутри прямоугольника любое

я даже близко не представляю как это сделать... если есть какие-то идеи, напишите пжл

П.С. реализация должна быть на с++
PM MAIL   Вверх
alya
Дата 12.2.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



или может подскажете, какие разделы математики нужно применить для решения задачи?
PM MAIL   Вверх
alya
Дата 12.2.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я тут надумала такой вариант, но он мне совсем не нравится

допустим, известно что что в прямоугольную область всего помещается примерно 50 фигур

тогда определяем количество фигур каждого типа (из приведенного выше в моем посте примера получается треугольников - 25шт, квадратов - 13шт (округл. до целого), шестиугольников - 13 шт)

прямоугольную область, в которую нужно вписать эти фигуры, представлям в виде матрицы
0 х 0 х 0 х 0 х 0....
х 0 х 0 х 0 х 0 х....
0 х 0 х 0 х 0 х 0....
.............................
где 0 - потенциальная вершина фигуры, а х - это невершина

ну и начинается исследование этой матрицы и соединение вершин. Там где рисуется фигура, ставится цифра. Чтобы не запутаться, надо ввести обозначения, н-р, треугольники обозначаются цифрой 1, квадраты - цифрой 2 и т.д.
На выходе алгоритма примерно такая матрица:
2 х 2 х 1 х 0 х 0....
х 0 х 1 х 0 х 0 х....
2 х 2 х 0 х 0 х 0....
.............................
Здесь четыре "2" описывают квадрат, а верхняя правая вершина квадрата + две "1" опишут треугольник.

м-да, какой кошмар...
PM MAIL   Вверх
PPS05
Дата 12.2.2008, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 6.11.2005
Где: Беларусь, Минск

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



Только, наверное, это будет не матрица, а некого рода сетка, так, чтобы вершины всех фигур ложились на вершины этой сетки. Для приведенного примера я бы взял регулярную сетку, где каждая вершина имеет 6 соседей по ребру... Ну, а других реализаций пока не вижу...


--------------------
Ушел с форума и не вернулся.
PM MAIL ICQ   Вверх
alya
Дата 12.2.2008, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



PPS05, спасибо за ответ
я сказала матрица потому что сразу думала о методе реализации...
расскажите подробней про сетку, почему 6 соседей?
PM MAIL   Вверх
PPS05
Дата 12.2.2008, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 6.11.2005
Где: Беларусь, Минск

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



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


--------------------
Ушел с форума и не вернулся.
PM MAIL ICQ   Вверх
alya
Дата 12.2.2008, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



PPS05, а что значит "регулярная сетка"?
PM MAIL   Вверх
PPS05
Дата 12.2.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 6.11.2005
Где: Беларусь, Минск

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



...Пришлось поискать, как дать нормальное определение:
Цитата

Регулярность заключается в том, что сетка представляет собой упорядоченную по определенным правилам структуру с явно выраженными сеточными направлениями, которые, в общем случае, представляют собой криволинейную систему координат.


Добавлено через 39 секунд
Что-то я завернул...


--------------------
Ушел с форума и не вернулся.
PM MAIL ICQ   Вверх
alya
Дата 12.2.2008, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



PPS05, спасибоsmile
все нормально, вроде поняла
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


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

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


 




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


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

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