Лабораторные работы

2017-06-07СтудИзба

Описание файла

Документ из архива "Лабораторные работы", который расположен в категории "". Всё это находится в предмете "инженерная графика" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "компьютерная рафика" в общих файлах.

Онлайн просмотр документа "Лабораторные работы"

Текст из документа "Лабораторные работы"

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РФ

_________________________

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

_________________________

“КОМПЬЮТЕРНАЯ ГРАФИКА”

ЛАБОРАТОРНЫЕ РАБОТЫ

А.С. АЛЕЩЕНКО

Москва

2005

ПОРЯДОК ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ

1. Войти в директорию

:\ALLA\COMGRAF

2. Открыть файлы, указанные в задании

FILNAME.PCC

Общие положения для выполнения работ

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

Общие требования к проектированию:

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

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

Лабораторная работа № 1

Графическая библиотека BORLAND C++ 3.0

Цель работы. Ознакомиться с основными приемами использования графической библиотеки для построения изображений средствами языка Си++.

Пояснения к используемым функциям графической библиотеки

В программе на языке C/C++ функции графической библиотеки становятся доступными после включения в текст программы ее заголовочного файла:

#include<graphics.h>

Первой функцией, вызов которой должен предшествовать вызовам любых других графических функций, является initgraph(int *graphdriver, int *graphmode, char *pathtodriver). Эта функция загружает в память графический драйвер, инициализирует его и переводит систему в графический режим. Первый ее параметр – адрес переменной с указанием типа драйвера. Для выполнения лабораторных работ этой переменной должно быть присвоено значение константы VGA. Второй параметр – адрес переменной с указанием графического режима VGAMED. Третий параметр задает маршрут к каталогу, в котором находится графический драйвер.

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

Функция setviewport (int left, int top, int right, int bottom, int chip) устанавливает текущее окно для графического вывода. Графическим окном называется та часть экрана, в которой происходит рисование. И если последний параметр функции равен 1, то вне этой области изображение будет отсекаться. Границы окна устанавливаются с помощью первых четырех аргументов функции в пикселах. При программировании графики следует учитывать, что начало координат графической системы находится в левом верхнем углу экрана. Ось X направлена вправо, ось Y – вниз. Разрешение экрана в режиме VGAMED составляет 640 пикселов по горизонтали и 350 по вертикали.

Функция clearviewport() очищает окно графического вывода.

Вызов setcolor(int color) устанавливает текущий цвет для рисования. В качестве аргумента может быть использовано числовое значение цвета или его символьное имя.

Числовое значение

Символьное имя

0

BLACK

черный

1

BLUE

синий

2

GREEN

зеленый

3

CYAN

голубой

4

RED

красный

5

MAGENTA

пурпурный

6

BROWN

коричневый

7

LIGHTGREY

светло-серый

8

DARKGREY

темно-серый

9

LIGHTBLUE

светло-синий

10

LIGHTGREEN

светло-зеленый

11

LIGHTCYAN

светло-голубой

12

LIGHTRED

светло-красный

13

LIGHTMAGENTA

светло-пурпурный

14

YELLOW

желтый

15

WHITE

белый

Функция line(int x1, int y1, int x2, int y2) соединяет две точки отрезком, используя текущий выбранный цвет.

В режиме VGAMED имеется две страницы графического вывода с индексами 0 и 1. В каждой из них можно рисовать, но отображаться на экране одновременно может только одна. Процесс рисования может занимать некоторое время, сама же смена страниц происходит мгновенно. Этой особенностью пользуются для достижения эффекта мультипликации. Допустим, на экране в некоторый момент отображается страница 0. Объявляем активной, то есть той, в которой будет происходить рисование (но не обязательно отображение!), страницу 1. Рисуем в ней следующий кадр. При этом изображение на экране меняться не будет, а функции рисования будут воздействовать только на хранящуюся в памяти картинку. После того как новое изображение сформировано, объявляем страницу 1 видимой. Кадр на экране сменился. Подобным образом процесс продолжается, но теперь уже для страницы 0.

