Скачиваний:
1
Добавлен:
18.01.2022
Размер:
640.4 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 44 (Кафедра вычислительных систем и сетей)

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

Старший преподаватель

А.В. Аксенов

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ЛАБОРАТОРНАЯ РАБОТА №3

ТИРАЖИРОВАНИЕ, ВСТРАИВАНИЕ, ОСВЕЩЕНИЕ, НАВИГАЦИЯ

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

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

номер группы

подпись, дата

инициалы, фамилия

Санкт-Петербург 2021

1. Цель работы

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

2. Постановка задачи

Разработать сюжет 3D-сцены. Пользуясь геометрическими узлами, объединяя их в именованные группы и применяя к ним пространственные преобразования, реализовать сцену в виде HTML-страницы с внедренным X3D-кодом. Задать для объектов сцены свойства материала и текстур. Для некоторых объектов (или групп объектов) применить тиражирование с использование DEF/USE. Подготовить отдельный файл в формате X3D и встроить его в основную сцену. Привязать к некоторым объектам гиперссылки на другие сцены или произвольные ресурсы. Задать для сцены освещение различными типами источников. Задать параметры навигации пользователя по сцене.

3. Задание

Основой сцены послужила Лабораторная работа №1. С помощью тиражирования и группировки была сформирована сетка из абстракций. После били наложены текстуры и цвет. Далее была выбрана точка просмотра, и направление падающего света. Последним былb добавленs ссылка с параметром «target self» и туман.

Использованные узлы:

  • Group

  • Transform

  • Material, ImageTexture

  • Anchor

  • PointLight, Fog

  • NavigationInfo, Viewpoin

4. Выполнения работы

Код 3D сцены:

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>Лаба 3</title>

<link rel="stylesheet" href="https://www.x3dom.org/download/1.8.1/x3dom.css">

<script src="https://www.x3dom.org/download/1.7/x3dom-full.js"></script>

</head>

<body style="color=:SkyBlue; background-color:black;">

<h1>Лабораторная работа №3</h1>

<p>Геометрические примитивы, преобразования, материалы, текстурирование</p>

<p>Студент гр. В8441</p>

<p>Даниил Чижиков</p>

<X3D id="x3d" xmlns="https://www.x3dom.org/x3dom">

<Scene>

<Viewpoint position='0 5 22' centerOfRotation='0 0 0 '></Viewpoint>

<NavigationInfo headlight='false' type='EXAMINE'></NavigationInfo>

<!-- Свет и туман -->

<PointLight location="3 5 6" color="0.25 1 1" intensity="1.4" shadowIntensity="0.6" shadowMapSize="512"></PointLight>

<Fog color='black' visibilityRange='30'></Fog>

<!-- булава -->

<Transform DEF='forb'>

<Group DEF='bulava'>

<Shape>

<Appearance>

<imageTexture url='https://cdn.pixabay.com/photo/2016/02/01/04/27/background-1172581_960_720.jpg'></imageTexture>

</Appearance>

<Sphere radius="1.8"></Sphere>

</Shape>

<Transform translation='0 3 0'>

<Shape>

<Appearance>

<Material diffuseColor='green'></Material>

</Appearance>

<Cone height="2.6" bottomRadius="0.6"></Cone>

</Shape>

</Transform>

<Transform translation='0 -2.9 0'rotation='0 0 1 9.45'>

<Shape>

<Appearance>

<Material diffuseColor='green'></Material>

</Appearance>

<Cone height="2.6" bottomRadius="0.6"></Cone>

</Shape>

</Transform>

<Transform translation='2.8 0 0'rotation='0 0 1 4.7'>

<Shape>

<Appearance>

<Material diffuseColor='green'></Material>

</Appearance>

<Cone height="2.6" bottomRadius="0.6"></Cone>

</Shape>

</Transform>

<Transform translation='-2.75 0 0'rotation='0 0 1 -4.7'>

<Shape>

<Appearance>

<Material diffuseColor='green'></Material>

</Appearance>

<Cone height="2.6" bottomRadius="0.6"></Cone>

</Shape>

</Transform>

<Transform translation='0 0 2.8'rotation='1 0 0 7.9'>

<Shape>

<Appearance>

<Material diffuseColor='green'></Material>

</Appearance>

<Cone height="2.6" bottomRadius="0.6"></Cone>

</Shape>

</Transform>

<Transform translation='0 0 -2.8'rotation='1 0 0 -7.9'>

<Shape>

<Appearance>

<Material diffuseColor='green'></Material>

</Appearance>

<Cone height="2.6" bottomRadius="0.6"></Cone>

</Shape>

</Transform>

</Transform>

</Group>

<!-- использование группы -->

<Anchor url="https://www.youtube.com/watch?v=F1YWqsd6XwA" parameter="target='_self'">

<Transform DEF='forb1' translation='0 4 0'>

<Group DEF='bull'>

<Group Use='bulava'></Group>

</Group>

</Transform>

<Transform DEF='forb2' translation='0 0 4'>

<Group DEF='bull'>

<Group Use='bulava'></Group>

</Group>

</Transform>

<Transform DEF='forb3' translation='0 4 4'>

<Group DEF='bull'>

<Group Use='bulava'></Group>

</Group>

</Transform>

<Transform DEF='forb3' translation='-4 0 0'>

<Group DEF='bull'>

<Group Use='bulava'></Group>

</Group>

</Transform>

<Transform DEF='forb4' translation='-4 4 0'>

<Group DEF='bull'>

<Group Use='bulava'></Group>

</Group>

</Transform>

<Transform DEF='forb4' translation='-4 0 4'>

<Group DEF='bull'>

<Group Use='bulava'></Group>

</Group>

</Transform>

<Transform DEF='forb4' translation='-4 4 4'>

<Group DEF='bull'>

<Group Use='bulava'></Group>

</Group>

</Transform>

</Anchor>

</Scene>

</X3D>

</body>

</html>

Рисунок 1 – Общий план

Рисунок 2 – исходная точка просмотра

Рисунок 3 – действие «Fog»

6. Вывод

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