|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Программно-аппаратные требования
Продукт тестировался на следующих конфигурациях: CPU: Intel Atom 450 1GHz RAM: 2GB OS: Windows 8 Developer Preview x86
CPU: AMD Phenom II X3 3.2GHz RAM: 4GB OS: Windows 7 Professional x64
Единственным минимальным требованием к аппаратному обеспечению является разрешение экрана: более, чем 1024x600 px для вписывания канвы в экран.
Язык или среда программирования
Продукт выполнен на языке программирования C++ с использованием среды разработки CodeGear C++ Builder 2009 и библиотеки оконных приложений VCL.,
Входные и выходные данные
Входными данными в программу являются: • Тип фрактала для синтеза • Координаты точек, необходимых для начала синтеза изображения • Глубина фрактала
Выходными данными являются: • Синтезированный фрактал на дочернем окне-канве программы • Изображение в формате *.BMP
Структура программы
Программа состоит из двух основных частей – окон Основного и Канвы. Оба являются объектами класса TForm библиотеки VCL. Кроме того, основная форма располагает на себе кнопки – TButton, поля текстового ввода TEdit, выпадающее меню TComboBox, и подписи с подсказками – объекты класса TLabel. Дочерняя форма содержит главное меню (TMainMenu), объект класса TSaveDialog, предназначенный для инициализации окна сохранения файла, и объект класса TImage который использовался для рисования изображений. Кроме всего перечисленного в логике основной формы, где и происходит вычисление всех координат для рисования, используются функции и структуры данных из библиотеки STL языка С++. Список использованных дополнительных библиотек: • algorithm • math.h
Описание структурных элементов программы
Основная форма
Основная форма и логика вычисления координат для рисования фракталов описаны в следующих файлах: • Unit1.dfm • Unit1.h • Unit1.cpp
Файл Unit1.dfm представляет из себя структурированное описание свойств формы и ее элементов таких как физические характеристики (размеры, расположение), значения по умолчанию и др. Файл Unit1.h содержит описание класса TMainForm, который наследуется от абстрактного класса TForm, а так же его полей и методов. Наша основная форма является объектом этого класса. Файл Unit1.cpp содержит логику методов класса TMainForm, а именно:
void pithagorasTree(point p1, point p2, double angle,int level); void cantorSet(point a, point b, int level); void kochCurve(point p1, point p2, double angle, int level); void dragonCurve(point a, point b, int level); void rounds(point p, int size, int level); void sierpinskiCarpet(point a, double size, int level); void canvasStatus(int type); bool validate(int type);
Методы с названиями соответствующие названиями фракталов отвечают за логику вычисления координат для рисования фрактала на очереднеой итерации. Метод canvasStatus используется для своевременного отображения процесса рисования на канве в случае если процесс занимает продолжительное время. Метод validate разбирает введенные данные и проверяет их на корректность. Кроме того в файле описаны дополнительные структуры данных, использованные в проекте (struct point), и вспомогательные функции, используемые основными методами рисования, как, например, функция вычисления координат крайних точек отрезка после поворота вокруг одной из них (getNewCoord).
Дочерняя форма
Дочерняя форма описана в файлах • Unit2.dfm • Unit2.h • Unit2.cpp
Структура файлов такая же, как и у Основной формы. Файл Unit2.dfm описывает свойства формы и ее элементов, файл Unit2.h описывает класс TCanvasForm, наследуемый от класса TForm, а файл Unit2.cpp описывает единственный метод этого класса TCanvasForm::N2Click, который обеспечивает вызов диалог сохранения файла и записывает содержимое канвы с указанный пользователем файл. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |