Разработка алгоритма обратной трассировки лучей

Назначение и цели создания системы. Характеристика объектов автоматизации. Модели освещения: Фонга, Блинна, Ламберта. Прямая и обратная трассировка лучей. Назначение и условия применения программ. Логическая структура классов, входные и выходные данные.

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

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

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

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

РАССЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ

ПО КУРСУ «Теория алгоритмов и технологии программирования»

ТЕМА: «Разработка алгоритма обратной трассировки лучей»

Содержание

  • 1. Техническое задание
    • 1.1 Общие сведения
    • 1.2 Назначение и цели создания (развития) системы
    • 1.3 Характеристика объектов автоматизации
      • 1.3.1 Сведения об объекте автоматизации
      • 1.3.2 Сведения об условиях эксплуатации
    • 1.4 Требования к системе
      • 1.4.1 Требования к системе в целом
      • 1.4.2 Наличие защиты информации от несанкционированного доступа
      • 1.4.3 Требования к функциям (задачам), выполняемым системой
      • 1.4.4 Требования к видам обеспечения
    • 1.5 Состав и содержание работ по созданию системы
    • 1.6 Порядок контроля и приемки системы
    • 1.7 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
    • 1.8 Требования к документированию
    • 1.9 Источники разработки
  • 2. Исследовательская часть
    • 2.1 Модели освещения
      • 2.1.1 Модель освещения Фонга
      • 2.1.2 Модель освещения Блинна
      • 2.1.3 Модель Ламберта
    • 2.2 Трассировка
      • 2.2.1 Прямая трассировка лучей
      • 2.2.2 Обратная трассировки лучей
  • 3. Технологическая часть
    • 3.1 Руководство программиста
      • 3.1.1 Назначение и условия применения программ
      • 3.1.2 Характеристика программы
      • 3.1.4 Логическая структура классов
      • 3.1.5 Входные и выходные данные
    • 3.2 Руководство оператора
      • 3.2.1 Назначение программы
      • 3.2.2 Условия выполнения программы
      • 3.2.3 Выполнение программы
      • 3.2.4 Сообщения оператору
  • Список литературы

1. Техническое задание

1.1 Общие сведения

- наименование системы: набор классов, реализующих алгоритм обратной трассировки лучей;

- разработчик: Кудряшов А. С. КФ МГТУ им. Баумана студент ИТД-103;

- заказчик: Симрнов А. А. преподаватель курса СМИКА КФ МГТУ им. Баумана;

- плановый срок начала работы: 20 февраля 2010 г;

- плановый срок окончания работы 25 мая 2010г;

- оформление и предъявление заказчику результатов работ по созданию системы (ее частей), по изготовлению и наладке отдельных средств (технических, программных, информационных) и программно-технических (программно-методических) комплексов системы производится в течение указанных сроков по согласованию с заказчиком.

1.2 Назначение и цели создания (развития) системы

- назначение системы: реализация алгоритма обратной трассировки лучей средствами объектно-ориентированного программирования, объект - файл, содержащий графическую сцену;

- цели создания системы: выполнение курсового проекта по курсу «Системы мультимедиа», достижение работоспособности спроектированной системы в рамках назначения системы.

1.3 Характеристика объектов автоматизации

1.3.1 Сведения об объекте автоматизации

Объект автоматизации - проект по созданию библиотеки классов, реализующих в действии освещение алгоритмом обратной трассировки лучей без использования графических библиотек OpenGL и 3DMax..

трассировка луч программа класс

1.3.2 Сведения об условиях эксплуатации

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

Использование в других целях строго запрещено.

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

1.4.1 Требования к системе в целом

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

требования к численности персонала отсутствуют, квалификация персонала системы - программист среднего уровня, режим его работы - свободный;

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

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

наличие безопасности при монтаже, наладке, эксплуатации, обслуживании и ремонте технических средств системы (защита от воздействий электрического тока, электромагнитных полей, акустических шумов), по допустимым уровням освещенности, вибрационных и шумовых нагрузок;

необходимое качество взаимодействия человека с машиной и комфортность условий работы персонала;

свободный режим эксплуатации на машинах и программном обеспечении, поддерживающих реализацию основных принципов объектно-ориентированного программирования, количество обслуживающего персонала - 1, квалификация - программист;