Функция setactivepage(int page) делает указанную страницу активной.

Функция setvisualpage(int page) делает указанную страницу видимой.

ЗАДАНИЕ

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

ВАРИАНТЫ ЗАДАНИЙ

Вариант

Фигура

Дополнительные действия

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

2 боковые грани вертикальные, высота равна удвоенной стороне треугольника

Пирамида с прямоуголь-ником в основании

Вершина проецируется в центр прямоугольника, высота - произвольная константа

Пирамида с квадратом в основании

Высота равна стороне квадрата

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

Высота равна половине стороны основания

Призма с правильным треугольником в основании

Боковые грани вертикальные, высота равна удвоенной стороне треугольника

Призма с прямоугольным треугольником в основании

Боковые грани вертикальные, высота равна удвоенной стороне треугольника

Призма с прямоугольником в основании

Боковые грани наклонные,

Высота - произвольная константа

Пирамида с равнобедренным треугольником в основании

2 боковые грани вертикальные,

Высота - произвольная константа

Лабораторная работа № 1а

Изучение учебного пакета программ компьютерной графики

СПИСОК ФАЙЛОВ, ВХОДЯЩИХ В УЧЕБНЫЙ ПАКЕТ

Учебный пакет программ по компьютерной графике включает в себя две директории :

CUBE - для решения задач построения и изменения размеров куба,

TETR - для решения задач построения и изменения размеров тетраэдра, каждая из директорий содержит две поддиректории:

SOURCES - содержит файлы с расширением .CPP,

EXE - содержит файлы с расширением .EXE.

Имя файла

Поддиректория

Выполняемые действия

CUBE\SOURCES

ПОСТРОЕНИЕ И ИЗМЕНЕНИЯ КУБА

C_GRAN.CPP

удаление невидимых граней и закраска

C_MAS.CPP,C_MAS1.CPP

масштабирование в двух режимах

CUBE1.CPP

вращение в трехмерном пространстве

CUBE2.CPP

перемещение в картинной плоскости

CUBE3.CPP

самостоятельное вращение в картинной плоскости

TETR\SOURCES

ПОСТРОЕНИЕ И ИЗМЕНЕНИЯ ТЕТРАЭДРА

T_GRAN.CPP

удаление невидимых граней и закраска

T_MAS.CPP,T_MAS1.CPP

масштабирование в двух режимах

TETR1.CPP

вращение в трехмерном пространстве

TETR2.CPP

перемещение в картинной плоскости

TETR3.CPP

самостоятельное вращение в картинной плоскости

ЗАДАНИЕ

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

2. Ознакомиться с разделом учебного пособия и подготовиться к ответу на вопросы.

ВАРИАНТЫ ЗАДАНИЙ

Вариант

объект

файлы

Глава уч пособия

1

тетраэдр

T_MAS, T_MAS1

кодирование цвета

2

тетраэдр

TETR1, TETR2

сжатие изображений

3

тетраэдр

TETR2, TETR3

форматы растровых файлов

4

тетраэдр

TETR2, T_MAS

векторные изображения

5

куб

CUBE1, CUBE2

форматы растровых файлов

6

куб

C_MAS, C_MAS1

сжатие изображений

7

куб

CUBE3, CUBE2

векторные изображения

8

куб

CUBE3, C_MAS1

кодирование цвета

Лабораторная работа № 2
ПАРАЛЛЕЛЬНЫЙ ПЕРЕНОС И МАСШТАБИРОВАНИЕ ОБЪЕКТОВ

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

Задание

  1. Ознакомиться с текстом программы-образца.

  2. Преобразовать программу-образец в соответствии с полученным вариантом задания. Объектом преобразования в лабораторных работах является фигура, построенная в лабораторной работе № 1.

  3. Отладить получившуюся программу на компьютере.

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

Варианты задания

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
431
Средний доход
с одного платного файла
Обучение Подробнее