УПРАЖНЕНИЕ 9 - задача 9.3
Промяна на позицията на обект постредством PositionInterpolator и TimeSensor
ТЕОРИЯ : Задачата включва познания за създаване на примитиви, анимиране чрез PositionInterpolator и TimeSensor. Описание на анимациите във VRML можете да намерите в ЛЕКЦИЯ 16 от курса на дисциплината МОWД.
ЗАДАЧА 9.3: Подскачаща топка(фиг.9.3.1)

Фиг.9.3.1 Подскачаща топка
За изпълнение на задачата първо свалете и разархивирайте папката с файлове към упражнението.
1. Създайте нов VRML файл и го наименувайте jumpingball.wrl.
2. Направете преливащ фон за небето непосредствено под заглавния ред.
3. Създайте група, в която ще поставим анимираната топка, земната повърхност и интерполатора за смяна на позицията.
Group {children [
]
}
3. Създайте Transform възел с име tr, която ще включва фигурата на топката, интерполатора за позиция и таймера.
4. В Transform възелa tr създайте примитив сфера с радиус 1 и обвивка balltexture.jpg, който да представя топката в сцената.
5. В Transform възелa tr създайте интерполатор за преместване с име pi, три ключа и преместване 1 по Y:
DEF pi PositionInterpolator {key [ 0.0, 0.5, 1.0 ]
keyValue [ 0 0 0, 0 1 0, 0 0 0]
}
6. В Transform възелa tr създайте TimeSensor, упревляващ времето за представяне на анимацията с интервал 4 (cycleInterval 2) и еднократно изпълнение (loop TRUE). Наименувайте го ts.
8. В групата създайте още един Transform възел с преместване 0.98 по Y.
9. В новосъздадения Transform възел направете повърхност чрез IndexedFaceSet Node, лежаща в равнина Z с дължини на страните 12. Приложете и текстурата ground.jpg.
Shape {appearance Appearance {
texture ImageTexture { url "ground.jpg" }
}
geometry IndexedFaceSet {
coord Coordinate {
point [
-6.0 0.0 6.0, 6.0 0.0 6.0,
6.0 0.0 -6.0, -6.0 0.0 -6.0,
]
}
coordIndex [ 0, 1, 2, 3 ]
texCoord TextureCoordinate {
point [ 0.0 0.0, 2.0 0.0, 2.0 2.0, 0.0 2.0, ]
}
texCoordIndex [ 0, 1, 2, 3 ]
solid FALSE
}
}
10. След групата задайте пътиша, които да представят анимацията.
ROUTE ts.fraction_changed TO pi.set_fractionROUTE pi.value_changed TO tr.set_translation
11. Съхранете направените промени и разгледайте 3D модела в браузъра.