МУЛТИМЕДИЯ и ОСНОВИ НА WEB ДИЗАЙНА

УПРАЖНЕНИЕ 9 - задача 9.2

Промяна на цвета на обект постредством ColorInterpolator и TimeSensor

ТЕОРИЯ : Задачата включва познания за създаване на примитиви, анимиране чрез ColorInterpolator, TouchSensor и TimeSensor. Описание на анимациите във VRML можете да намерите в ЛЕКЦИЯ 16 от курса на дисциплината МОWД.

ЗАДАЧА 9.2: Куб с променящ се цвят посредством сензор(фиг.9.2.1)


Фиг.9.2.1 Куб със сензор и промяна на цвета

За изпълнение на задачата първо свалете и разархивирайте папката с файлове към упражнението.

1. Създайте нов VRML файл и го наименувайте animeBox.wrl.

2. Непосредствено под заглавния ред създайте група, в която ще поставим куба за анимация, сензорите и интерполатора за цвят.

     Group {
        children [

        ]
     }

3. Създайте сфера с червен цвят и радиус 0.5, която да представя сензора предизвикващ промяна на цвета на куба. За целта приложете към примирива сфера TouchSensor и го наименувайте Touch:

     DEF Touch TouchSensor { }
     Shape
     {
     ...
     }

4. Поставете TouchSensor и червената сфера в Transform възел с отместване 5 по X, 2 по Y и 2 по Z.

5. Непосредствено след Transform възела в групата създайте куб със зелен цвят (0.5 1 0.7) и размер 4. Науменувайте цвета на куба Coloree.

6. В групата създайте TimeSensor, управляващ времето за представяне на анимацията с интервал 4 (cycleInterval 4) и еднократно изпълнение (loop FALSE). Наименувайте го timer1.

7. Създайте интерполатор за цвят ColorInterpolator с име ci. Задайте към него три ключа с интервали 0.0, 0.5, 1.0 и стойности за промяна на цвета от синьо в червено и пак в синьо.

     DEF ci ColorInterpolator {
       key [ 0.0, 0.5, 1.0 ]
       keyValue [
           0.0 0.5 1.0,
           1.0 0.0 0.0,
           0.0 0.5 1.0,
       ]
     }

8. Обединете куба, таймера и интерполатора за цвят в група с име Box, която да бъде подгрупа на основната.

     DEF Box Group {
        children [

        ...         ]
     }

9. След Transform възела задайте пътиша, които да представят анимацията.

     ROUTE Touch.touchTime TO timer1.set_startTime
     ROUTE timer1.fraction_changed TO ci.set_fraction
     ROUTE ci.value_changed TO Coloree.set_diffuseColor

10. Съхранете направените промени и разгледайте 3D модела в браузъра.

11. Представете направената анимация в web сайта от упражненията по дисциплината, като използвате EMBED таг и OBJECT таг за Cortona3D плейър. Променете основния цвят на сцената и задайте размер 300x300 пиксела чрез атрибутите на на плейъра.