Rendering air show e verifica della sincronizzazione



Documenti analoghi
Interpolazione ed approssimazione di funzioni

Automazione Industriale (scheduling+mms) scheduling+mms.

Test, domande e problemi di Robotica industriale

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D

Funzioni in C. Violetta Lonati

Metodi Stocastici per la Finanza

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Appunti sulla Macchina di Turing. Macchina di Turing

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

Il file seme o file modello del disegno

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Guida Compilazione Piani di Studio on-line

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Registratori di Cassa

Studente: SANTORO MC. Matricola : 528

Introduzione al MATLAB c Parte 2

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

e-dva - eni-depth Velocity Analysis

Capitolo 25: Lo scambio nel mercato delle assicurazioni

Linguaggi di programmazione

Capitolo 13: L offerta dell impresa e il surplus del produttore

Counseling Breve. Rivolto agli infermieri

Hub-PA Versione Manuale utente

Procedura Index On Line

Valutazione del potenziale

ACCESSO AL SISTEMA HELIOS...

Luigi Piroddi

Dimensione di uno Spazio vettoriale

Progetto di simulazione molecolare per il corso di Complementi di algoritmi A.A

Esercizi Capitolo 6 - Alberi binari di ricerca

Corso di Automazione industriale

PROGETTO ESCAVATORE VIRTUALE

Capitolo 25: Lo scambio nel mercato delle assicurazioni

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Controllo di velocità angolare di un motore in CC

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

Sistema Informativo Territoriale (SIT)

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Dispensa di Informatica I.1

Modello del fuso neuromuscolare

Gestione Turni. Introduzione

Soluzione dell esercizio del 12 Febbraio 2004

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi

Trasformazione dei Processi in Progetti DIB 1

Spline Nurbs. IUAV Disegno Digitale. Camillo Trevisan

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Programma INVENTARIO Infoschool: RINNOVO INVENTARIALE


TECNICHE DI SIMULAZIONE

Le tecniche di ridondanza

Organizzazione degli archivi

Relazioni statistiche: regressione e correlazione

4. Operazioni elementari per righe e colonne

Programmazione Pubblica/Mercato

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Tecniche di Simulazione: Introduzione. N. Del Buono:

Piani di input e piani di calcolo reale in FaTA-e

Logging in Python. Linguaggi dinamici A.A. 2010/2011 1

1 ACCESSO AL 3 2 CARICAMENTO DELLE RICHIESTE/PRESTAZIONI MONITORAGGIO DELLE RICHIESTE DOWNLOAD ESITI...

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Matematica in laboratorio

Esercizio 1: trading on-line

STATISTICA IX lezione

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007

Soluzione di equazioni quadratiche

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

SOMMARIO... 3 INTRODUZIONE...

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Ministero dell Istruzione, dell Università e della Ricerca. Acquisizione Beni e Servizi

ENERGIA. Energia e Lavoro Potenza Energia cinetica Energia potenziale Principio di conservazione dell energia meccanica

Grandezze fisiche e loro misura

La progettazione centrata sull utente nei bandi di gara

La pista del mio studio Riflettiamo sulla pista. Guida per l insegnante

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA

SOMMARIO Gruppo 4 - All right reserved 1

REALIZZARE UN BUSINESS PLAN CON MICROSOFT EXCEL 2007

Interesse, sconto, ratei e risconti

ANALISI DI RISCHIO SEMIQUANTITATIVA IN SUPPORTO ALLE VALUTAZIONI IN PRESENZA DI ATMOSFERE ESPLOSIVE (ATEX)

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

GESTIONE DELLA PROGRAMMAZIONE UNITARIA OB. C5 STAGE IN ITALIA GESTIONE DELLO STAGE

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

TX Figura 1: collegamento tra due antenne nello spazio libero.

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Processo di rendering

Transcript:

Capitolo 5 Rendering air show e verifica della sincronizzazione 5.1 Introduzione Il Rendering 3D dell evoluzioni acrobatiche costituisce uno degli aspetti cruciali dell applicazione realizzata. L ambiente di sviluppo MATLAB non offre molte possibilità per la visualizzazione 3D arricchita con oggetti e scenari realistici. È stato necessario prevedere, come output dell applicazione, un file che alimentasse i canali di rendering di un applicazione, in grado di assicurare una visualizzazione 3D di modelli realistici dei velivoli nonché degli scenari in cui ha luogo l air show. Il modulo di rendering messo a disposizione dell applicazione costituisce, pur nella sua semplicità, un valido supporto alla verifica della sincronizzazione dei velivoli, lasciando a Dyna World il compito di rendere più realistica la visualizzazione 3D. Il problema che si è dovuto superare per permettere una corretta visualizzazione 3D, è stato quello di ridefinire le traiettorie con il vincolo di essere valutate ad istanti temporali multipli. Le traiettorie definite attraverso la sequenza dei blocchi base, sono costituite da punti [x,y,z,roll,pitch,yaw,r,g,b,on/off] riferiti ad istanti temporali non multipli.

