Главная
Случайная страница
Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Задания и программы лабораторных работ по дисциплине
ОТОБРАЖЕНИЕ ДВУХМЕРНЫХ СЦЕН
СРЕДСТВАМИ ГРАФИЧЕСКОЙ БИБЛИОТЕКИ
OPENGL
Задания и программы лабораторных работ по дисциплине
"Геометрическое моделирование и компьютерная графика"
для студентов направления 230700.62 – «Прикладная информатика»,
профиль «Прикладная информатика в экономике»
Составитель: д.т.н., профессор Косников Ю.Н.
Пенза 2012 Задание 1. Система координат и примитивы OpenGL
Цель выполнения задания: изучить на практике отображение простых геометрических фигур в пределах нормализованного объема видимости.
Изучаемые команды
Команды инициализации: auxInitWindowPosition, auxInitWindowSize, glutInitWindowPosition, glutInitWindowSize.
Команды настройки цветов фона и изображения: glClearColor, glClear(GL_COLOR_BUFFER_BIT), glColor.
Команды рисования геометрических примитивов: glVertex, glBegin – glEnd.
Команды задания стиля вычерчивания: glLineWidth, glEnable(GL_LINE_SMOOTH), glEnable(GL_POINT_SMOOTH).
Варианты заданий приведены в таблице 1.
Таблица 1
N варианта
| Фигура
| Геометрический примитив
|
| Два раздельных треугольника
| Отрезок (GL_LINES), треугольник (GL_TRIANGLES)
|
| «Песочные часы» – два треугольника с общей вершиной
| Связанные отрезки (GL_LINE_STRIP), треугольник (GL_TRIANGLES)
|
| Два связанных треугольника
| Замкнутый контур (GL_LINE_LOOP)
|
| Смежные треугольник и прямоугольник
| Полигон (GL_POLYGON)
|
| Два смежных треугольника
| Треугольник (GL_TRIANGLES)
|
| «Созвездие» из пяти разноцветных точек и «метеор» – вектор с крупной точкой
| Точка (GL_POINTS),
отрезок (GL_LINES)
|
| Неправильный четырехугольник с точкой в вершине
| Четырехугольник (GL_QUADS), точка (GL_POINTS)
|
| Четырехугольник с диагональю
| Связанные треугольники (GL_TRIANGLE_STRIP)
|
| Четырехугольник с диагональю
| Треугольник (GL_TRIANGLES)
|
| Два смежных четырехугольника
| Связанные четырехугольники (GL_QUAD_STRIP)
|
| Четырехугольник с диагональю
| Связанные треугольники (GL_TRIANGLE_FAN)
|
| Четырехугольник с диагональю
| Связанные отрезки (GL_LINE_STRIP)
|
| Параллелограмм с точками на углах
| Точка (GL_POINTS),
полигон (GL_POLYGON)
|
| «Домик» – смежные треугольник и квадрат
| Треугольник (GL_TRIANGLES), четырехугольник (GL_QUADS)
|
| Треугольник и квадрат с общей вершиной
| Замкнутый контур (GL_LINE_LOOP), четырехугольник (GL_QUADS)
|
| Треугольник, вписанный в прямоугольник
| Треугольник (GL_TRIANGLES), связанные отрезки (GL_LINE_STRIP)
|
| Смежные пятиугольник и треугольник
| Полигон (GL_POLYGON)
|
| «Флажок» – вытянутый прямоугольник и треугольник
| Четырехугольник (GL_QUADS), треугольник (GL_TRIANGLES)
|
| «Флажок» – вектор и невыпуклый пятиугольник
| Отрезок (GL_LINES),
полигон (GL_POLYGON)
|
| «Кораблик» – трапеция и вектор
| Четырехугольник (GL_QUADS), отрезок (GL_LINES)
|
| «Молоток» – трапеция и вытянутый прямоугольник
| Полигон (GL_POLYGON), четырехугольник (GL_QUADS)
|
| «Окно» – прямоугольник и многоугольник
| Замкнутый контур (GL_LINE_LOOP), полигон (GL_POLYGON)
|
| «Лопата» – выпуклый пятиугольник и вытянутый прямоугольник
| Полигон (GL_POLYGON), отрезок (GL_LINES)
|
| «Дупель один-один» – два смежных квадрата с точками в центрах
| Четырехугольник (GL_QUADS), точка (GL_POINTS),
|
| Пятиугольник с двумя диагоналями
| Треугольник (GL_TRIANGLES), отрезок (GL_LINES)
|
| «Веселый Роджер» – вытянутая по верти-кали трапеция и ниже – косой крест из двух прямоугольников
| Четырехугольник (GL_QUADS),
полигон (GL_POLYGON)
|
| «Рюмка» – равнобокая трапеция на 6-угольной ножке
| Полигон (GL_POLYGON), замкнутый контур (GL_LINE_LOOP),
|
| «Часы» –
квадрат, два узких прямоугольника разной длины и крупная точка в центре
| Связанные отрезки (GL_LINE_STRIP), четырехугольник (GL_QUADS), точка (GL_POINTS)
|
| «Наполовину пустая бутылка» – прямоугольник и замкнутая ломаная линия из 8 сегментов
| Четырехугольник (GL_QUADS), полигон (GL_POLYGON)
|
| «Квадратная гайка» – правильный квадрат с отверстием (многоугольником) внутри
| Полигон (GL_POLYGON), связанные отрезки (GL_LINE_STRIP)
|
| «Крыша дома» – параллелограмм, сопряженный с треугольником
| Треугольник (GL_TRIANGLES), четырехугольник (GL_QUADS)
|
| Правильный шестиугольник с диагоналями и точкой большого размера в центре
| Связанные треугольники – «веер» (GL_TRIANGLE_FAN),
точка (GL_POINTS)
| Программа выполнения задания
1. Спроектировать изображение, выбрав координаты вершин, которые ограничивают примитивы. Координаты х и у вершин не должны превышать ±1, координата z берется равной нулю. Выбрать размеры окна вывода. Определить цвет фона (не черный) и цвет изображения – разный для каждого фрагмента изображения.
2. В программу-заготовку добавить команды задания окна и рисования изображения. Использовать формат команды задания вершин glVertex3f. Получить изображение заданных фигур на экране. Предъявить результаты преподавателю.
3. Изменяя координаты х и у вершин в диапазоне (-5,+5), определить границы объема видимости по соответствующим координатам, а также направления координатных осей и точку их начала.
4. Задать координату z одной из вершин равной +0.5, затем -0.5. Объяснить наблюдаемый эффект. Задать координату z одной из вершин равной +5, затем -5. Объяснить наблюдаемый эффект.
5. Ответить на контрольные вопросы преподавателя.
|