Massimiliano Piscozzi – Sistemi multimediali.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Funzioni In C++ le funzioni sono caratterizzate da un nome, dal tipo della variabile ritornata e da una lista di parametri (opzionali) La lista dei parametri.
Costruttori e Distruttori
Informatica Recupero debito quarto anno Terzo incontro.
2/11/2004Laboratorio di Programmazione - Luca Tesei1 Punto della situazione Da dove veniamo, dove andiamo.
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
Introduzione al linguaggio C
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
Modulo o Form in Html.
STRUTTURE DATI e LABORATORIO II ESERCITAZIONE N°13 Heap massimo.
Seminario per il corso Elementi di Grafica Digitale Dott. Federico ELIA A.A
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Energia Potenziale Elettrica
Costruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni
Costruzione di Interfacce Lezione 4 Nozioni di geometria per la grafica
Costruzione di Interfacce Lezione 5 Trasformazioni Affini
Costruzione di Interfacce Lezione 12 C++STL
Introduzione al linguaggio C++ 5 lezioni
Moti del corpo rigido 2) Rotazione 3) Rototraslazione 1) Traslazione
1 Grafica ed eventi/2 Più movimento alle classi. 2 Esercizio n.1 Realizzare una applicazione che permette il trascinamento di una ellissi allinterno di.
Corso di Informatica A.A
Fabio Massacci Programmazione ad Oggetti 1 Fondamenti di Informatica per Ingegneria Prof. Ing. Fabio Massacci (A-L) Ing. Enrico Blanzieri (M-Z) Lezione.
SQL: Lezione 7 Nataliya Rassadko
Fabio Massacci Programmazione ad Oggetti
Esercizi su alberi binari
AA2003/04 © M.A. Alberti Programmazione Interfacce 1 Programmazione Corso di laurea in Informatica.
GIS on the WEB: un esempio di grafica vettoriale 3D
Esempi di Java 3D.
Open Inventor In questa lezione impareremo a:
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Esercizio 1 Convertire il seguente DTD (esercizio 1 sui DTD) in XML Schema:
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
JavaScript 2 Input / output. Voglio leggere un dato inserito dallutente dello script, come posso fare? Voglio scrivere un valore e farlo leggere allutente.
I fogli di stile XSL – 2 –. Selezioni multiple : serve per applicare una regola in modo ricorsivo a nodi figli dellelemento contestuale. Attributo select.
Excel Avanzato Personalizzare Excel.
Funzioni elementari E relativi campi di esistenza.
Gerarchie Nella lezione precedente abbiamo imparato creare una gerarchia di oggetti usando i gruppi (edit>group)
Esempio Un disco rigido omogeneo di massa M=1,4kg e raggio R=8,5cm rotola su un piano orizzontale alla velocità di 15cm/s. Quale è la sua energia cinetica?
X3D X3D Cristina Donati 1.
Lezione 17 Riccardo Sama' Copyright Riccardo Sama' Access.
Massimiliano Piscozzi – Sistemi multimediali.
Massimiliano Piscozzi – Sistemi multimediali.
Massimiliano Piscozzi – Sistemi multimediali.
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Massimiliano Piscozzi – Sistemi multimediali.
Massimiliano Piscozzi – Sistemi multimediali.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
un sistema rigido di punti materiali
Form o moduli HTML Esistono degli oggetti standard che permettono una certa interattività con l'utente. Un utilizzo completo e significativo di tali elementi.
Virtual Reality Modeling Language
1 Liste e Combo Liste e combo (lista chiusa) hanno una struttura simile: utilizzano gli stessi due tag: e Il primo tag contiene il secondo. deve essere.
Università degli Studi di Pavia
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
E Windows SharePoint Services 2.0 Ivan Renesto Document Library how to use Windows SharePoint Services.
Campo elettrico generato da una distribuzione piana omogenea e infinita di carica Consideriamo il campo generato da una distribuzione piana, infinita e.
Tecnologie informatiche. PowerPoint CREA UNA PRESENTAZIONE.
due argomenti strettamente connessi
0 Laboratorio Informatica - SAS – Anno Accademico LIUC Alcune indicazioni Dettaglio lezioni: Prima : Michele Gnecchi – Introduzione a SAS Guide.
centro di massa e momento di inerzia
Solidi di rotazione.
Massimiliano Piscozzi –
Esercizi.
Massimiliano Piscozzi –
Massimiliano Piscozzi –
Transcript della presentazione:

Massimiliano Piscozzi – Sistemi multimediali

Esercizio (1) Animazione (in contemporanea) della rotazione di un parallelepipedo, del colore di una sfera e della traslazione di un cono TimeSensor cycleInterval · · · loop fraction_changed OrientationInterp. set_fraction · · · key keyValue value_changed ColorInterpolator set_fraction · · · key keyValue value_changed PositionInterp. set_fraction · · · key keyValue value_changed Transform rotation · · · Transform translation · · · Material diffuseColor · · ·

Esercizio (2) <Material diffuseColor="1 0 0"/> Creazione dei tre oggetti distribuiti lungo lasse X <Material DEF="sphereMaterial" diffuseColor="1 0 1"/> <Cone bottomRadius="1" height="2"/> <Material diffuseColor="0 0 1"/> Creazione di un TimeSensor

