Министерство образования и науки Российской Федерации
Чайковский филиал
Федерального государственного бюджетного образовательного учреждения
Высшего профессионального образования
"Пермский национальный исследовательский политехнический университет"
Кафедра автоматизации, инженерных и информационных технологий
Реферат
по дисциплине: Компьютерная графика
Тема: Разработка программы-приложения
"Построение композиции геометрических объектов"
Выполнил ст. гр. БИ-10дн
Карачинский Е.С.
Проверил доцент Русских Т.И.
Компьютерная графика в настоящее время уже вполне сформировалась как наука. Существует аппаратное и программное обеспечение для получения разнообразных изображений - от простых чертежей до реалистичных образов естественных объектов. Компьютерная графика используется почти во всех научных и инженерных дисциплинах для наглядности восприятия и передачи информации. Знание её основ в наше время необходимо любому ученому или инженеру.
Среди многообразия возможностей, предоставляемых современными вычислительными средствами, те, что основаны на пространственно-образном мышлении человека, занимают особое место. Современные программно-оперативные средства компьютерной графики представляют собой весьма эффективный инструмент поддержки такого мышления при выполнении работ самых разных видов. С другой стороны именно пространственно-образное мышление является неформальной творческой основой для расширения изобразительных возможностей компьютеров. Это важное обстоятельство предполагает взаимно обогащающее сотрудничество всё более совершенной техники и человека со всем богатством знания, накопленного предшествующими поколениями. Поэтому столь привлекательной оказывается компьютерная визуализация, особенно визуализация динамическая, которую следует рассматривать как важнейший инструмент для обучения наукам.
В ходе выполнения курсовой работы моей целью было создать программу создания композиции кривых второго порядка в полярных координатах.
Основная часть курсовой работы должна состоять из
пунктов, которые должны включать описание всех используемых констант,
переменных, процедур и функций. Все виды сформированных в программе графических
примитивов, интерфейс пользователя подлежат подробному описанию и обоснованию.
В основной части курсовой работы необходимо определить источники входной
информации для решения задачи, а так же форму представления выходной
графической информации. Текст основной части должен содержать ссылки на
приложения или включать в себя фрагменты кода программы или графические элементы.
Основной задачей в курсовой работе является разработка приложения, которое должно позволять вводить выражение функции и строить график, а также сохранять график в файле и размещать несколько графиков на экране.
Данным приложением может пользоваться любой человек, которому
необходимо наглядно увидеть как выглядят кривые второго порядка.
Программа состоит из одного модуля Unit3. Этот модуль содержит свой набор констант, переменных, процедур и функций. Названия переменных, тип и назначение указаны в таблицах 1-3.
Таблица 1 - Переменные в модуле Unit3
Данные
Название
Тип
Примечания
1
2
3
4
x
Переменная
Integer
Координата
абциссы по оси х
y
Переменная
Integer
Координата
ординаты по оси y
step
Переменная
Integer
шаг
Таблица 2 - Компоненты в модуле
Unit3
Данные
Название
Тип
Примечания
Button1
Парабола
Кнопка
Предназначена
для построения графика параболы
Button2
Гипербола
Кнопка
Предназначена
для построения графика гиперболы
Button3
сохранить
Кнопка
Предназначена
для сохранения графика в файл
Button4
очистка
Кнопка
Предназначена
для очистки области построения графиков
Button5
выход
Кнопка
Предназначена
для выхода из программы
Edit1
P
Строка ввода
Предназначен
для ввода коэффициента Р
Edit2 Строка ввода
Предназначен
для ввода коэффициента А
Image1
Image1
Изображение
Предназначена
для размещения графика функций
Таблица 3 - Процедуры и функции модуля Unit3
procedure
TForm1. Button1Click (Sender: TObject);
Нажатие Button1
Процедура
Предназначена
для выполнения процедуры нажатие кнопки "Парабола"
procedure
TForm1. Button2Click (Sender: TObject);
Нажатие Button2
Процедура
Предназначена
для выполнения процедуры нажатие кнопки "Гипербола"
procedure
TForm1. Button3Click (Sender: TObject);
Нажатие Button3
Процедура
Предназначена
для выполнения процедуры сохранения графика в файл
procedure
TForm1. Button4Click (Sender: TObject);
Нажатие Button4
Процедура
Предназначена
для очистки области построения графиков
procedure
TForm1. Button5Click (Sender: TObject);
Нажатие Button5
Процедура
Предназначена
для выхода из программы
К входным данным относится информация, вводимая пользователем
в данной программе это коэффициент Р в уравнении параболы и коэффициент А в
уравнение гиперболы.
Выходной информацией является результат вычисления функций,
он выводится в виде графика, который в свою очередь можно сохранит во внешнем
файле в виде изображения.
Для стабильного функционирования
приложения и для того чтобы не нарушать целостности данных необходимо выполнять
ряд требований при работе с программой:
Вводимые данные проверять
на соответствие.
Внимательно читать
информацию, представленную на кнопках приложения.
Программа должна быть интуитивно понятной
и иметь не раздражающий интерфейс.
Для стабильного функционирования данной
автоматизированной системы необходим ряд минимальных системных требований:
Операционная система Microsoft Windows XP (SP2).
2 Процессор Intel Pentium 1,4 или AMD Athlon 64
+1400.
3 256 Мб оперативной памяти.
Видео адаптер с памятью 32 мб.
5 Монитор Super VGA с разрешением 800™600 точек или
более высоким, поддерживающий 256 цветов
6 Мышь Microsoft Mouse, или совместимое устройство.
7 Установленный пакет программ MS Office.
8 Свободное место на жестком диске
2мб.
Устройство для чтения CD дисков.
Основной средой программирования при разработке данной
программы была выбрана среда программирования Delphi.
Borland Delphi - это интегрированная среда
разработки программного обеспечения фирмы Borland. Delphi является средой RAD
(от англ. rapid application development - быстрая разработка приложений). Язык
программирования, который используется в одноимённой среде разработки. Ранее
это был Object Pascal, разработанный фирмой Borland и изначально реализованный
в её пакете Borland Delphi, от которого и получил в 2003 году своё нынешнее
название. Object Pascal является наследником языка Pascal с
объектно-ориентированными расширениями.
Изначально среда разработки была
предназначена исключительно для разработки приложений Microsoft Windows.
Реализация среды разработки проектом Lazarus (Free Pascal) позволяет
использовать его для создания приложений на Delphi для таких платформ, как
GNU/Linux, Mac OS X и Windows CE. Для реализации работы базы данных была
использованная интегрированная среда разработки Delphi9, т.к. она является
более удобной в отличие от Pascal или C++, имеет визуальные компоненты, проста в
использовании, также существует возможность добавления библиотек.
Достоинства Delphi7:
элементы языков
программирования, в том числе Generics и анонимные методы для Delphi, позволяют
создавать более гибкий и качественный код и предоставляют новые возможности для
рефакторинга;
библиотека VCL включает в
себя массу усовершенствований и новых компонентов для создания развитого
графического интерфейса;
веб-библиотека VCL
позволяет создавать веб-приложения с развитым интерфейсом с поддержкой AJAX и
Microsoft Silverlight;
быстрое время передачи
написанным приложением сообщений операционной системе;
проектирование и
разработка баз данных благодаря входящему в состав редакции Delphi Architect
профессионального средства моделирования Embarcadero - ER/Studio.
приложение программа композиция кривая
unit Unit3;, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms,, ExtCtrls, StdCtrls, pngimage,
IWVCLBaseControl, IWBaseControl,, IWControl, IWExtCtrls;= class (TForm):
TImage;: TButton;: TLabel;: TEdit;: TLabel;: TEdit;: TButton;: TButton;:
TButton;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;:
TLabel;Button1Click (Sender: TObject);Button2Click (Sender:
TObject);Button3Click (Sender: TObject);Button4Click (Sender:
TObject);Button5Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;
{$R *. dfm}Giperbol (Canvas: TCanvas; A:
integer);, y: integer;Giperbola (X: integer): integer;: = round (A / X);;.
MoveTo (0,250);X: =-250 to 250 dox <> 0 then. LineTo (X+250, Giperbola
(X) +250);;Parabol (Canvas: TCanvas; p: integer);: integer;Parabola (X:
integer): integer;: =Round (- (sqr ( (2*X) /p)));;. MoveTo (0,0);X: =-250 to
250 do. LineTo (X+250, Parabola (X) +250);;TForm1. Button1Click (Sender:
TObject);x,y,step: integer;
x2,y2: real;
// рисование сетки
x: =image1. width div 2;: = (image1. height div
2);. Canvas. MoveTo (image1. Width div 2, 0);. Canvas. LineTo (image1. Width
div 2, image1. Height);. Canvas. MoveTo (0, image1. Height div 2);. Canvas.
LineTo (image1. Width, image1. Height div 2);: =30;x-step>5 do begin
// по Х. Canvas. MoveTo (x-step,y);. Canvas. LineTo (x-step,y-5);.
Canvas. MoveTo (x+step,y);. Canvas. LineTo (x+step,y-5);
// по Y. Canvas. MoveTo (x,y-step);. Canvas. LineTo
(x+5,y-step);. Canvas. MoveTo (x,y+step);. Canvas. LineTo (x+5,y+step);
// рисование цифр. Canvas. TextOut (x-step-4,y+5,FloatToStr (-step
/ 30));. Canvas. TextOut (x+step-4,y+5,FloatToStr (step / 30));y-step-5>0
then begin. Image1. Canvas. TextOut (x+10,y-step-10,FloatToStr (step / 30));.
Image1. Canvas. TextOut (x+10,y+step-5,FloatToStr (-step /
30));;(step,30);;(image1. Canvas, StrToInt (Edit4. Text));;TForm1. Button2Click
(Sender: TObject);x,y,step: integer;
x2,y2: real;
// рисование сетки
x: =image1. width div 2;: = (image1. height div
2);. Canvas. MoveTo (image1. Width div 2, 0);. Canvas. LineTo (image1. Width
div 2, image1. Height);. Canvas. MoveTo (0, image1. Height div 2);. Canvas.
LineTo (image1. Width, image1. Height div 2);: =30;x-step>5 do begin
// по Х. Canvas. MoveTo (x-step,y);. Canvas. LineTo (x-step,y-5);.
Canvas. MoveTo (x+step,y);. Canvas. LineTo (x+step,y-5);
// по Y. Canvas. MoveTo (x,y-step);. Canvas. LineTo
(x+5,y-step);. Canvas. MoveTo (x,y+step);. Canvas. LineTo (x+5,y+step);
// рисование цифр. Canvas. TextOut (x-step-4,y+5,FloatToStr (-step
/ 30));. Canvas. TextOut (x+step-4,y+5,FloatToStr (step / 30));y-step-5>0
then begin. Image1. Canvas. TextOut (x+10,y-step-10,FloatToStr (step / 30));.
Image1. Canvas. TextOut (x+10,y+step-5,FloatToStr (-step /
30));;(step,30);;(image1. Canvas, StrToInt (Edit2. Text));;TForm1. Button3Click
(Sender: TObject);. Picture. SaveTofile ('1. jpg');('график сохранен');TForm1.
Button4Click (Sender: TObject);x,y,step: integer;,y2: real;. Canvas. FillRect
(image1. Canvas. ClipRect); y: = (image1. height div 2);. Canvas. MoveTo
(image1. Width div 2, 0);. Canvas. LineTo (image1. Width div 2, image1.
Height);. Canvas. MoveTo (0, image1. Height div 2);. Canvas. LineTo (image1.
Width, image1. Height div 2);: =30;x-step>5 do begin
// по Х. Canvas. MoveTo (x-step,y);. Canvas. LineTo (x-step,y-5);.
Canvas. MoveTo (x+step,y);. Canvas. LineTo (x+step,y-5);
// по Y. Canvas. MoveTo (x,y-step);. Canvas. LineTo
(x+5,y-step);. Canvas. MoveTo (x,y+step);. Canvas. LineTo (x+5,y+step);
// рисование цифр. Canvas. TextOut (x-step-4,y+5,FloatToStr (-step
/ 30));. Canvas. TextOut (x+step-4,y+5,FloatToStr (step / 30));y-step-5>0
then begin. Image1. Canvas. TextOut (x+10,y-step-10,FloatToStr (step / 30));.
Image1. Canvas. TextOut (x+10,y+step-5,FloatToStr (-step / 30));;(step,30);;;TForm1.
Button5Click (Sender: TObject);
begin;;.
1.2 Источники
входной и выходной информации
1.3
Требования к программе
1.4
Требования к системе
1.5 Выбор
средств и технологии проектирования
Приложение 1.
Интерфейс программы
Приложение 2.
Листинг программы