Разработка программы-приложения "Построение композиции геометрических объектов"

Разработка программы-приложения для создания композиции кривых второго порядка в полярных координатах. Описание используемых констант, переменных, компонентов, процедур и функций. Источники входной и выходной информации. Требования к программе и системе.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 28.05.2014
Размер файла 125,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Чайковский филиал

Федерального государственного бюджетного образовательного учреждения

Высшего профессионального образования

"Пермский национальный исследовательский политехнический университет"

Кафедра автоматизации, инженерных и информационных технологий

Реферат

по дисциплине: Компьютерная графика

Тема: Разработка программы-приложения "Построение композиции геометрических объектов"

Выполнил ст. гр. БИ-10дн

Карачинский Е.С.

Проверил доцент Русских Т.И.

2014

Введение

Компьютерная графика в настоящее время уже вполне сформировалась как наука. Существует аппаратное и программное обеспечение для получения разнообразных изображений - от простых чертежей до реалистичных образов естественных объектов. Компьютерная графика используется почти во всех научных и инженерных дисциплинах для наглядности восприятия и передачи информации. Знание её основ в наше время необходимо любому ученому или инженеру.

Среди многообразия возможностей, предоставляемых современными вычислительными средствами, те, что основаны на пространственно-образном мышлении человека, занимают особое место. Современные программно-оперативные средства компьютерной графики представляют собой весьма эффективный инструмент поддержки такого мышления при выполнении работ самых разных видов. С другой стороны именно пространственно-образное мышление является неформальной творческой основой для расширения изобразительных возможностей компьютеров. Это важное обстоятельство предполагает взаимно обогащающее сотрудничество всё более совершенной техники и человека со всем богатством знания, накопленного предшествующими поколениями. Поэтому столь привлекательной оказывается компьютерная визуализация, особенно визуализация динамическая, которую следует рассматривать как важнейший инструмент для обучения наукам.

В ходе выполнения курсовой работы моей целью было создать программу создания композиции кривых второго порядка в полярных координатах.

Основная часть курсовой работы должна состоять из пунктов, которые должны включать описание всех используемых констант, переменных, процедур и функций. Все виды сформированных в программе графических примитивов, интерфейс пользователя подлежат подробному описанию и обоснованию. В основной части курсовой работы необходимо определить источники входной информации для решения задачи, а так же форму представления выходной графической информации. Текст основной части должен содержать ссылки на приложения или включать в себя фрагменты кода программы или графические элементы.

1. Основная часть

Основной задачей в курсовой работе является разработка приложения, которое должно позволять вводить выражение функции и строить график, а также сохранять график в файле и размещать несколько графиков на экране.

Данным приложением может пользоваться любой человек, которому необходимо наглядно увидеть как выглядят кривые второго порядка.

1.1 Описание используемых констант, переменных, компонентов, процедур и функций

Программа состоит из одного модуля 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

A

Строка ввода

Предназначен для ввода коэффициента А

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

Процедура

Предназначена для выхода из программы

1.2 Источники входной и выходной информации

К входным данным относится информация, вводимая пользователем в данной программе это коэффициент Р в уравнении параболы и коэффициент А в уравнение гиперболы.

Выходной информацией является результат вычисления функций, он выводится в виде графика, который в свою очередь можно сохранит во внешнем файле в виде изображения.

1.3 Требования к программе

Для стабильного функционирования приложения и для того чтобы не нарушать целостности данных необходимо выполнять ряд требований при работе с программой:

­ Вводимые данные проверять на соответствие.

­ Внимательно читать информацию, представленную на кнопках приложения.

Программа должна быть интуитивно понятной и иметь не раздражающий интерфейс.

1.4 Требования к системе

Для стабильного функционирования данной автоматизированной системы необходим ряд минимальных системных требований:

1 Операционная система Microsoft Windows XP (SP2).

2 Процессор Intel Pentium 1,4 или AMD Athlon 64 +1400.

3 256 Мб оперативной памяти.

4 Видео адаптер с памятью 32 мб.

5 Монитор Super VGA с разрешением 800™600 точек или более высоким, поддерживающий 256 цветов

6 Мышь Microsoft Mouse, или совместимое устройство.

7 Установленный пакет программ MS Office.

8 Свободное место на жестком диске 2мб.

9 Устройство для чтения CD дисков.

1.5 Выбор средств и технологии проектирования