Rendering air show e verifica della sincronizzazione 93 5.2 Ridefinizione delle traiettorie Ridefinire le traiettorie in modo da specificarle ad istanti temporali multipli, permette di : Verificare la sincronizzazione Produrre un rendering sincronizzato degli oggetti in movimento In generale, specificare la traiettoria di un oggetto, significa definirne posizione ed orientazione nel tempo. Nel caso il rendering sia interessato da più oggetti in movimento, definire le traiettorie ad istanti non multipli e non con lo stesso fattore moltiplicativo per tutti gli oggetti, vuol dire produrre un rendering non sincronizzato. Nel caso in cui la durata delle traiettorie non coincida, la procedura di ridefinizione tiene conto della minima tra queste e fallisce nel caso la traiettoria di uno o più velivoli non sia definita (anche parzialmente). La procedura di verifica della sincronizzazione permette di verificare anche una sola figura acrobatica, nel caso le altre non siano state ancora definite. L utente immette alcuni parametri per la procedura di ridefinizione come si vede nella figura 5.1 Figura 5.1 Permette di selezionare una sola manovra da ridefinire Permette di eliminare la scia dalla verifica della sincronizzazione Interpolazione con spline Interpolazione ai minimi quadrati Indica lo step time con cui verrà ridefinita la traiettoria

Rendering air show e verifica della sincronizzazione 94 Dai test effettuati la procedura di ridefinizione, sia per errori numerici, sia per le inevitabili discontinuità dei valori degli angoli di orientazione della terna assi corpo del velivolo produce, nel caso si utilizzi l interpolazione tramite spline, risultati non in linea con le attese. I Grafici riportati di seguito mostrano come nei punti di discontinuità dei valori degli angoli, l interpolazione produca dei valori intermedi non significativi, con conseguente incongruenza della traiettoria ridefinita con quella originale. Il problema esposto si è presentato solo per la ridefinizione dei valori degli angoli di orientazione della terna assi corpo dei velivoli, in quanto i valori atti a definire la posizione del velivolo sono per definizione continui (nei limiti della definizione di traiettoria per punti). Nella figura 5.2 si può notare l incongrenza tra i valori degli angoli di orientazione originali e quelli calcolati ad istanti temporali multipli. Figura 5.2 Punti introdotti con l interpolazione Roll (deg) Pitch (deg) Punti introdotti con l interpolazione Yaw(deg) Valori originali Valori interpolati

Rendering air show e verifica della sincronizzazione 95 Il problema è stato risolto sostituendo all interpolazione con spline, l interpolazione mista (spline/metodo minimi quadrati). L interpolazione mista è implementata valutando lo scarto tra i valori originali e quelli calcolati con l interpolazione spline, e sostituendo questi ultimi con quelli calcolati con il metodo a minimi quadrati quando lo scarto risulta maggiore di un valore soglia. if (get(handles.sa,'value')==1) Yawtsn=real(interp1(t,Yaw,ts,'nearest')); Pitchtsn=real(interp1(t,Pitch,ts,'nearest')); Rolltsn=real(interp1(t,Roll,ts,'nearest')); Yawts=spline(t,Yaw,ts); Pitchts=spline(t,Pitch,ts); Rollts=spline(t,Roll,ts); deltapointy=yawts-yawtsn; deltapointp=pitchts-pitchtsn; deltapointr=rollts-rolltsn; dimensiondelta=size(deltapointy); for indexdelta=1:dimensiondelta(2) if abs(deltapointy(indexdelta))>1 end Yawts(indexdelta)=Yawtsn(indexdelta); if abs(deltapointp(indexdelta))>1 end Pitchts(indexdelta)=Pitchtsn(indexdelta); if abs(deltapointr(indexdelta))>1 Rollts(indexdelta)=Rolltsn(indexdelta); end end end In figura 5.3 è possibile notare come siano stati eliminati i valori non significativi prodotti dall interpolazione spline e l accuratezza dei valori interpolati.

