Интерактивная компьютерная графика (икг) лабы / lr4_D — копия
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ КАФЕДРА 44 (Кафедра вычислительных систем и сетей)
|
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
Старший преподаватель |
|
|
|
А.В. Аксенов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ЛАБОРАТОРНАЯ РАБОТА №4 |
ЛИНЕЙНАЯ АНИМАЦИЯ
|
по дисциплине: Интерактивная компьютерная графика
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТК ГР. № |
|
|
|
|
|
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2021
1. Цель работы
Ознакомление с принципами и приобретение навыков создания анимации с использованием таймеров и интерполяторов значений различных типов для создания динамических X3D-сцен.
2. Постановка задачи
Разработать сюжет 3D-сцены. Пользуясь геометрическими узлами, реализовать сцену в виде HTML-страницы с внедренным X3D-кодом. Задать для объектов сцены свойства материала и текстур. Задать необходимое число таймеров и маршрутами привязать к анимируемым свойствам объектов интерполяторы значений соответствующего типа.
3. Задание
Сценой является абстракция, находящиеся в свободном пространстве. Ей была задана анимация цвета, а также, анимация вращения вокруг своей оси.
Использованные узлы:
Group
Transform, Material
TimeSensor
OrientationInterpolator
ColorInterpolator
5. Выполнения работы
Код 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:whitesmoke;">
<h1>Лабораторная работа №4</h1>
<p>Геометрические примитивы, преобразования, материалы, текстурирование</p>
<p>Студент гр. В8441</p>
<p>Даниил Чижиков</p>
<X3D id="x3d" xmlns="https://www.x3dom.org/x3dom">
<Scene>
<!-- вращение -->
<TimeSensor DEF='Time' cycleInterval='5' loop='true'></TimeSensor>
<OrientationInterpolator
DEF='OrientInt'
key='0 0.5 1'
keyValue='
0 1 0 0
0 1 0 -3.14
0 1 0 -6.28'>
</OrientationInterpolator>
<Transform DEF='forb'>
<Group DEF='bulava'>
<!-- Анимация -->
<TimeSensor DEF="Time" cycleInterval="5" loop="true">
</TimeSensor>
<ColorInterpolator DEF="ColInt" key="0 0.33 0.66 1"
keyValue="1 0 0, 0 1 0, 0 0 1, 1 0 0">
</ColorInterpolator>
<Transform translation='0 0 0'>
<Shape DEF="X">
<Appearance>
<Material DEF="Mat" diffuseColor="1 0 0"></Material>
</Appearance>
<Sphere radius='1.8'></Sphere>
</Shape>
</Transform>
<ROUTE fromNode="Time" fromField="fraction_changed"
toNode="ColInt" toField="set_fraction"></ROUTE>
<ROUTE fromNode="ColInt" fromField="value_changed"
toNode="Mat" toField="set_diffuseColor"></ROUTE>
<!-- шипы -->
<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>
<ROUTE fromNode='Time' fromField='fraction_changed'
toNode='OrientInt' toField='set_fraction'>
</ROUTE>
<ROUTE fromNode='OrientInt' fromField='value_changed'
toNode='forb' toField='set_rotation'>
</ROUTE>
</Group>
</Transform>
</Scene>
</X3D>
</body>
</html>
Рисунок 2 – Общий план
Рисунок 3 – Состояние 1
Рисунок 4 – Состояние 2
6. Вывод
В ходе лабораторной работы ознакомился с принципами и приобрел навыки создания анимации с использованием таймеров и интерполяторов значений различных типов для создания динамических X3D-сцен.