![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 08.04.2008
Сообщений: 6
|
![]()
Добрый день. Время подходит к диплому... Нужно написать программу для построения орнаментов на Delphi. Прога должна строить 2D-орнамент по заданной элемнтарной ячейке (параллельным переносом в разные стороны, симметрией и т.д.).
Может кто-нибудь когда-то занимался подобной прогой. Если есть у кого-нибудь нароботки, поделитесь (можно на других языках программирования). Также с удовольствием приму ссылки на книги, статьи и т.д. на данную тему. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Начни с поиска примеров по фракталам - имхо самое оно.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 23.10.2008
Сообщений: 460
|
![]()
если есть желание стучи в аську я сделаю тебе диплом
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 08.04.2008
Сообщений: 6
|
![]()
Фракталы - это немного не то. Нужно именно орнаменты. Отличие в том, что фракталы строятся графическими способами, а мне нужно непосредственно работать с элементарной ячейкой (картинкой).
fbus, если сам ничего не придумаю, то стукну в аську. |
![]() |
![]() |
![]() |
#5 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]()
Поясните что есть "орнамент"... И про "элемнтарная ячейка" тоже...
А лучше нарисуйте схемку что куда... ![]() Да... И в каком виде нужен результат?
I am the First of Cyber Evolution...
I am the First to Program your Future... |
![]() |
![]() |
![]() |
#6 |
Регистрация: 08.04.2008
Сообщений: 6
|
![]()
Орнамент — узор, основанный на повторе и чередовании составляющих его элементов. Элементарная ячейка - эта та часть орнамента, которая повторяется (т.е. на основании которой и строится орнамент). Если немного углубиться, то вообще, существует несколько видов таких ячеек. Но если есть прога для построения орнамента на основании одного вида ячейки, то под другие переделать не проблема.
Препод конкретного задания на прогу не дал, т.к. вообще я пишу диплом по геометрии, а прога будет приложением (поскольку специальность у меня математик и системный программист). Я себе представляю это так: открываем картинку через диалоговые окошки, выбираем тип ячейки. Соответственно выбранному типу у нас на картинке будет выбираться определенная область, которая и будет являться "элементарной ячейкой". Затем на ее основании строится орнамент. Далее нужно будет еще добавить возможность строить орнаменты не только параллельным переносом, но и, например, с использованием осевой симметрии. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 08.04.2008
Сообщений: 6
|
![]()
И снова здравствуйте =)
Я продолжаю работу над проектом. По ходу дела у меня возникло несколько вопросов. Может кто поможет довести програмку до ума. В общем, на данный момент есть модуль, строящий ковер Серпинского. Правда это фрактал, и я не уверен, что его со 100%-ой вероятностью можно назвать орнаментом, т.к. это немного разные понятия. Его, если препод утвердит, планирую прикрепить к основной программе. Итак, что я имею на данный момент в основной проге. Есть 2 TImage: в один грузится исходное изображение, во втором получаем орнамент. Собственно из первого TImage мы выбираем элементарную ячейку (часть изображения или его целиком) и, скопировав выделенный фрагмент во второй TImage, параллельным переносом строим орнамент. Но, я сообразил лишь как выделить прямоугольную область. Однако элементарные ячейки могут иметь форму ромба, параллелограмма и гексагональную форму (см. приложение). Возникает вопрос, возможно ли в Delphi из TImage выбрать и скопировать область подобной формы? Другой вопрос связан со способом построения. Я пока реализовал только параллельный перенос. Но существует еще зеркальная и осевая симметрия. Хотелось бы с вашей помощью их тоже реализовать. P.S. Есть правда большое желание разобраться в этой теме. Прошу вашей помощи. Думаю, данный проект в дальнейшем еще кому-нибудь пригодиться. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 08.04.2008
Сообщений: 6
|
![]()
И еще вопрос, как сделать так, чтобы рамка, при помощи который мы выбираем часть изображения, не могла выбегать за пределы этого самого изображения?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 | 666dart666 | Помощь студентам | 11 | 04.11.2010 17:57 |
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism | savva-paladin | Софт | 18 | 02.10.2010 20:24 |
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? | redred | Общие вопросы Delphi | 10 | 11.12.2007 10:43 |
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? | dagarik | БД в Delphi | 7 | 22.10.2007 17:54 |
не StringGrid1.Cells[1,1]:='Delphi'; а вот так SG1.C[1,1]:='Delphi' | Nemesisking | Компоненты Delphi | 7 | 08.09.2007 03:27 |