Rendering air show e verifica della sincronizzazione 96 Roll (deg) Figura 5.3 Pitch (deg) Yaw(deg) Valori originali Valori interpolati Durante la fase di test della procedura di ridefinizione delle traiettorie è stato osservato che, per alcuni valori dello step time si possono verificare delle piccole discordanze tra valori originali e valori interpolati, probabilmente per il valore di default di soglia utilizzato nell interpolazione mista. Un problema simile a quello rilevato per la ridefinizione dei valori degli angoli di orientazione è stato notato nella interpolazione dei parametri di

Rendering air show e verifica della sincronizzazione 97 scia per i quali, nei punti di attacco o di fine scia, i colori assumono valori intermedi. L array di booleani che indica Sciaonofft=pchip(t,Scia); la presenza/assenza della scia Sciaonoffts=ppval(Sciaonofft,ts); in caso assuma valori intermedi Sciaonoffts=floor(Sciaonoffts); nell intervallo [0,1] si considerano 0 Rt=pchip(t,R); Rts=ppval(Rt,ts); Gt=pchip(t,G); Gts=ppval(Gt,ts); Bt=pchip(t,B); Bts=ppval(Bt,ts); L interpolazione del colore è eseguita con il metodo pchip 5.3 Verifica della sincronizzazione La durata delle manovre dei singoli velivoli è imposta dall utente durante la costruzione della sequenza, definendo i parametri degli elementi base nel caso del line block e del circle block e selezionando la traiettoria da inseguire nel caso del follow block (sincronizzazione implicita). La verifica della sincronizzazione permette di : Valutare la posizione della formazione ad istanti multipli dello step time Valutare l efficienza della procedura di ridefinizione delle traiettorie Il modulo che si occupa della verifica della sincronizzazione si presenta molto simile a quello per la verifica del comportamento dinamico dei velivoli con le seguenti differenze: Viene indicato il tempo di simulazione Si può seguire uno dei velivoli della formazione Si può verificare la sincronizzazione dei velivoli selezionati

Rendering air show e verifica della sincronizzazione 98 Tempo di simulazione È possibile selezionare un velivolo da seguire durante la simulazione È necessario indicare la figura acrobatica che si vuole verificare È possibile restringere la verifica a un gruppo di velivoli Figura 5.4 Figura 5.5 È possibile restringere la verifica a un gruppo di velivoli o ad uno solo

Rendering air show e verifica della sincronizzazione 99 Al modulo di verifica della sincronizzazione viene passato come parametro la matrice MATRICEDWAF (fig 5.6). Figura 5.6 Velivolo 1 Velivolo 2 Velivolo n-1 Velivolo n Figura n Figura 1 Per ogni velivolo e per ogni figura acrobatica sono definiti [t,x,y,z,roll,pitch,yaw,r,g,b,on/off]. Il numero di righe della matrice MATRICEDWAF è dato dalla lunghezza del vettore dei tempi per cui è influenzata dallo step time. Il numero di colonne della matrice invece è imposto dal numero di velivoli. 5.4 Rendering 3D con Dyna Worlds Professional Dyna Worlds Professional è un applicazione di visualizzazione 3D alla quale viene passato come input un file contenente le informazioni per il rendering. Il file di input per Dyna Worlds è costruito da una funzione matlab creaxdf2.m, i cui parametri di ingresso sono, il nome del file.xdf e la matrice MATRICEDWF,che rispetto alla matrice MATRICEDWAF ha un solo vettore dei tempi, di riferimento per tutti i velivoli. Dyna Worlds Professional permette di associare ad ogni singola traiettoria un oggetto 3D, la cui posizione e orientazione nel tempo sono imposte dalla traiettoria definita.

Rendering air show e verifica della sincronizzazione 100 Nella figura 5.8 è possibile notare i parametri che è necessario definire per collegare correttamente il canale di input per il rendering. Figura 5.7 Indica il canale da cui leggere i dati delle traiettorie Figura 5.8 Indica lo step time che deve essere concorde con quello con cui si sono ridefinite le traiettorie Indica il tipo di interprete del file di input Permette di selezionare il file che alimenta i canali

Rendering air show e verifica della sincronizzazione 101 Di seguito riporto il codice della funzione matlab che costruisce il file.xdf che alimenta il canale di Dyna World Professional