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

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

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

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

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

КАФЕДРА 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-сцен.