сохранность информации системы должна быть обеспечена в любых случаях за исключением физического износа хранителя информации и форс-мажорных обстоятельств;

наличие устойчивости системы при работе с нею неквалифицированного персонала или случайных и посторонних лиц.

1.4.2 Наличие защиты информации от несанкционированного доступа

наличие минимального уровня защиты информации: защита от случайного использования, защита от любопытства пользователей в отношении изменения внутреннего содержимого системы;

1.4.3 Требования к функциям (задачам), выполняемым системой

Основные функции:

- загрузка файла с графической сценой (в том числе поддержка графических файлов форматов 3DMax, DXF);

- определение модели освещения (в том числе модели Фонга, Ламберта);

- разбиение сцены файла на составляющие объекты;

- декомпозиция каждого объекта на поверхности;

- построение выпущенного луча из камеры через каждую точку экрана;

- создание дерева пересечений луча с объектами;

- вычисление освещенности каждой точки экрана;

- отображение сцены на экране монитора;

- установка камеры по умолчанию;

- поворот камеры;

- движение камеры;

- масштабирование камеры;

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

- объем оперативной памяти;

- размер графической сцены (файла);

Время выполнения: 2,6 с машинного времени на 1 Мб файла со сценой. Результат должен на 98,9 % соответствовать действительной сцене.

перечень и критерии отказов для каждой функции:

функция

вид отказа

критерий

1. загрузка файла

- ошибка формата при загрузке с выдачей соответствующего сообщения;

- ошибка в файле.

появление сообщения

2. определение модели

-

-

3. отображение

недостаток памяти для реализации точности построения

сообщение “Stack overload”

1.4.4 Требования к видам обеспечения

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

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

Для запуска разрабатываемого программного продукта требуется операционная система Windows 9x/ME/NT/2000/XP. Установка других программных средств не требуется

Минимальные системные требования для реализующей машины:

- процессор Pentium II;

- 32 Мб RAM;

- видео 4 Мб;

- HDD 100 Mб;

- монитор;

- клавиатура;

- мышь.

1.5 Состав и содержание работ по созданию системы

Стадии разработки

Этапы работ

Содержание работ

Техническое задание

Обоснование необходимости разработки программы

Постановка задачи. Сбор исходных материалов. Выбор и обоснование критериев эффективности и качества разрабатываемой программы. Обоснование необходимости проведения научно-исследовательских работ.

Научно-исследовательские работы

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

Разработка и утверждение технического задания

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

Технический проект

Разработка технического проекта

Уточнение структуры входных и выходных данных. Разработка алгоритма решения задачи. Определение формы представления входных и выходных данных. Определение семантики и синтаксиса языка. Разработка структуры программы. Окончательное определение конфигурации технических средств.

Утверждение технического проекта

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

Рабочий проект

Разработка программы

Программирование и отладка программы

Разработка программной документации

Разработка программных документов в соответствии с требованиями ГОСТ 19.101-77.

Испытания программы

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

Внедрение

Подготовка и передача программы

Подготовка и передача программы и программной документации для сопровождения и (или) изготовления. Оформление и утверждение акта о передаче программы на сопровождение и (или) изготовление. Передача программы в фонд алгоритмов и программ.

1.6 Порядок контроля и приемки системы

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

1.7 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

В состав работ по подготовке к сдаче проекта входят:

- создание пояснительных диаграмм (UML);

- создание пояснительной записки к проекту;

- вывод на печать подготовленных диаграмм и записки;

- доставка печатной продукции до принимающего лица.

1.8 Требования к документированию

Пояснительная записка

- Объем: не более 30 стр. (шрифт - Times New Roman - 12 пт, интервал - Обычный)

- Техническое задание (ГОСТ 34.602-89).

- Руководство программиста (ГОСТ 19.504-79).

- Руководство пользователя (ГОСТ 19.505-79).

Графическая часть

- Объем: 2 листа А1.

- Диаграмма вариантов использования (UML).

- Диаграммы классов (UML).

- Диаграмма деятельности (UML).

- Диаграмма кооперации (UML) - при необходимости.

1.9 Источники разработки

- «ГОСТ 34.602-89 Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».

- Роджерс Д. Алгоритмические основы машинной графики. М.:Мир, 1989.

