Gruppi e Gerarchie. Informatica Grafica ][ Gruppi e gerarchie in Maya. Gruppi e gerarchie in Maya. Gruppi e gerarchie in Maya
|
|
- Damiano Forte
- 4 anni fa
- Visualizzazioni
Transcript
1 Informatica Grafica ][ Gruppi e Gerarchie Marco Gribaudo marcog@di.unito.it Un gruppo e' un insieme di oggetti uniti in modo rigido (non separabili), come ad esempio il tetto per una casa. A volte un gruppo viene utilizzato anche per tenere inseieme oggetti che si muovono in paralleleo come flotte o stormi. Una gerarchia e' invece un insieme di oggetti asimmetrico, che eseprime generalmente un collegamento (es: le ruote alla macchina). Quando il corpo della vettura si muove (oggetto "padre"), le ruote si muovono con lui...
2 Ma le ruote (oggetti "figli") sono in grado di ruotare indipendentemente dalla posizione della macchina. In Maya i gruppi si creano come particolari gerarchie. Vedremo quindi allora prima come si creino le gerarchie, e poi come i gruppi siano sottoclassi di quest'ultime. Per creare una gerarchia, si selezionano prima gli oggetti "figli", e per ultimo l'oggetto "padre". Quindi si esegue il comando Edit->Parent. Le gerarchie vengono indicate nell'outliner raggruppando i nomi degli oggetti in cartelle. E' possibile creare legami di parentela molto complessi, inserendo gerarchie in altre gerarchie. In Maya i gruppi vengono creati come speciali gerarchie. Quando si esegue il comando Edit->Group, maya crea un nuovo oggetto invisibile che diventa padre per tutti gli oggetti selezionati.
3 Per riuscire a implementare correttamente una gerarchia in un motore di rendering, e' opportuno approfondire ulteriormente come venga codificata una gerarchia in Maya. Ogni oggetto in una gerarchia, corrisponde ad un Transform Node. Cercheremo quindi di riproporre la stessa codifca anche nel nostro motore di rendering. Ad esso vengono collegati la geometria dell'oggetto corrispondente, ed i nodi di trasformazione degli oggetti figli. I gruppi, in quanto oggetti invisibili, non hanno associata una forma geometrica. Utilizzando i tasti freccia e' possibile muoversi all'interno della una gerarchia: Su - Passa al TN padre Giu' - Passa al primo figlio Sinistra - Passa al fratello precedente Destra - Passa al fratello successivo Quando viene disegnato un oggetto ad un certo livello della gerarchia, esso subisce le trasformazioni dettate da tutti i Transform Node che lo precedeno
4 In particolare esso subisce prima le trasformazione del TN a cui e' associato, poi quelle dell'oggetto padre, quindi quelle dell'oggetto nonno, e cosi' via Un algoritmo che voglia disegnare una gerarchia dovra' quindi procedere in questo modo: 1 - Calcola la matrice di trasformazione di un nodo 2 - Concatena la trasformazione del nodo a quella del nodo padre (facendo attenzione che quella del nodo avvenga per prima). 3 - Disegna la forma associata (se presente) 4 - Disegna i figli, passandogli la trasformazione calcolata 5 - Disegna i fratelli, passandogli la trasformazione del nodo padre. Cioe': Cioe': 1 e 2 - Calcola la matrice e la concatena 1,2 3 - Disegna la forma associata 1,2 3 Cioe': Cioe': 4 - Disegna gli oggetti figli 1, , Disegna gli oggetti fratelli non ancora visualizzati. 5
5 Per creare una struttura dati capace di codificare una gerarchia, si puo' cercare di riproporre la stessa struttura adottata in maya. In particolare, partendo da un oggetto della gerarchia, si possono raggiungere tutti gli altri utilizzando i quattro tasti freccia. Ogni TN potrebbe quindi contenere i riferimenti di altri 4 nodi: - il nodo padre - il pimo nodo figlio - il fratello alla sua destra - il fratello alla sua sinistra Tale struttura dati, permette di inserire, cancellare e rappresentare oggetti in gerarchia. Se pero' si vuole rappresentare solamente gli oggetti, o eventualmente aggiungerne dei nuovi (non cancellarne), la struttura dati puo' essere semplificata. Nell'algoritmo di visualizzazione della gerarchia visto prima, non si passa mai a disegnare l'oggetto padre, ma sempre e solo oggetti figli. Inoltre e' sufficiente che ogni fratello conosca solamente un altro fratello diverso, per riuscire a rappresentare tutti i figli di un medesimo nodo. Pertanto e' sufficiente memorizzare i riferimenti esclusivamente al primo nodo figlio, e quello di un fratello (quello alla destra). - il nodo padre - il pimo nodo figlio - il fratello alla sua destra - il fratello alla sua sinistra
6 Dovremo quindi modificare il formato del file di interscambio, in modo che riporti, oltre al nome del TN e della shape associata, anche il nome del primo figlio e del fratello alla sua destra. In una gerarchia, la posizione del punto Pivot assume un'importanza notevole. Aggiungeremo quindi, in fondo ai valori di trasforamzione, anche le coordinate del punto Pivot. Per prima cosa, aggiorneremo il tipo di dato che definisce un TN, in modo da aggiungervi i nomi e l'indice del primo figlio, del pirmo fratello, e le coordinate del punto Pivot. Qunidi modificheremo il codice di caricamento in modo che legga anche queste nuove informazioni. Private Sub LoadScene(FileName As String) Dim X, Y, Z, Nx, Ny, Nz, tu, tv As Single Dim I1, I2, I3 As Integer Dim ShapeInScene As Integer Dim TNInScene As Integer Dim CurTN As Integer Dim TextureName As String Dim ShName As String Dim TNName As String Dim ShNum As Integer Open FileName For Input As #1 Input #1, ShapeInScene ' Carica le Shapes For U = 0 To ShapeInScene - 1 With SceneObjs(LastSceneObj).TotV = 0.TotI = 0 ' Carica la texture Input #1,.name Input #1, TextureName If TextureName <> "" Then Set.te = D3DX.CreateTextureFromFileEx(D3DDevice, _ TextureName, D3DX_DEFAULT, D3DX_DEFAULT, _ 1, 0, D3DFMT_UNKNOWN, _ D3DPOOL_MANAGED, D3DX_FILTER_POINT, _ D3DX_FILTER_POINT, &HFF000000, _ ByVal 0, ByVal 0) ' Imposta il materiale Input #1,.Material.emissive.r,.Material.emissive.g,.Material.emissive.b Input #1,.Material.Ambient.r,.Material.Ambient.g,.Material.Ambient.b Input #1,.Material.diffuse.r,.Material.diffuse.g,.Material.diffuse.b Input #1,.Material.specular.r,.Material.specular.g,.Material.specular.b, _.Material.power ' Carica la geometria Input #1,.TotV,.TotI ReDim.V(.TotV),.I(.TotI) For T = 0 To.TotV - 1 Input #1, X, Y, Z, Nx, Ny, Nz, tu, tv.v(t) = MakeVertex(X, Y, Z, Nx, Ny, Nz, tu, tv) Next For T = 0 To.TotI - 1 Step 3 Input #1, I1, I2, I3.I(T) = I1.I(T + 1) = I2.I(T + 2) = I3 Next Set.IBuffer = D3DDevice.CreateIndexBuffer(Len(.I(0)) *.TotI, 0, _ D3DFMT_INDEX16, D3DPOOL_DEFAULT) D3DIndexBuffer8SetData.IBuffer, 0, Len(.I(0)) *.TotI, 0,.I(0) Set.VBuffer = D3DDevice.CreateVertexBuffer(Len(.V(0)) *.TotV, 0, _ D3DFVF_XYZ Or D3DFVF_NORMAL Or _ D3DFVF_TEX1, D3DPOOL_DEFAULT) D3DVertexBuffer8SetData.VBuffer, 0, Len(.V(0)) *.TotV, 0,.V(0)
7 End With ' Passa alla shape successiva LastSceneObj = LastSceneObj + 1 Next U Input #1, TNInScene For U = 0 To TNInScene - 1 Input #1, TNName Input #1, ShName If ShName <> "" Then ShNum = FindShape(ShName) If ShNum = -1 Then MsgBox "Shape not found: " & ShName End Else ShNum = -1 CurTN = CreateTransformNode(ShNum, TNName) Input #1, TrnNds(CurTN).ChildName Input #1, TrnNds(CurTN).BrotherName Input #1, TrnNds(CurTN).tX, TrnNds(CurTN).tY, TrnNds(CurTN).tZ Input #1, TrnNds(CurTN).rX, TrnNds(CurTN).rY, TrnNds(CurTN).rZ Input #1, TrnNds(CurTN).sX, TrnNds(CurTN).sY, TrnNds(CurTN).sZ Input #1, TrnNds(CurTN).pX, TrnNds(CurTN).pY, TrnNds(CurTN).pZ Next U ' Trasfroma i nomi in indici For U = 0 To TNInScene - 1 If TrnNds(U).ChildName <> "" Then TrnNds(U).ChildID = FindTn(TrnNds(U).ChildName) Else TrnNds(U).ChildID = -1 If TrnNds(U).BrotherName <> "" Then TrnNds(U).BrotherID = FindTn(TrnNds(U).BrotherName) Else TrnNds(U).BrotherID = -1 Next U Close #1 End Sub La nuova procedura di caricamento supporta anche TN privi di Shape (in modo da trattare anche i gruppi). Essa lavora in due fasi: dopo la prima fase di caricamento, ne avvine una in cui vengono ricavati gli ID dei TN collegati (figli e fratelli) in base al nome specificato nel file. Cambieremo la procedura di caricamento, in modo che carichi un File nel nuovo formato. E spostermo tutte le operazioni di disegno e trasformazione all'interno del ciclo di rendering in una procedura estarna.
8 La nuova procedura di rendering deve per prima cosa calcolare la matrice di trasformazione del nodo. Quindi deve concatenare questa matrice di trasformazione a quella del nodo padre. Se presente la Shape, adesso questa puo' essere disegnata. Si puo' quindi procedere a disegnare i nodi figli. I nodi figli dovranno essere disegnati concatenando la loro matrice di trasformazione a quella appena calcolata. Si puo' poi passare a disegnare eventuali nodi fratelli. Questi dovranno concatenare la loro matrice di trasformazione a quella del nodo padre. Una volta fissata la matrice di partenza a cui concatenare la propria trasformazione, le operazioni da fare sono sempre le stesse per tutti i nodi. Questo puo' essere implementato in modo molto efficente ed elegante utilizzando un Ricorsione. La procedura di disegno e' la seguente: Private Sub rendernode(matpar As D3DMATRIX, Id As Integer) Dim mattemp As D3DMATRIX Dim matworld As D3DMATRIX With TrnNds(Id) ' Imposta le trasformazioni dell'oggetto D3DXMatrixIdentity matworld If.sX *.sy *.sz < 0 Then D3DDevice.SetRenderState D3DRS_CULLMODE, D3DCULL_CW Else D3DDevice.SetRenderState D3DRS_CULLMODE, D3DCULL_CCW D3DXMatrixRotationX mattemp,.rx * ( / 180) D3DXMatrixRotationY mattemp,.ry * ( / 180) D3DXMatrixRotationZ mattemp,.rz * ( / 180) D3DXMatrixTranslation mattemp, -.px, -.py, -.pz ' Sposta il pivot D3DXMatrixTranslation mattemp,.tx +.px,.ty +.py,.tz +.pz D3DXMatrixScaling mattemp,.sx,.sy,.sz D3DXMatrixMultiply matworld, matworld, matpar ' concatena le trasforamzioni dei genitori
9 ' Se il TN ha una shape associata, la di If.ScObj >= 0 Then D3DDevice.SetTransform D3DTS_WORLD, matworld With SceneObjs(.ScObj) D3DDevice.SetMaterial.Material ' Imposta la texture D3DDevice.SetTexture 0,.te ' Disegna l'oggetto D3DDevice.SetStreamSource 0,.VBuffer, _ Len(.V(0)) D3DDevice.SetIndices.IBuffer, 0 D3DDevice.DrawIndexedPrimitive D3DPT_TRIANGLELIST, 0, _.TotV, 0,.TotI / 3 End With If.BrotherID >= 0 Then ' se c'e almeno un fratello rendernode matpar,.brotherid ' Lo visualizza con la stessa trasformazione End With End Sub If.ChildID >= 0 Then ' se c'e almeno un figlio rendernode matworld,.childid ' Lo visualizza con la nuova trasformazione Tale procedura prende in Input due parametri: la matrice di trasformazioni da concatenare e l'id del nodo da disegnare. Essa calcola la matrice di trasformazione, gestendo anche il punto Pivot. La matrice viene quindi concatenata a quella creata dal nodo padre. Quindi richiama se stessa, per disegnare i nodi figli, passandovi come matrice di partenza quella appena calcolata. Infine richiama se stessa per disegnare i nodi fratelli, passandogli come matrice di trasformazione quella passatagli dal nodo padre.
Pelli ed ossa in DirectX
Informatica Grafica ][ Pelli ed ossa in DirectX Le DirectX supportano i sistemi di ossa e le pelli attraverso una tecnica chiamata Index Vertex Blending. Essa permette di stabilire la posizione di un vertce
Importare una scena. Vertex ed Index Buffer. Informatica Grafica ][ Vertex ed Index Buffer. Vertex ed Index Buffer. Vertex ed Index Buffer
Informatica Grafica ][ Le primitive di disegno viste fino ad ora leggevano le coordinate dei triangoli direttamente dalla memoria centrale del PC. Alcune schede video moderne, sono capaci di memorizzare
Gerarchie, storia e livelli
Informatica Grafica ][ Gerarchie, storia e livelli Nel corso di IG 1 avevamo parlato di due modalita' diverse di duplicazione di un oggetto: copia e riferimento. Un oggetto duplicato per copia, e' un oggetto
Texture in DirectX. Le Texture in DirectX. Informatica Grafica ][ Le Texture in DirectX. Le Texture in DirectX. Le Texture in DirectX
Informatica Grafica ][ Texture in DirectX Marco Gribaudo marcog@di.unito.it DirectX supporta le texture in numerosi punti della sua Pipeline. In particolare, le DirectX 8, possono supportare fino a 8 texture
BANG! Le Sprite. Le Sprite. Informatica Grafica ][ Le Sprite. Le Sprite. Le Sprite. Le Sprite
Informatica Grafica ][ Marco Gribaudo marcog@di.unito.it Ogni applicazione 3D interattive, ha comunque bisogno di sovrapporre elementi bidimensionali agli elementi 3D. Solitamente questi vengono adoperati
Le trasformazioni 3D. Le trasformazioni in 3D. Informatica Grafica ][ Le trasformazioni in 3D. Le trasformazioni in 3D. Le trasformazioni in 3D
Informatica Grafica ][ Le trasformazioni 3D Come abbiamo visto in precedenza, vi sono tre tipi di trasformazioni base in grafica 3D: Traslazione Rotazione Variazione di scala Marco Gribaudo marcog@di.unito.it
Un esempio di applicazione: Robot Dance
Informatica Grafica ][ Un esempio di applicazione: Robot Dance Robot Dance e' un gioco dove l'utente controlla un Robot ballerino Marco Gribaudo marcog@di.unito.it La prima cosa da fare e' determinare
Le mappe normali e di altezza
Informatica Grafica ][ Le mappe normali e di altezza Abbiamo visto come realizzare personaggi ed ambienti virtuali. I mondi visti fino ad adesso erano pero' "piatti": la terza dimensione non era un elemento
Un esempio di applicazione: PaperCity
Informatica Grafica ][ Un esempio di applicazione: PaperCity In questa lezione vedremo come utilizzare il codice sviluppato fino ad ora per crerae un semplice videogioco. Tale gioco consistera' nella guida
Indici ed introduzione a Maya
Informatica Grafica ][ Indici ed introduzione a Maya Supponiamo di voler disegnare un oggetto a forma di farfalla: Marco Gribaudo marcog@di.unito.it E' costituito da 8 vertici, le cui coordinate sono:
Primitive 3D. Lo Z-Buffer. Informatica Grafica ][ Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer
Informatica Grafica ][ Primitive 3D Fino ad ora abbiamo utilizzato solamente triangoli singoli. In questa lezione vedremo come disegnare primitive composte da piu' triangoli. Prima pero' dovremo attivare
Gerarchie e punti Pivot
Informatica Grafica per le arti e punti Pivot Il Rigging Dopo aver prodotto un modello tridimensionale, occorre aggiungervi alcuni speciali controlli per semplificarne l'animazione. Questa fase prende
Modellazione poligonale
Informatica Grafica ][ Modellazione poligonale La tecnica di modellazione poligonale permette di costruire oggetti tridimensionali basati su poligoni. Malgrado gli oggetti poligonali siano spigolosi per
Animazione con le DirectX
Informatica Grafica ][ Animazione con le DirectX Si e' visto come Maya codifichi al suo interno le animazioni, utilizzando chiavi ed interpolazioni. Si e' anche detto che replicare questo comportamento
Relazione del programma di statistica: Bernoulli Poisson.
Relazione del programma di statistica: Bernoulli Poisson. Vincoli imposti dal problema : Predisporre un programma che, assegnati in input n, p permetta di determinare la distribuzione della variabile casuale
Lezione 15 programmazione in Java. Nicola Drago Dipartimento di Informatica Università di Verona
Lezione 15 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO Il modificatore abstract Le classi
Esercitazioni di Elementi di Informatica
Esercitazioni di Elementi di Informatica Docente: Prof. Angelo Chianese angelo.chianese@unina.it Tutor: Ing. Antonio Picariello antonio.picariello@unina.it Interpreti e Compilatori Interprete Es. Qbasic
Le deformazioni. Animazione di parametri. Informatica Grafica ][ Animazione di parametri: colore. Animazione di parametri: colore
Informatica Grafica ][ Marco Gribaudo marcog@di.unito.it Le deformazioni Animazione di parametri Nelle scorse lezioni abbiamo concentrato la nostra attenzione su come si possano animare le trasformaizoni.
PROCEDURE E FUNZIONI
VB.NET PROCEDURE E FUNZIONI La sintassi Non sempre le procedure e le funzioni fornite dal Vb.Net bastano a soddisfare le nostre necessità di programmazione, quindi si possono scrivere nuove procedure e
La teoria alla base dei sistemi di pelli ed ossa
Informatica Grafica ][ La teoria alla base dei sistemi di pelli ed ossa Marco Gribaudo marcog@di.unito.it Nelle scorse lezioni abbiamo visto come si possono realizzare i sistemi di ossa e le pelli in Maya.
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione For Permette di eseguire un blocco
Le texture. Le texture. Informatica Grafica ][ Le texture. Le texture. Le texture. Le texture
Informatica Grafica ][ Come visto nel corso di IG1, le texture peremttono di applicare immagini sulle superfici di oggetti tridimensionali. Nella grafica in tempo reale esse assumono un'importanza ancora
Modellazione poligonale in Maya
Informatica Grafica ][ Modellazione poligonale in Maya La tecnica di modellazione poligonale permette di costruire oggetti tridimensionali basati su poligoni. Malgrado gli oggetti poligonali siano spigolosi
Lezione 3: Le librerie. Trasformazioni ed elaborazioni. Le librerie. Le librerie. Le librerie. Copie e librerie in SVG
Informatica Grafica 2003 Lezione 3: Trasformazioni ed elaborazioni Molti programmi permettono di memorizzare copie degli oggetti utilizzati più di frequente in opportune librerie. In questo modo è possibile
Modellazione poligonale
Informatica Grafica per le arti Modellazione poligonale Ogni solido rappresentato in un programma di grafica 3D, viene visualizzato mediante un insieme di triangoli. Un insieme di triangoli adiacenti prende
SimpleFS - un semplice filesystem. Prova finale di Algoritmi e Principi dell Informatica. DEIB, Politecnico di Milano. Anno accademico
SimpleFS - un semplice filesystem Prova finale di Algoritmi e Principi dell Informatica DEIB, Politecnico di Milano Anno accademico 2016-17 Sommario L obiettivo è l implementazione di un semplice filesystem
In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi.
In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi. 1 strutture dati (astratte) Una struttura dati astratti consiste di uno o più insiemi con delle operazioni
Introduzione alla Grafica 3D
Informatica Grafica I Introduzione alla Grafica 3D La realizzazione di grafica tridimensionale e' un processo molto complicato che richiede notevole potenza di calcolo. Generare un'immagine tridimensionale
RICERCA BINARIA...1 ALBERO BINARIO DI RICERCA (ABR)...3 RICORSIONE...4 ESEMPI DI RICORSIONE IN VISUAL BASIC...5 ESEMPI DI RICORSIONE IN C / C++...
Tre piccioni con una fava: Ricerca Binaria, Albero Binario di Ricerca e Ricorsione prof. Claudio Maccherani - 2006 / 2007 foto Claudio Maccherani RICERCA BINARIA...1 ALBERO BINARIO DI RICERCA (ABR)...3
Elementi di Informatica e Programmazione
Università degli Studi di Brescia Elementi di Informatica e Programmazione PROGRAMMAZIONE Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 25/11/2015.B Dipartimento di Ingegneria Meccanica e Industriale
Algoritmo per l ordinamento di un array
Algoritmo per l ordinamento di un array Spesso si ha la necessità di lavorare con vettori ordinati, cioè si devono mettere gli elementi in ordine alfabetico se sono stringhe o in in ordine di grandezza
Indici multilivello dinamici (B-alberi e B + -alberi) Alberi di ricerca - 1. Un esempio. Alberi di ricerca - 3. Alberi di ricerca - 2
INDICI MULTILIVELLO DINAMICI Indici multilivello dinamici (B-alberi e B + -alberi) Gli indici multilivello dinamici (B-alberi e B + -alberi) sono casi speciali di strutture ad albero. Un albero è formato
I sistemi di ossa. I sistemi di ossa. Informatica Grafica ][ I sistemi di ossa. I sistemi di ossa. I sistemi di ossa.
Informatica Grafica ][ Nelle precedenti lezioni abbiamo visto come si possano animare oggetti in Maya e Motion Builder. In particolare abbiamo visto come si possa limitare la quantita' di memoria occupata,
I Clip Filmato. I marker. Informatica Grafica per le arti. I marker. I marker. I marker. I marker. gotoandplay("inizio");
Informatica Grafica per le arti Marco Gribaudo marcog@di.unito.it Un strumento utile per organizzare il proprio filmato è quello di assegnare nomi a fotogrammi di particolare importanza. I nomi utilizzati
Questa ci consente di assegnare un nome alla macro, la cartella di destinazione e una breve descrizione che potrà servirci da promemoria.
Uso di Excel Esecuzione automatica di procedure Prof. Ettore Limoli Registrazione di MACRO Per automatizzare alcune azioni ripetitive in Excel è possibile attivare la registrazione di MACRO. Inserendo
Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni.
Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni. Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro
Il software Epi Info
Il software Epi Info Controlli sui dati nell esempio dello studio sulla compliance: Crea maschera Controlli sui valori dei dati Quando si creano i campi (clic destro sulla maschera) è già possibile utilizzare:
Materiali avanzati. Informatica Grafica I. Riflessioni e trasparenze. Raytracing. Raytracing. Raytracing. Raytracing
Informatica Grafica I Materiali avanzati Marco Gribaudo marcog@di.unito.it Molti degli oggetti modellabili sono costituiti da superfici trasparenti o riflettenti. I materiali Raytrace permettono di impostare
Programmazione con il linguaggio LibreOffice Basic
Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
Testi di esame precedenti a.a. e soluzioni
Fondamenti di Informatica mod. 2 2018/2019 M.Di Ianni Testi di esame precedenti a.a. e soluzioni 1 Problemi Problema 6.1: Dimostrare che, per ogni costante intera positiva k, 2 nk è una funzione time-constructible.
Note per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
Corso di VIDEOGAMES. PROGETTO Labirinto. Guida alla creazione di un VIDEOGAMES. Parte SECONDA Creiamo il Labirinto ed iniziamo a Muovere il Giocatore
Guida alla creazione di un VIDEOGAMES PROGETTO Labirinto Parte SECONDA Creiamo il Labirinto ed iniziamo a Muovere il Giocatore prof. Michele Salvemini Indice Il labirinto... 3 Integriamo la classe Console...
Il pulsante permette di selezionare alcuni documenti da aggiungere al database.
SESHAT CATASTO - Software di consultazione Le prospettive specifiche dell'ambiente sono: - Esplora - Ricerca per mappe - Visualizza anteprima - Visualizza schede archivistiche Esplora Disponibile dalla
Esportare animazioni. Animazioni compatibili. Informatica Grafica ][ Animazioni compatibili. Animazioni compatibili. Animazioni compatibili
Informatica Grafica ][ Esportare animazioni Quando si creano animazioni per essere esportate in un motore di rendering, queste devono essere create con particolari accorgimenti. Il processo di sequenzializzazione
VBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
Analizzatori sintattici a discesa ricorsiva
Analizzatori sintattici a discesa ricorsiva E uno schema di analizzatore che sfrutta la descrizione grammaticale in EBNF adatto a grammatiche LL(1). Si basa sulla scrittura di procedure ricorsive ricavate
Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS
Windows La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh La gestione dei file conserva la logica del DOS Funzionalità di un S.O. Gestione dei file Gestione dei
Texture e coordinate di mappatura
Informatica Grafica ][ Texture e coordinate di mappatura I progetti Un animazione in Maya e' spesso costituita da molti file. Questi file sono organizzati in una serie di cartelle standard, che vengono
Relazione del programma di matematica: Goniometria:retta,circonferenza,parabola.
Relazione del programma di matematica: Goniometria:retta,circonferenza,parabola. Vincoli imposti dal problema : Disegnare una retta, una circonferenza, ed una parabola di varie dimensioni, con coordinate
ADT Coda con priorità
Code con priorità ADT Coda con priorità Una coda con priorità è una struttura dati dinamica che permette di gestire una collezione di dati con chiave numerica. Una coda con priorità offre le operazioni
Relazione del programma di statistica: Curva di Gauss.
'' Relaione di statistica Relaione del programma di statistica: Curva di Gauss. Vincoli imposti dal problema : Calcolare l area di probabilità compresa tra due intervalli(, ), sottostante la curva normale
Esercitazione 3. Heapsort
Esercitazione Heapsort Heapsort Algoritmo di ordinamento che utilizza una struttura dati detta heap per la gestione delle informazioni Tempo di esecuzione O(n lg n) Heap (binario) = struttura dati composta
strutturati November 23, 2017
strutturati November 23, 2017 1 Documenti strutturati (cap 15) I documenti strutturati si possono rappresentare come alberi i cui nodi definiscono le differenti sezioni del documento, che a loro volta
Modellazione Poligonale Avanzata
Informatica Grafica I Modellazione Poligonale Avanzata Il (FFD) inserisce un oggetto in una gabbia (a forma di parallelepipedo o di cilindro). Spostando i vertici della gabbia si deforma il solido in esso
4. I moduli in Access 2000/2003
LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate
Macchine di Turing: somma di due numeri
Informatica Teorica 2/2 M.Di Ianni Macchine di Turing: somma di due numeri Vogliamo definire una macchina di Turing che, presi in input due numeri n e m espressi in notazione binaria, calcola il valore
Esercizi su strutture dati
Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate
Mesh e nodi di trasformazione
Informatica Grafica per le arti Mesh e nodi di trasformazione Come avevamo accennato in precedenza, tutti gli oggetti visualizzati in grafica 3D, si basano sulle posizioni dei loro vertici all'interno
Le primitive tridimensionali
Informatica Grafica I Le primitive tridimensionali Lo schermo del calcolatore e' in grado di visualizzare immagini bidimensionali. In grafica 3D si modellano oggetti in tre dimensioni. Le proiezioni sono
IMPOSTAZIONI DI EXCEL. Per rendere disponibile l ambiente di sviluppo di Visual Basic for Application in Excel:
Impostazioni di Excel IMPOSTAZIONI DI EXCEL Per rendere disponibile l ambiente di sviluppo di Visual Basic for Application in Excel: Excel Options / Popular oppure Excel Options / Customize ribbon selezionare:
Le primitive tridimensionali
Informatica Grafica I Le primitive tridimensionali Lo schermo del calcolatore e' in grado di visualizzare immagini bidimensionali. In grafica 3D si modellano oggetti in tre dimensioni. Le proiezioni sono
Lezione 6 Struct e qsort
Lezione 6 Struct e qsort Rossano Venturini rossano.venturini@unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Struct Struct Fino ad ora abbiamo utilizzato
Esercitazione 4 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016
Esercitazione 4 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 5, 2016 Alberi Esercizio 1 * [Libro 5.2] Dato un albero ordinato i cui nodi contengono valori interi, se ne vogliono
ancora una linked list #ifndef MENU_SYSTEM #define MENU SYSTEM MENU_SYSTEM typedef char MenuText[80]; typedef struct MenuItemStruct
Sistema di Menù Progettare un componente che consenta la visualizzazione di menù multilivello Un menù è composto di varie voci, ognuna delle quali può essere composta da varie sotto-voci, ognuna delle
Lezione 8 Struct e qsort
Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort
Esercizi su alberi binari
Esercizi su alberi binari Esercizi svolti: Determinazione nodi contenti verifica completezza verifica quasi completezza lunghezza del cammino interno determinazione ultima foglia in un quasi completo verifica
ISTRUZIONI A B K A, B, K A<B? SI A<B? SI A<B? SI
SECONDA PARTE 6. LA RIPETIZIONE while ISTRUZIONI A B K A, B, K 0 10 0 While A
Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;
EXCEL Modulo 3 I Grafici Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; Quando si crea un grafico ogni
Alberi binari di ricerca
Alberi binari di ricerca Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010
Formalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpretazioni non univoche
Modficare ed organizzare le primitve
Informatica Grafica I Modficare ed organizzare le primitve Una volta inserite le varie primitive componenti un disegno, dev'essere possibile modificare gli oggetti. Prima di modificare un oggetto, occorre
Università degli Studi di L Aquila Facoltà di Scienze M.F.N. Corso di Laurea in Informatica. Modulo di Laboratorio di Algoritmi e Strutture Dati
Università degli Studi di L Aquila Facoltà di Scienze M.F.N. Corso di Laurea in Informatica Modulo di Laboratorio di Algoritmi e Strutture Dati Alberi binari Giovanna Melideo melideo@di.univaq.it 1 Alberi
Strutture di Controllo IF-ELSE
Strutture di Controllo IF-ELSE Come viene eseguito un programma? Un programma viene eseguito rispettando l ordine in cui le istruzioni vengono scritte dal programmatore: Si parte dalla prima istruzione
LabView: Corso Base pag. 7
LabView: Corso Base pag. 7 Cicli ripetitivi enumerativi o ciclo FOR Le istruzioni all interno del ciclo vanno ripetute un numero prefissato di volte. Al programma va fornito il numero di ripetizioni desiderato.
Primi passi con Geogebra
Primi passi con Geogebra La finestra di GeoGebra - versione 4 A. Aprire l applicazione GeoGebra 1. Sul desktop, fare doppio click sull icona di Geogebra B. Dopo l avvio di GeoGebra La finestra che normalmente
Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
La Back Office Console consente di costruire lo scheletro degli schema.
BACK OFFICE CONSOLE 1.1 Introduzione 3 1.2 Creazione di uno Schema 4 1.2.1 Struttura dello Schema 5 1.2.2 Caratteristiche dei campi 6 1.2.3 Traduzioni 8 1.3 Ricerca degli schema 8 1.4 Gestione delle Categorie
Modellazione poligonale - parte II
Informatica Grafica per le arti Modellazione poligonale - parte II Una componente connessa di una Mesh, e' un insieme di vertici e facce collegati tra loro. In Blender una Mesh puo' essere costituita da
Uso di Optimax MPL OptiMax
Uso di Optimax 2000 Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - gennaio 2003 MPL OptiMax OptiMax 2000 è una libreria di oggetti che rende disponibile le funzionalità di
SICaR. Sistema Informativo per i Cantieri di restauro. Guida alla consultazione. CONTATTI
SICaR Sistema Informativo per i Cantieri di restauro Guida alla consultazione CONTATTI sicar@beniculturali.it DATI GESTITI DAL SISTEMA 1. DATI VETTORIALI O GEOMETRICI Rilievo grafico, ortofotopiano, o
Visual basic base Lezione 13. Ancora su ListBox e cicli
Ancora su ListBox e Cicli Ancora su ListBox e cicli Oggi torniamo sulle ListBox e i cicli. Per prima cosa vogliamo mostrare come gestire le ListBox in cui vogliamo permettere una selezione multipla. Per
SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project
Database and data mining group, SQL Server 2005 Integration Services SQL Server 2005: ETL - 1 Database and data mining group, Integration Services Project Permette di gestire tutti i processi di ETL Basato
Scritto di Algoritmi e s.d. (1o anno) 30 Giugno 2006 RISPOSTE
Scritto di Algoritmi e s.d. (1o anno) 30 Giugno 2006 RISPOSTE COGNOME: NOME: Esercizio 1 Esercizio 2 se necessario usare anche il retro del foglio 1 Esercizio 3 2 Esercizio 4 3 Esercizio 5 Indicare chiaramente
1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.
Esercizi di Matlab L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi. Esempio Consideriamo la matrice A formata da n = righe e m = colonne M = 5 6 7 8. 9 0
Esercizio 1. Esercizio 2
Esercizio 1 Si scriva un programma C che realizza l'assegnazione ottima di un insieme di persone ad un insieme di città avente la stessa cardinalità. Ogni persona ha espresso una serie di preferenze, elencando
Fondamenti di Informatica 1 - Compito A
Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 15 settembre 2010 Esercizio (punti 16) Un file di testo poligono.txt contiene le coordinate dei punti che rappresentano i vertici di un poligono;
LEGGE CASA L.R. 24/2009 MANUALE OPERATIVO UTENTI PARTOUT
LEGGE CASA L.R. 24/2009 UTENTI PARTOUT VERSIONE DATA EMISSIONE 1 26/02/2010 INDICE ACCESSO AL SISTEMA... 3 Autenticazione... 3 MENU DEL SISTEMA... 5 MONITORAGGIO LEGGE CASA... 6 Ricerche... 6 Elenco...
I clip filmato (in Flash)
Informatica Grafica I I clip filmato (in Flash) Gli statement Ogni istruzione di uno script viene chiamata statement. La fine di uno statmenet e' indicata dal simbolo ;. Anche se in ActionScript il ; è
Fondamenti di Informatica 2
Matricola Nome Cognome Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (5 punti) Date le seguenti strutture dati: float elementi[5]; int numeroelementi; int elementi[5][5]; int numerorighe; int numerocolonne;
LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve
LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione
In questa lezione Alberi binari di ricerca: la cancellazione
In questa leione Alberi binari di ricerca: la cancellaione 1 L algoritmo di Hibbard per cancellare (1962) Sia il nodo da cancellare: 1) è una foglia: si rimuove 2) ha un solo figlio x: si rende x figlio
VISUAL BASIC FOR APPLICATION
VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia
Macchina di Turing. La macchina di Turing e la realizzazione di una automa ed è costituita da:
Macchina di Turing La macchina di Turing e la realizzazione di una automa ed è costituita da: a) un nastro illimitato suddiviso in caselle; b) una testina di lettura/scrittura; c) un organo di controllo
Materiali avanzati. Informatica Grafica per le arti. Raytracing. Raytracing. Raytracing. Raytracing. Raytracing
Informatica Grafica per le arti Materiali avanzati Marco Gribaudo marcog@di.unito.it Molti degli oggetti modellabili sono costituiti da superfici trasparenti o riflettenti. I materiali Raytrace permettono
Excel & VBA. Excel e Visual Basic for Application
Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria
Alberi binari e alberi binari di ricerca
Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
Architetture data-flow
Architetture data-flow Le architetture che abbiamo visto finora sono dette architetture control flow. Ciò sta ad indicare che il flusso dell elaborazione è dettato dall ordine con cui le varie istruzioni
Nella finestra successiva dovremo cercare l immagine che vogliamo appiccicare nel file.
Come realizzare i disegni in Autocad partendo da un immagine L obbiettivo di questo articolo, è quello di poter avere a disposizione le linee di costruzione in qualsiasi scala, senza dover fare decine