Основной средой программирования при разработке данной программы была выбрана среда программирования 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.

Приложение 1. Интерфейс программы

приложение программа композиция кривая

Приложение 2. Листинг программы

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, pngimage, IWVCLBaseControl, IWBaseControl,

IWBaseHTMLControl, IWControl, IWExtCtrls;

type

TForm1 = class (TForm)

Image1: TImage;

Button1: TButton;

Label2: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit4: TEdit;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Label3: TLabel;

Label5: TLabel;

Label1: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure Button5Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *. dfm}

procedure Giperbol (Canvas: TCanvas; A: integer);

var

x, y: integer;

function Giperbola (X: integer): integer;

begin

result: = round (A / X);

end;

begin

Canvas. MoveTo (0,250);

For X: =-250 to 250 do

if x <> 0 then

Canvas. LineTo (X+250, Giperbola (X) +250);

end;

procedure Parabol (Canvas: TCanvas; p: integer);

var

x: integer;

function Parabola (X: integer): integer;

begin

result: =Round (- (sqr ( (2*X) /p)));

end;

begin

Canvas. MoveTo (0,0);

For X: =-250 to 250 do

Canvas. LineTo (X+250, Parabola (X) +250);

end;

procedure TForm1. Button1Click (Sender: TObject);

var x,y,step: integer;

x2,y2: real;

begin

// рисование сетки

x: =image1. width div 2;

y: = (image1. height div 2);

image1. Canvas. MoveTo (image1. Width div 2, 0);

image1. Canvas. LineTo (image1. Width div 2, image1. Height);

image1. Canvas. MoveTo (0, image1. Height div 2);

image1. Canvas. LineTo (image1. Width, image1. Height div 2);

step: =30;

while x-step>5 do begin

// по Х

image1. Canvas. MoveTo (x-step,y);

Image1. Canvas. LineTo (x-step,y-5);

Image1. Canvas. MoveTo (x+step,y);

Image1. Canvas. LineTo (x+step,y-5);

// по Y

image1. Canvas. MoveTo (x,y-step);

Image1. Canvas. LineTo (x+5,y-step);

image1. Canvas. MoveTo (x,y+step);

Image1. Canvas. LineTo (x+5,y+step);

// рисование цифр

Image1. Canvas. TextOut (x-step-4,y+5,FloatToStr (-step / 30));

Image1. Canvas. TextOut (x+step-4,y+5,FloatToStr (step / 30));

if y-step-5>0 then begin

form1. Image1. Canvas. TextOut (x+10,y-step-10,FloatToStr (step / 30));

form1. Image1. Canvas. TextOut (x+10,y+step-5,FloatToStr (-step / 30));

end;

inc (step,30);

end;

Parabol (image1. Canvas, StrToInt (Edit4. Text));

end;

procedure TForm1. Button2Click (Sender: TObject);

var x,y,step: integer;

x2,y2: real;

begin

// рисование сетки

x: =image1. width div 2;

y: = (image1. height div 2);

image1. Canvas. MoveTo (image1. Width div 2, 0);

image1. Canvas. LineTo (image1. Width div 2, image1. Height);

image1. Canvas. MoveTo (0, image1. Height div 2);

image1. Canvas. LineTo (image1. Width, image1. Height div 2);

step: =30;

while x-step>5 do begin

// по Х

image1. Canvas. MoveTo (x-step,y);

Image1. Canvas. LineTo (x-step,y-5);

Image1. Canvas. MoveTo (x+step,y);

Image1. Canvas. LineTo (x+step,y-5);

// по Y

image1. Canvas. MoveTo (x,y-step);

Image1. Canvas. LineTo (x+5,y-step);

image1. Canvas. MoveTo (x,y+step);

Image1. Canvas. LineTo (x+5,y+step);

// рисование цифр

Image1. Canvas. TextOut (x-step-4,y+5,FloatToStr (-step / 30));

Image1. Canvas. TextOut (x+step-4,y+5,FloatToStr (step / 30));

if y-step-5>0 then begin

form1. Image1. Canvas. TextOut (x+10,y-step-10,FloatToStr (step / 30));

form1. Image1. Canvas. TextOut (x+10,y+step-5,FloatToStr (-step / 30));

end;

inc (step,30);

end;

Giperbol (image1. Canvas, StrToInt (Edit2. Text));

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

Image1. Picture. SaveTofile ('1. jpg');