- Роджерс Д., Дж.Адамс Математические основы машинной графики. М.:Мир, 2001.

- Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд./Пер. с англ. - М.: "Издательства Бином", СПб: "Невский диалект", 1998 г. - 560 с., ил.

- Вирт Н. Алгоритмы + структуры данных = программы. - М.: Мир, 1985.

- Вирт Н. Алгоритмы и структуры данных. - М.: Мир, 1989.

2. Исследовательская часть

2.1 Модели освещения

2.1.1 Модель освещения Фонга

Освещенность произвольно взятой точки P, появившуюся из-за источника света, излучающего во все стороны (omnilight) в общем случае будем вычислять по уравнению Фонга:

ambient = Ka,

diffuse = Kd * cos(N, L),

specular = Ks * pow(cos(R, V), Ns),

intensity = ambient + amp * (diffuse + specular).

Где:

Ka коэффициент фоновой интенсивности (характеристика окружающей среды)

Kd коэффициент рассеяния (характеристика поверхности)

Ks коэффициент отражения (характеристика поверхности)

Ns коэффициент вида отражения (характеристика поверхности)

amp "мощность" источника света

P рассматриваемая точка

N нормаль к поверхности изображаемого объекта в точке P

L вектор, проведенный из точки P в источника света (луч света)

V вектор, проведенный из точки P в "точку зрения" камеры

R отраженный луч света (отражение L относительно N)

ambient "фоновая" освещенность

diffuse "рассеянная" освещенность

specular "отраженная" освещенность

intensity освещенность (суммарная)

cos(A,B) косинус угла между векторами A и B

Это уравнение даже поддается относительно простому объяснению - освещенность как бы складывается из фонового уровня освещенности, рассеянного (по всем направлениям - а значит, и по направлению глаза) в этой точке света от источника и отраженного (тоже в глаз) света от источника.

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

Да, косинус угла между векторами считается как cos(A,B) = A*B/(|A|*|B|),

где A*B - скалярное произведение векторов, |A| и |B| - их длины. Поэтому имеет смысл все векторы перед использованием привести к длине 1, тогда косинус угла между векторами будет равен их скалярному произведению. Небольшая оптимизация.

2.1.2 Модель освещения Блинна

Блинн сформулировал формулу отраженного света с использованием промежуточного вектора Н:

2.1.3 Модель Ламберта

Закон Ламберта - падающий свет рассеивается во все стороны с одинаковой интенсивностью. Освещенность точки пропорциональна доле ее площади, видимой от источника.

Делаются такие предположения:

1. V не сильно зависит от Р, т.о. V принимается постоянным для всей грани.

2. L не сильно зависит от Р, т.о. L принимается постоянным для всей грани.

3. Kспектр = 0 (то есть грань не отражает свет, а только рассеивает).

4. Нормаль к объекту N равна нормали и к грани в любой точке грани Р.

В этом случае формула принимает вид:

где:

- угол между направлением света и нормалью к поверхности.

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

2.2 Трассировка

2.2.1 Прямая трассировка лучей

Расчет освещения сцены проходит по следующему алгоритму:

1. От всех источников света испускаются лучи во всех направлениях.

2. Рассчитываются преломление и отражение каждого луча, в том числе и отраженного, т.е. каждая точка сцены может освещаться либо напрямую источником, либо отраженным светом.

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

где:

S1--блестящая прозрачная поверхность

S2 и S4--рассеивающие непрозрачные поверхности,

S3--блестящая непрозрачная поверхность

2.2.2 Обратная трассировки лучей

где:

S1--блестящая прозрачная поверхность

S2 и S4--рассеивающие непрозрачные поверхности,

S3--блестящая непрозрачная поверхность

Расчет освещения сцены проходит по следующему алгоритму:

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

2. На каждой поверхности сцены, на которую попадает луч. формируются отраженный и преломленный лучи.

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

4. Ветвление прекращается если:

- луч вышел за пределы сцены;

- луч пришел на источник света;

- луч попал на непрозрачный диффузный рассеиватель;

- исчерпана память.

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

6. Закраска пиксела определяется прохождением по дереву и вычислением вклада каждой пересеченной поверхности в соответствии с используемыми моделями отражения.

Основные характеристики обратной трассировки:

1. Высокий реализм.

2. Учет отражения, преломления, затухания.

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

4. Большой объем вычислений.

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

6. Затруднено моделирование распределенных источников света, т.к. расчет поточечный.

7. Используемые модели отражения -- эмпирические и не обеспечивают сохранение энергии.

3. Технологическая часть

3.1 Руководство программиста

3.1.1 Назначение и условия применения программ

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

Минимальные системные требования для реализующей машины:

- процессор Pentium II 300 MHz;

- 32 Мб RAM;

- видео 4 Мб;

- HDD 100 Mб;

- монитор;

- клавиатура;

- мышь.

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

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

3.1.2 Характеристика программы

- язык написания - объектно-ориентированный;

- программа реализует алгоритм обратной трассировки лучей;

- поддержка графических форматов DXF, 3DSMax и др.;

- относительно невысокая скорость работы;

- требует больших объемов оперативной памяти.

3.1.4 Логическая структура классов

В наборе классов по реализации алгоритма объявлен 21 класс. Среди них имеется иерархия графических классов (рис.1), незаконченные иерархии классов типа «файл» (рис.2) и «модель освещения» (рис.3), также присутствуют в наличии дополнительно неиерархированные классы.

рис.1

рис.2 рис.3

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

То же относится и к моделям освещения. Кроме представленных моделей Фонга и Ламберта возможна разработки и совершенно новых или забытых моделей освещения, которые не включены в иерархию.

TInterface, который, ведя диалог с внешней программной средой, управляет реализацией алгоритма. С помощью функции void ChooseLightModel() устанавливается поле TModel&model этого класса, как выбранная модель освещения. Потомками абстрактного класса TModel являются два класса-уточнения TFong и TLambert, отражающие особенности различных моделей освещения, и которые на самом деле и становятся элементами класса TInterface.

Функция bool LoadFile(_fn : string) проверяет верность файла, указанного в параметре, и в верном случае, возвращая истину, присваивает полю fname объекта абстрактного класса TFile с помощью функции Void SetFileName(_fn : string) имя файла (но на самом деле необходимо оперировать с потомками этого класса (TDXF и T3DSM), которые содержат в себе необходимые особенности реализации на практике форматов графических файлов). В противном случае полю int err этого же объекта присваивается номер ошибки при загрузке файла.

После загрузки файла вызывается функция класса TInterface Void Go(&_fn), в параметрах которой стоит адрес объекта типа TFile. Эта функция, читая из файла информацию, последовательно выполняет различные действия.

Сначала создает объект «камера» и автоматически устанавливает ее в положение, по умолчанию заданное в файле, используя конструктор с параметром. Положение камеры задает матрица преобразований типа float и размером 4х4, которая хранится в поле этого класса matrix.

Устанавливается объект типа TScreen, имеющий поля длины и ширины (height, width) экрана и динамический массив точек типа TColorPoint.

Далее происходит конструирование сцены: создается объект типа TScene, который представляет собой список объектов сцены (TMesh), которые в свою очередь состоят из списков треугольных поверхностей (TSurface), имеющих специфические для каждого объекта сцены коэффициенты преломления, отражения и поглощения света (за это отвечают поля типа int объектов класса TSurface: kot, kpr, kps).

После выполнения подготовительных действий функция Go вызывает метод объекта класса TCamera void sendbeem(TScreen&scr,TScene&scene), который в цикле начинает через все точки экрана выпускать из объекта камеры лучи, представляемые классом TBeam. Для каждого нового испускаемого луча его объекту в поле double bright устанавливается максимальная яркость, равная 1. Также создается ссылка на объект типа TTree tree - дерево.

Метод void sendbeam(int _x, int _y, int _z), параметры которого определяют координаты начала движения луча, двигает луч в пространстве до тех пор, пока не встретит какой либо объект сцены (Mesh). Функция TSurface Check (int _x, int _y, int _z) на каждом этапе продвижения луча возвращает тип поверхности, по которой движется луч. Движение по пустому пространству не вызывает ответных действий.

В случае, когда луч натыкается на объект сцены, вызывается функция void Divide(TTree&tree), имеющая в параметре предыдущее дерево пересечений. Вначале эта функция заносит в свое поле TTree&tree в качестве узла новый узел пересечения, а потом в зависимости от параметров пересеченного объекта (поверхности) отражает луч, преломляет или затухает его, уменьшая яркость. Для отраженных и преломленных лучей выполняются те же операции по продвижению их в пространстве сцены.