Esercizio (3) Creazione dei 3 interpolatori Routing degli eventi

TouchSensor Rileva quando lutente punta ad un oggetto figlio del nodo padre del sensore Utile soprattutto per la creazione di pulsanti TouchSensor : X3DTouchSensorNode{ SFString [in,out] description SFBool[in,out] enabledTRUE SFVec3f [out] hitNormal_changed SFVec3f [out] hitPoint_changed SFVec3f[out]hitTexCoord_changed SFBool[out]isActive SFBool[out]isOver SFTime[out]touchTime... }

Esercizio Spostamento di una piccola sfera sulla superficie di un cono Creazione della sfera Creazione del cono e del sensore Routing dellevento <ROUTE fromNode="sensor" fromField="hitPoint_changed" toNode="sphereTransform" toField="set_translation"/>

Esercizio (1) Creazione di un pulsante per far apparire un oggetto TouchSensor touchTime · · · Transform · · ·... TimeSensor cycleInterval loop · · · startTime ScalarInterpolator set_fraction · · · key keyValue value_changed Material diffuseColor · · · fraction_changed children

Esercizio (2) Creazione del pulsante Creazione delloggetto da far apparire <Material DEF="sphereMaterial" diffuseColor="1 1 0" transparency="1"/>

Esercizio (3) Creazione del timer Creazione dellinterpolatore <ScalarInterpolator DEF="interpolator" key="0 1" keyValue="1 0"/> Routing degli eventi <ROUTE fromNode="touchSensor" fromField="touchTime" toNode="timer" toField="startTime"/> <ROUTE fromNode="timer" fromField="fraction_changed" toNode="interpolator" toField="set_fraction"/> <ROUTE fromNode="interpolator" fromField="value_changed" toNode="sphereMaterial" toField="set_transparency"/>

PlaneSensor : X3DDragSensorNode{ SFString[in,out]description SFBool [in,out] autoOffsetTRUE SFVec3f[in,out] offset0 0 0 SFBool[in,out] enabledTRUE SFVec2f [in,out] minPosition0 0 SFVec2f[in,out]maxPosition SFBool[out]isActive SFBool[out]isOver SFVec3f[out]trackPoint_changed SFVec3f[out]translation_changed... } Altri sensori (1) Sensori per il dragging: –PlaneSensor: dragging rispetto ad un piano (z=0 nel sistema di coordinate locali) –SphereSensor: dragging di tipo rotazionale rispetto ad un punto (il centro del sistema di coordinate locale) –CylinderSensor: dragging di tipo rotazionale rispetto allasse Y del sistema di coordinate locali x y z minPosition maxPosition

Altri sensori (2) SphereSensor : X3DDragSensorNode{ SFString[in,out]description SFBool [in,out] autoOffsetTRUE SFVec3f[in,out] offset0 0 0 SFBool[in,out] enabledTRUE SFBool[out]isActive SFBool[out]isOver SFVec3f[out]trackPoint_changed SFRotation[out]rotation_changed... } CylinderSensor : X3DDragSensorNode{ SFString[in,out]description SFBool [in,out] autoOffsetTRUE SFVec3f[in,out] offset0 0 0 SFBool[in,out] enabledTRUE SFFloat [in,out] minAngle0 SFFloat[in,out]maxAngle -1 SFFloat[in,out]diskAngle pi/12 SFBool[out]isActive SFBool[out]isOver SFVec3f[out]trackPoint_changed SFRotation[out]rotation_changed... } x y z x y z diskAngle

Esercizio Utilizzo del nodo SphereSensor per ruotare un oggetto Creazione di un cubo Creazione di un cubo e di un sensore sphereSensor ad esso associato Routing dellevento <ROUTE fromNode="sensor" fromField="rotation_changed" toNode="boxTransform" toField="set_rotation"/>

Definizione di nuovi nodi E possibile definire nuovi tipi di nodo a partire da nodi esistenti (built-in o definiti dallutente) PROTOTYPE –Nome –Interfaccia –Corpo Zero o più campi: –Nome –Tipo –Tipo di accesso (input/output per il routing degli eventi) –Valori di default Uno o più nodi: –Deve esistere un nodo radice –Il nodo radice determina quando il prototipo può essere istanziato A differenza di USE il prototipo può possedere dei campi il cui valore può variare per ogni istanza

colore Esempio di prototipo Prototipo Colonna caratterizzato da un colore e un raggio Transform · · · Shape geometry · · · Appearance · · · appearance Cylinder radius · · · Material diffuseColor · · · children material raggio Colonna

Prototipi (1) Codifica in XML della dichiarazione di prototipi <field name=... type=... accessType=... value=.../> Interfaccia costituita da campi <connect nodeField=... protoField=.../> Corpo costituito da dichiarazioni di nodi - Il collegamento tra i campi dei nodi e i campi dellinterfaccia avviene attraverso i tag e

Prototipi (2) Codifica in XML della creazione di istanze di un prototipo... Lista dei valori dei campi Se il valore di un campo non viene specificato esso assume il valore di default (specificato nellinterfaccia o in base alle specifiche X3D)

Prototipi: esempio <field name="raggio" accessType="inputOutput" type="SFFloat" value="0.3"/> <field name="colore" accessType="inputOutput" type="SFColor" value=" "/>