ShowMessage ('график сохранен')

end;

procedure TForm1. Button4Click (Sender: TObject);

var x,y,step: integer;

x2,y2: real;

begin

image1. Canvas. FillRect (image1. Canvas. ClipRect);

// рисование сетки

x: =image1. width div 2;

y: = (image1. height div 2);

image1. Canvas. MoveTo (image1. Width div 2, 0);

image1. Canvas. LineTo (image1. Width div 2, image1. Height);

image1. Canvas. MoveTo (0, image1. Height div 2);

image1. Canvas. LineTo (image1. Width, image1. Height div 2);

step: =30;

while x-step>5 do begin

// по Х

image1. Canvas. MoveTo (x-step,y);

Image1. Canvas. LineTo (x-step,y-5);

Image1. Canvas. MoveTo (x+step,y);

Image1. Canvas. LineTo (x+step,y-5);

// по Y

image1. Canvas. MoveTo (x,y-step);

Image1. Canvas. LineTo (x+5,y-step);

image1. Canvas. MoveTo (x,y+step);

Image1. Canvas. LineTo (x+5,y+step);

// рисование цифр

Image1. Canvas. TextOut (x-step-4,y+5,FloatToStr (-step / 30));

Image1. Canvas. TextOut (x+step-4,y+5,FloatToStr (step / 30));

if y-step-5>0 then begin

form1. Image1. Canvas. TextOut (x+10,y-step-10,FloatToStr (step / 30));

form1. Image1. Canvas. TextOut (x+10,y+step-5,FloatToStr (-step / 30));

end;

inc (step,30);

end;

end;

procedure TForm1. Button5Click (Sender: TObject);

begin

close;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Теоретические основы разработки приложения, реализующего подсвечивание ключевых слов. Описание используемых процедур и функций, структуры программы, интерфейса пользователя. Системные требования для работы приложения, анализ результаты его тестирования.

    курсовая работа [1,2 M], добавлен 07.07.2012

  • Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.

    реферат [513,1 K], добавлен 22.10.2012

  • Создание приложения, исполняющего трансляцию программы из языка Паскаль в язык Си: разработка алгоритма реализации задачи, описание необходимых констант, переменных, функций и операторов, представление листинга программы и распечатка результатов.

    курсовая работа [305,9 K], добавлен 03.07.2011

  • Создание и реализация программы в среде визуального программирования С++ Builder. Разработка ее алгоритма. Описание компонентов и их свойств, используемых в структуре приложения. Создание кнопок создания турниров по круговой системе и на выбывание.

    курсовая работа [4,6 M], добавлен 12.11.2013

  • Описание предметной области. Компоненты и палитра компонентов. Выбор архитектуры приложения. Структурные и функциональные схемы. Описание разрабатываемых процедур и функций, таблица идентификаторов. Выбор стратегии тестирования и разработка тестов.

    дипломная работа [8,2 M], добавлен 18.06.2014

  • Разработка программного продукта - приложения, позволяющего заносить данные анкетирования в базу данных MS SQL. Описание логики работы приложения, особенности пользовательского интерфейса. Формы просмотра анкет, описание процедур и функций программы.

    курсовая работа [1,2 M], добавлен 16.08.2012

  • Описание аппаратных и программных средств, операционной системы. Описание входной и выходной информации. Информационно-логическая модель данных. Схема взаимодействия входной и выходной информации. Расчет трудоемкости и стоимости обработки информации.

    курсовая работа [2,4 M], добавлен 05.07.2015

  • Разработка в среде Delphi приложения "Записная книжка" для ввода и корректировки информации, поиска данных. Выбор состава технических и программных средств. Текст программы, ее описание и тестирование. Основные условия программы, требования к компьютеру.

    курсовая работа [565,7 K], добавлен 08.12.2011

  • Визуальная разработка приложений баз данных. Характеристика визуальных компонентов среды разработки Builder 6.0, используемых в данном приложении. Программная реализация приложения, разработка форм и вкладок. Тестирование приложения, листинг программы.

    курсовая работа [3,1 M], добавлен 28.03.2011

  • Характеристика программы для реализации проектов, созданных в формате трехмерного моделирования. Классификация кривых 2-го порядка. Построение окружности, эллипса, гиперболы и параболы в системе координат с помощью программного обеспечения 3D MAX.

    контрольная работа [667,7 K], добавлен 18.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.