Ветвление лучей по сцене продолжается до тех пор, пока не будет выполнено одно из условий:

- луч вышел за пределы сцены;

- луч попал на непрозрачный диффузный рассеиватель;

- при затухании луча его яркость стала меньше минимально чувствительной;

- луч пришел на источник света;

- закончилась отведенная память.

Объект класса TTree (а точнее его потомка TBinTree) имеет поле TMesh mesh и ссылки на объекты этого же класса - левые и правые ветви дерева. Для добавления новых ветвей используют специально определенные для этого функции void addleft(TMesh _tm) и addright(TMesh _tm).

В итоге для каждого выпущенного из камеры луча мы получаем дерево его пересечений с объектами сцены.

По завершении ветвления одного луча (т. е. того, который выпустился из камеры через одну точку экрана) соpдается объект типа TMath, поле TTree&tree которого содержит адрес того самого дерева пересечений одного луча. Используя его, функция этого же класса void calcul(TModel _model), в параметрах которой стоит модель освещения из класса TInterface, получаемая методом TModel GetLightModel(), вычисляет яркость точки в параметрах типа rgb и устанавливает соответствующим образом поле TColorPoint scr [0..][0..] класса TScreen для точки с выбранными координатами.

После определения массива точек вызывается функция класса void draw(), которая, используя вышеописанный массив, отображает на экране компьютера все точки.

Отдельно следует отметить наличие среди множества классов свободного типа TColor, определяющего цвет в системе RGB, для чего и содержит в себе три целочисленных поля r, g и b.

3.1.5 Входные и выходные данные

Для данной системы классов входными данными можно считать:

- файл, содержащий графическую информацию для отображения на экране, включая каждый объект сцены файла;

- задаваемые интерактивно пользователем модели освещения и поступающие в программу перед этапом рисования;

- задаваемые интерактивно пользователем положения камеры наблюдателя, в том числе всевозможные повороты, движения ее в различные стороны и масштабирование проекции.

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

3.2 Руководство оператора

3.2.1 Назначение программы

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

3.2.2 Условия выполнения программы

Минимальные системные требования для реализующей машины:

- процессор Pentium II 300 MHz;

- 32 Мб RAM;

- видео 4 Мб;

- HDD 100 Mб;

- монитор;

- клавиатура;

- мышь.

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

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

Возможен отказ в запуске программы при очень маленьком значении оперативной памяти и/или больших размерах требуемого изображения.

3.2.3 Выполнение программы

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

1. Включить питание компьютера, нажав на кнопку OPERATE на передней стенки компьютера или переключив тумблер из положения OFF в положение ON, который также расположен на передней стенке компьютера.

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

3. Откройте папку с программой, в которой найдите исполнительный файл программы и двойным щелчком мыши запустите его.

4. Для загрузки файла с изображением следует нажать на клавишу «Load file», затем из предложенных каталогов и различных файлов выбрать графический файл, который необходимо отобразить, и нажмите на кнопку ОК.

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

6. Нажать на кнопку Draw для получения изображения сцены на экране программного монитора.

3.2.4 Сообщения оператору

Во время работы с программой пользователь может получать от компьютера следующие сообщения:

«Неверный формат файла» - попытка открыть неграфический файл или файл неизвестного формата.

«Файл удачно загружен» - при открытии графического файла программа не обнаружила никаких несоответствий.

«Недостаточно памяти для выполнения программы» - т. к. выполнение программы требует больших ресурсов оперативной памяти, то некоторые машины могут не соответствовать требованиям по объемам. Поэтому выполнение программы бывает невозможно даже при невысоком качестве изображения.

Список литературы

1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд./Пер. с англ. - М.: "Издательства Бином", СПб: "Невский диалект", 1998 г. - 560 с., ил.

2. Наумов К. Е. Лекции по курсу машинной графики.

3. Неизвестный автор Uml_book.

4. К. Ю. Романовский, С. В. Кузнецов, Дм. В. Кознов Объектно-ориентированный подход и диаграммы классов в uml.

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


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

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