Форум: "Прочее";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];
ВнизКак заполнить bitmap неперекрещивающимися фигурами в цикле? Найти похожие ветки
← →
Dr.Andrew (2009-04-17 18:00) [0]Добрый день, Мастера!
Подскажите как можно квадратный битмап, например, 32 пиксела на 32 пискела заполнить неперекрещивающимися фигурами (круги, треугольники, многоугольники) в цикле и с использованием ScanLine[y]. Буду весьма признателен за практический пример. Спасибо.
← →
{RASkov} © (2009-04-17 18:34) [1]Что-то не понятно
> [0] Dr.Andrew (17.04.09 18:00)
> Буду весьма признателен за практический пример
Ты свой неработающий код покажи.... глядишь, допрём тут...
← →
clickmaker © (2009-04-17 18:41) [2]> неперекрещивающимися фигурами (круги, треугольники, многоугольники)
> в цикле
для каждой фигуры задать регион, запомнить в списке
перед тем как нарисовать следующую, проверять в цикле, не попадают ли ее точки в один из регионов, если да - сдвигать, пока не будет попадать
← →
clickmaker © (2009-04-17 18:45) [3]а вообще задача напоминает классическую тему "раскрой" или "оптимизация размещения фигур на плоскости".
если порядок фигур не должен быть случайным, то для облегчения задачи лучше их отсортировать по убыванию площадей...
← →
Dr.Andrew (2009-04-17 19:23) [4]спасибо за идеи и дискуссию.
1. если бы был код, то было бы легче, но я и попросил помощи, чобы хоть представить себе каким он может быть.
2. порядок фигур значения не имеет, так битмап должен заполняться только одним типом фигур, например, круг. Но, с варьируемым диаметром от наименьшего до наибольшего.
clickmaker
спасибо в том что Вы пишите есть мне кажется интересная идея с регионами, Вы можете набросать хотя бы примерный и пусть даже неработающий код, чтобы хоть с чего то начать.
Спасибо.
← →
Denis__ © (2009-04-17 22:28) [5]procedure ZapolnitBitmap(var bmp : TBitmap; ShapeType : Byte);
begin
//Тут заполняем.
end;
P.S. Код даже компилитсо!
← →
Dr.Andrew (2009-04-17 22:46) [6]Спасибо Денис. Здорово. код просто гениальный. А если серьезно может быть кто-то видел что-то аналогичное? если никто из Мастеров не может привести хотя бы приближенный пример. В инете пересмотрел, но ничего конкретного не нашел. Буду благодарен любой ссылке по теме. Спасибо!
← →
Denis__ © (2009-04-17 23:36) [7]
> 2. порядок фигур значения не имеет, так битмап должен заполняться
> только одним типом фигур, например, круг. Но, с варьируемым
> диаметром от наименьшего до наибольшего.
1) проверяем, r >= rMin? нет - го4, да: круг с центром (r, r), проверяем, помещается ли он на битмап. если нет r := r - 1, го1. Если да:проверяем пересекается ли он с чем-либо. да - го2, нет - го3
2) го1(r,r+1), го1(r+1, r), го4
3)рисуем круг(r, r, r), го1(r, r*2), го1(r*2, r), го4
4)выход
Чо-то я тут замудрил%), но кажется идея правильная))) Мб там где-то выход из рекурсии лишний.
← →
Германн © (2009-04-18 00:48) [8]
> Denis__ © (17.04.09 23:36) [7]
Автору идеи не нужны. Ему нужен именно код!
> пусть даже неработающий
Есть такие новички, которым нужна некая "рыба", которую они могли бы пробовать переделать не прочитав прежде никаких учебников.
P.S.
Не имею в виду данного автора. Просто мне попадались и такие новички, которые могли открыть уже созданный проект, а вот создать новый затруднялись :)
← →
Dr.Andrew (2009-04-18 01:04) [9]Спасибо за идеи и соображения по поводу автора.
Германн
Зачем же всех под одну геребенку. Здесь ведь диссукия с Мастерами и если даже нет кода есть возможно обсудить идею и обсудить ее так чтобы стало понятно для реализации. А после меня эту тему будут читать тысячи пользователей, среди которых вероятно будут и те, кому эти рассуждения так же будут интересны как мне. Так что не стоит так грубо отзываться об авторе вопроса в дискуссионном клубе. Спасибо.
Denis
Спасибо, идея понятна, попробую что-то реализовать.
Есть еще идеи или примеры кодов? в том чиле и в инете, которые мне не попадались?
Спасибо.
← →
Германн © (2009-04-18 01:19) [10]
> Dr.Andrew (18.04.09 01:04) [9]
>
> Спасибо за идеи и соображения по поводу автора.
>
> Германн
> Зачем же всех под одну геребенку. Здесь ведь диссукия с
> Мастерами и если даже нет кода есть возможно обсудить идею
> и обсудить ее так чтобы стало понятно для реализации. А
> после меня эту тему будут читать тысячи пользователей, среди
> которых вероятно будут и те, кому эти рассуждения так же
> будут интересны как мне. Так что не стоит так грубо отзываться
> об авторе вопроса в дискуссионном клубе. Спасибо.
А я разве "всех под одну гребёнку"?
Я сказал "есть такие".
Если ты не "такой", то подтверди это!
← →
Dr.Andrew (2009-04-18 02:18) [11]Спасибо. Мастера и этого форума.
Герман, я уже Вам ответил, что здесь обсуждаются идеи алгоритма, и я буду признателен любым идеям. Пожалуйста, не используйте дискуссию, я так полаю интересную не только мне в пустословие. Если есть что сказать по делу - пишите, а нет не мешайте дискуссии. Доказывают дураки. а умные учатся и обсуждают. Спасибо.
← →
Германн © (2009-04-18 02:39) [12]
> Dr.Andrew (18.04.09 02:18) [11]
>
> Спасибо. Мастера и этого форума.
>
> Герман, я уже Вам ответил
Мой ник "Германн".
Примите и прочь!
← →
Германн © (2009-04-18 02:56) [13]
> Dr.Andrew (18.04.09 02:18) [11]
>
> Спасибо. Мастера и этого форума.
>
> Герман, я уже Вам ответил, что здесь обсуждаются идеи алгоритма,
> и я буду признателен любым идеям. Пожалуйста, не используйте
> дискуссию
Хм.А где тут "дискуссия"?
Тут есть только
> 1. если бы был код, то было бы легче, но я и попросил помощи,
> чобы хоть представить себе каким он может быть.
>
Имхо, "вечные троешники" идут лесом!
← →
Dr.Andrew (2009-04-18 17:37) [14]Германн
Лично для Вас - если человек дурак - то это надолго.
← →
Denis__ © (2009-04-18 17:45) [15]Dr.Andrew, Вы далеко продвинулись? Может наработки покажете, код? Тогда узнаем, кто тут дурак.
← →
Германн © (2009-04-19 01:21) [16]
> Dr.Andrew (18.04.09 17:37) [14]
>
> Германн
>
> Лично для Вас
Если уж лично для меня, то не могу не ответить.
Дискуссия (от лат. discussio — рассмотрение, исследование), публичное обсуждение какого-либо спорного вопроса, проблемы; спор. Двумя важнейшими характеристиками дискуссии, отличающими её от других видов спора, являются публичность (наличие аудитории) и аргументированность. Обсуждая спорную (дискуссионную) проблему, в которой каждая сторона, оппонируя мнению собеседника, аргументирует свою позицию.
(с) wiki.
А тут никакой дискуссией никогда и не пахло. Был только очень надоедший многим "дайте код".
Типичная позиция троешника, который в течение учебного периода никак себя не затруднял. А вот к решающим испытаниям решил срочно получить что-то хотя бы на тройку.
"Ты всё пела - это дело! Так поди же попляши."
Примите и прочь.
P.S. А дураком (или как иначе) можешь обзывать меня хоть в каждом своём посте. Мне это абсолютно до лампочки,
← →
test © (2009-04-19 12:05) [17]Почитай про изометричискую проекцию в играх, там как раз таки строиться очередь вывода, и перекрещивающиеся не выводятся.
← →
test © (2009-04-19 12:11) [18]Denis__ © (18.04.09 17:45) [15]
Dr.Andrew (18.04.09 17:37) [14]
Вам везет что мастера не подошли, ветка бы исчезла вместе!
← →
test © (2009-04-19 12:16) [19]>>Вам везет что мастера не подошли, ветка бы исчезла вместе!
Вместе с вашими шедеврами!
← →
antonn © (2009-04-19 12:53) [20]
> Dr.Andrew (17.04.09 18:00)
само рисование в этой задаче является далеко не самым сложным и важным, алгоритм расположения фигур без пересечения уже есть?
← →
int64 (2009-04-19 14:07) [21]Dr.Andrew (17.04.09 18:00)
Фигуры из какого-то набора? Какой критерий заполнения: по количеству фигур, по покрытию площади?
Зачем в постановке задачи: "битмап", "в цикле", "ScanLine"?
Какого вам практического примера, когда вы задачу сформулировать не можете.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.007 c