АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Программно-аппаратные требования

Читайте также:
  1. I. Значение владения движимыми вещами (бумагами на предъявителя и правами требования как вещами)
  2. II Требования к содержанию и оформлению работ
  3. II. Общие требования безопасности
  4. II. Общие требования и правила оформления текстов исследовательских работ.
  5. II. Требования к структуре образовательной программы дошкольного образования и ее объему
  6. III. Основные требования, предъявляемые к документам
  7. III. Требования к оформлению
  8. III. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ
  9. IV. Единые требования к использованию и сохранности учебников для учеников и их законных представителей
  10. V. Требования к подготовке и оформлению конкурсной работы
  11. Аппаратов, прокаченных до 20 уровня, требования к защитному и атакующему составляющему не выставляются, все на усмотре
  12. Ассортимент изделий из пластмасс. Классификация, основные виды и требования к изделиям из пластмасс.

 

Продукт тестировался на следующих конфигурациях:

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, который обеспечивает вызов диалог сохранения файла и записывает содержимое канвы с указанный пользователем файл.


1 | 2 | 3 | 4 | 5 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)