VTK - The Visualization Toolkit. Del 1 Introduksjon til VTK VTK. Objektorientering (OO) i C++ Objekt-orientert bibliotek for visualisering Fordeler:
|
|
- Theodor Brekke
- 7 år siden
- Visninger:
Transkript
1 VTK - The Visualization Toolkit Del Introduksjon til VTK Objekt-orientert bibliotek for visualisering Fordeler: Fritt tilgjengelig Stor brukergruppe Godt designet, testet og dokumentert (se VTK brukermanual på kurssiden!) Rik funksjonalitet, fleksibelt Pedagogisk! Portabelt (MS Windows, SGI, Sun, Linux...) Kan brukes fra flere vertsspråk (C++, Tcl/Tk, Python, Java,...) Mulighet for utvidelser med egne C++ klasser INF2340 / V04 2 VTK Ulemper: Dårlig ytelse (i mange tilfeller) Utnytter ikke visse typer maskinvare for grafikk... Til dels dårlig dokumentasjon... Objektorientering (OO) i C++ En klasse er en datatype med tilstand (variable, data, datastrukturer,...) algoritmer for å endre tilstanden (prosedyrer, funksjoner, metoder, operasjoner,...) Et objekt er en instansiert klasse (instans av en klasse) INF2340 / V04 3 INF2340 / V04 4
2 Eksempel Litt notasjon for OO-modellering class Adder { public: void Add(int x, int y) {sum = x + y;} int GetSum() {return sum;} private: int sum; }; Adder a; a.add(3, 4); cout << a.getsum() << \n ; A B En klasse Et objekt (instans av klassen A) A A er en generalisering av B (A er en superklasse (baseklasse) av B) B er et spesialtilfelle av A (B er en subklasse (avledet klasse) av A) A B A har kjennskap til B (assosiasjon) (Egentlig: A har behov for å kjenne til B!) A Adder* a2 = new Adder; a2->add(5, 6); cout << a2->getsum() << \n ; INF2340 / V04 5 A B A og B har kjennskap til hverandre (toveis assosiasjon) A B A består av B, B er en del av A (aggregering - spesiell form for assosiasjon) INF2340 / V04 6 A A A osv. Litt OO notasjon (forts.) B A består av nøyaktig én instans av B 0.. B A består av null eller én instans av B 0..* B A består av null eller flere instanser av B VTK - Overordnet Arkitektur..*..*..*..*..*..* 0..* 0.. Tilsvarende for assosiasjon! INF2340 / V04 7 INF2340 / V04 8 2
3 *..*..*..* 0..*..*..*..*..*..*..* 0..*..*..* Ansvarlig for opptegning av all grafikk i et hovedvindu. Håndterer mus- og tastaturhendelser ( events ). Gir -objektet beskjed om ny opptegning der typisk verdier i objektene er endret. INF2340 / V04 9 INF2340 / V *..*..*..* 0..*..*..*..*..*..*..* 0..*..*..* Representerer et geometrisk objekt i en 3D scene. Mange operasjoner utføres på en 3D aktør som helhet, bl.a. skjuling, deformering og rotasjon. Definerer egenskaper for flaten til en 3D aktør, deriblant farge hvordan lys reflekteres representasjonsform ((fylte) polygoner, linjer eller punkter) transparens INF2340 / V04 INF2340 / V04 2 3
4 *..*..*..* 0..*..*..* Representerer sluttproduktet i i form av et sett med grafiske primitiver. Flere detaljer om kommer senere!..*..*..*..* 0..*..*..* Ansvarlig for å lage et 2D bilde av 3D aktørene eller 2D aktørene vtkviewport..*..* 2D INF2340 / V04 3 INF2340 / V *..*..*..* 0..*..*..*..*..*..*..* 0..*..*..* Definerer en lyskilde for belysning av 3D aktørene. En lyskilde kan bl.a. ha farge og plassering. Definerer synsvinkelen vi betrakter 3D aktørene med. Bl.a. kan graden av perspektiv manipuleres. INF2340 / V04 5 INF2340 / V04 6 4
5 Instansiering av objekter VTK-objekter skal alltid instansieres med New og slettes med Delete! * rdr = ::New(); rdr->delete(); Pga. Dynamisk minnehåndtering garbage collection Korrekt instansiering av subklasser (se kap. 3.0 i VTK-boka)... INF2340 / V04 7 Sammenkobling av objekter SetRenderWindow 0.. AddRenderer..*..* AddActor..*..*..* SetMapper AddLight..* SetActiveCamera 0..* SetProperty Disse instansieres (og kobles opp) automatisk INF2340 / V04 8 Sammenkobling av objekter i SetInput GetOutput vtkspheresource vtkspheresource* ssphere = vtkspheresource::new(); vtkpolydatamapper* msphere = vtkpolydatamapper::new(); msphere->setinput(ssphere->getoutput()); Mer om dette senere! Typisk hovedstruktur i et C++/VTK program i IN229 // Inkludering av nødvendige filer // *** Hovedprogram *** main() { // - Instansiér og koble sammen, og // evt. objekter. // - Instansiér aktør objekter og deres tilhørende visualization // pipelines // - Koble aktør objektene til objektet/objektene // - Sett opp vinduet og start evt. mus/tastatur interaksjon } Se pekeren Kompilering av... på kurs-siden for et eksempel (sphere.c) INF2340 / V04 9 INF2340 / V
6 VTK så langt Nok informasjon til å lage enkle programmer der fokus ikke er på visualization pipeline Bruk manualsidene! Del 2 Grafisk databehandling INF2340 / V04 2 Lys Elektromagnetisk energi med bølgelengde i intervallet 400- til 700 nm (0-9 m) Kosmisk stråling Gamma stråling Røntgen Ultrafiolett Infrarødt Mikrobølge Radar Radio (nm) Fargen til et objekt Definert som bølgelengdene det reflekterer eller transmitterer (genererer selv) Synlig lys (nm) INF2340 / V04 23 INF2340 / V
7 Fargeoppfattelse Defineres typisk vha. tre størrelser: dominerende bølgelengde Akromatisk lys (gråtoner) Ingen dominerende bølgelengde Metning lik null metning ( avstand fra grått) intensitet ( lyshet ) INF2340 / V04 25 INF2340 / V04 26 Øyet To typer fotoreseptorer: staver ( rods ) aktive ved svakt lys (om natten etc.) oppfatter mest gråtoner tapper ( cones ) aktive ved normalt lys oppfatter alle farger (inkl. gråtoner) tre typer - mest sensitive for hhv. blått, grønt og rødt Bølgelengde (nm) fiolett! INF2340 / V04 27 INF2340 / V
8 Fargesyntese Additiv kombinasjon av farget lys dataskjermer totalfargen lysere (mer intens) og mer mettet enn enkeltkomponentene modeller: RGB, HSV Subtraktiv refleksjon fra kombinasjon av fargede pigmenter printere totalfargen mørkere (mindre intens) og mindre mettet enn enkeltkomponentene modeller: CMY(K) INF2340 / V04 29 Fargemodeller (-rom) RGB-kuben Blue (0, 0, ) Cyan (0,, ) Magenta (, 0, ) White (,, ) Gråtoner Black (0, 0, 0) Green (0,, 0) Red (, 0, 0) Yellow (,, 0) INF2340 / V04 30 Basiskomponenter: R (red), G (green) og B (blue) Additiv syntese Fargeskjermer Fargen oppfattes som hvit når hver komponent har full intensitet Fargen oppfattes som sort når hver komponent har null intensitet CMY(K)-kuben Yellow (0, 0, ) Red (0,, ) Green (, 0, ) Black (,, ) Gråtoner White (0, 0, 0) Magenta (0,, 0) Cyan (, 0, 0) Blue (,, 0) INF2340 / V04 3 INF2340 / V
9 Basiskomponenter: C (cyan), M (magenta) og Y (yellow) Subtraktiv syntese Printere Fargen oppfattes som sort når hver komponent har full intensitet Fargen oppfattes som hvit når hver komponent har null intensitet I praksis (trykkeribransjen) brukes en fire-farge teknikk med sort (K) som en fjerde farge Fordeler med kubemodellene Enkel geometri Korresponderer direkte med maskinvare (RGB-kanonene i skjermen effektiv! INF2340 / V04 33 INF2340 / V04 34 Ulemper med kubemodellen En gitt RGB-verdi vil ikke nødvendigvis gi samme farge på andre skjermer! RGB kan i praksis ikke overføres direkte til CMY kun ved å ta inversen (R = - C) Sammenhengen mellom forskjell i fargeoppfattelse og geometrisk avstand mellom to fargepunkter varierer med hvor i kuben man er (f.eks. enklere å skille farger i det lyse hjørnet!) Representerer styrken på RGB-kanonene i skjermen i større grad enn hvordan fotoreseptorene i øyet oppfatter farge Ikke spesielt intuitiv! HSV-modellen Basert på kunstmaler-modell Blanding med hvitt Ren farge Blanding med både hvitt og sort Gråtoner Blanding med sort INF2340 / V04 35 INF2340 / V
10 HSV = generalisert kunstmaler-modell: V Green 20 Yellow 60 Cyan 80 White.0 Red 0 Blue 240 Magenta 300 Fordeler med HSV-modellen Intuitiv! Enkel geometri (nesten like enkel som RGB) Enkel algoritme for å konvertere til RGB Basiskomponenter: H (hue), S (saturation) og V (value) Additiv syntese Fargeskjermer Black 0.0 H S INF2340 / V04 37 INF2340 / V04 38 Ulemper med HSV-modellen En gitt HSV-verdi vil ikke nødvendigvis gi samme farge på andre skjermer! Sammenhengen mellom forskjell i fargeoppfattelse og geometrisk avstand mellom to fargepunkter varierer med hvor man er (spesielt langs hue -dimensjonen: langsommere endringer ved RGB-vinklene) Aksene oppfattes ikke som helt ortogonale (uavhengige). F.eks. vil ulike punkter i HS-planet kunne gi litt ulik intensitet selv om V er numerisk konstant. RGB vs HSV RGB (red, green, blue) and HSV (hue, saturation, value) colour systems. Color RGB HSV Black 0,0,0 *,*,0 White,, *,0, Red,0,0 0,, Green 0,,0 0.33,, Blue 0,0, 0.67,, Sky Blue 0.5,0.5, 0.67,0.5, INF2340 / V04 39 INF2340 / V
11 Basal Maskinarkitektur for Rastergrafikk Frame buffer Grensesnitt mot vertsmaskin Grafikk kommandoer Display controller Video controller Interaksjons data Mus / Tastatur Pixel (picture element) INF2340 / V04 4 Skjermoppløsning vs. pixeldybde Skjermoppløsning = antall pixler Pixeldybde = antall bit pr pixel F.eks. en skjerm med oppløsning 280x024 og pixeldybde 24, krever 3.75 MB RAM Skjermoppløsning Pixeldybde INF2340 / V bits fargebuffer s fargebuffer - alternativ Video controller Video controller 2 bit Blue 3 bit Green 3 bit Red (2 8 ) 3 = 6,777,26 ulike farger i et enkelt pixel ubegrenset antall ulike pixler (med dagens skjermoppløsning!) 2 8 = 256 ulike farger i et enkelt pixel 2 8 = 256 ulike pixler INF2340 / V04 43 INF2340 / V04 44
12 s fargebuffer - alternativ 2 (bedre) 0 Colormap (Lookup Table) 24 bit (2 8 ) 3 = 6,777,26 ulike farger å velge mellom 2 8 = 256 ulike pixler 255 Video controller 24 bit Annen bruk av frame buffer et Bl.a. Dobbeltbuffering (animasjon etc.) Z-verdi (skjulte flater) Alpha-verdi (transparens) Mer om dette senere! INF2340 / V04 45 INF2340 / V04 46 Grafiske primitiver Linje og triangel-polygon i VTK Fundamentale Punkt (node) Linje (kant) Mer komplekse Polylinje Polygon vtkpolydatamapper vtklinesource vtkpolydata vtkpolydata vtkpolydatamapper vtkfloatpoints vtkcellarray vtkidlist (x, y, z) ID = 2 (x, y, z) ID = 0 (x, y, z) ID = INF2340 / V04 47 INF2340 / V
13 3D primitiv Projisering Rasterisering Å avgjøre hvilke pixler som blir dekket av et 3D primitiv ( scan-konvertering ) Å utføre diverse operasjoner relatert til enkelt-pixler (f.eks. korrekt fargelegging i forhold til belysning) Aliasing (kap. 7.5 VTK-boka) Rasteriserte primitiver ser generelt taggete ut Rasterisering D primitiv Rasterisert 2D primitiv Ideelt I praksis INF2340 / V04 49 INF2340 / V04 50 Antialiasing La primitivet ha tykkelse lik en pixelbredde. La bidraget w til forgrunnsfargen i et pixel være proporsjonal med arealet som dekkes av primitivet: % dekningw = 0... Resultatfargen i pixelet er da essensielt gitt ved wf + (-w)b, der f og b er hhv. for- og bakgrunnsfargen % av pixel-areal w = Objektrom Objekt- og bilderom (kap 3.6 i VTK-boka) Modell-koordinater (model-) Verdens-koordinater (world-) Bilderom Syns-koordinater (view-) Skjerm-koordinater (display-) Det finnes også andre metoder INF2340 / V04 5 INF2340 / V
14 Objektrom z Transformasjon y Bildeplan Bilderom x Transformasjon Transformasjon Verdens-koordinater y z y Syns-koordinater x z y z y y z x x x Objekt (f.eks. en VTK actor ) Bilde (f.eks. en PC-skjerm) Modellkoordinater z x x y z Transformasjon Skjerm-koordinater INF2340 / V04 53 INF2340 / V04 54 Objekt- og bilderekkefølge (kap. 3. i VTK-boka) Klassifikasjon av algoritmer som avbilder informasjon i objektrommet på bildeplanet: Objektrekkefølge Kontstruer bildet ved å gå systematisk gjennom ett og ett objekt. Bilderekkefølge Konstruer bildet ved å gå systematisk gjennom ett og ett pixel. Scanning av CRT (Cathode Ray Tube) Frame buffer Video controller Elektronkanoner mot rødt, grønt og blått fosfor Scan linje Vertikal retrace Horisontal retrace INF2340 / V04 55 INF2340 / V
Visualiseringsdelen - Oppsummering
Visualiseringsdelen - Oppsummering Fenomen/prosess Visualisering i inf2340 Måling Mat. modell Simulering inf2340 - Simuleringsdelen inf2340 - Visualiseringsdelen 1.23E-08 2.59E-10 3.04E-08 3.87E-09 7.33E-06
DetaljerFargebilder. Lars Vidar Magnusson. March 12, 2018
Fargebilder Lars Vidar Magnusson March 12, 2018 Delkapittel 6.1 Color Fundamentals Delkapittel 6.2 Color Models Delkapittel 6.3 Bildeprosessering med Pseudofarger Delkapittel 6.4 Prosessering av Fargebilder
DetaljerDel 1: Introduksjon til VTK. Visualiseringsdelen - Oppsummering. Del 2: Grafisk databehandling. "Visualization Pipeline" "Rendering Pipeline"
Del 1: Introduksjon til VTK Visualiseringsdelen - Oppsummering INF2340 / V04 2 vtkrenderwindow vtkrenderer Del 2: Grafisk databehandling INF2340 / V04 3 INF2340 / V04 4 1 Lysogfarge ñ ÿ yets oppfattelse
DetaljerINF 1040 høsten 2008: Oppgavesett 11 Farger (kapittel 15)
INF 1040 høsten 2008: Oppgavesett 11 Farger (kapittel 15) Fasitoppgaver Denne seksjonen inneholder innledende oppgaver hvor det finnes en enkel fasit bakerst i oppgavesettet. Det er ikke nødvendigvis meningen
DetaljerINF våren 2017
INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer
DetaljerIN våren 2019 Onsdag 16. januar
IN1010 - våren 2019 Onsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerIN våren 2018 Tirsdag 16. januar
IN1010 - våren 2018 Tirsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerSkalar-til-farge korrespondanse. Del 5 Visualisering av skalarfelt. Regnbue-skalaen
Skalar-til-farge korrespondanse Del 5 Visualisering av skalarfelt Skalar-intervallet i datasettet korresponderer med en fargeskala s max egnbue ød til Gråtoner s min Sort/hvitt utskrift! INF340/ V04 For
DetaljerFarger. Introduksjon. Skrevet av: Sigmund Hansen
Farger Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon På skolen lærer man om
DetaljerKantdeteksjon og Fargebilder
Kantdeteksjon og Fargebilder Lars Vidar Magnusson April 25, 2017 Delkapittel 10.2.6 More Advanced Techniques for Edge Detection Delkapittel 6.1 Color Fundamentals Delkapittel 6.2 Color Models Marr-Hildreth
DetaljerHØGSKOLEN I BERGEN Avdeling for ingeniørutdanning
HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning Eksamen i SOD 165 Grafiske metoder Klasse : 3D Dato : 15. august 2000 Antall oppgaver : 4 Antall sider : 4 Vedlegg : Utdrag fra OpenGL Reference Manual
DetaljerFargetyper. Forstå farger. Skrive ut. Bruke farger. Papirhåndtering. Vedlikehold. Problemløsing. Administrasjon. Stikkordregister
Skriveren gir deg mulighet til å kommunisere i farger. Farger tiltrekker seg oppmerksomhet og gir trykt materiale og informasjon større verdi. Bruk av farger øker lesbarheten, og dokumenter med farger
DetaljerInf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.
Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014
DetaljerGrafisk pakke dataseminar ARK6 12.feb 2008
Farger Fonter Raster og vektor Filtyper Komprimering Programmer FARGER : RGB-SKJERM - additiv fargemodell beregnet for bruk i skjerm, scanner og digitalkamera - Ulikt forhold mellom Rød, Grønn og Blå skaper
DetaljerKartografisk formidling. Fargar og Visuelle variablar
Kartografisk formidling Fargar og Visuelle variablar FARGER Fysikalsk Fysiologisk Psykologisk Synleg lys Synlig område for bølgelengder er mellom 380 og 740 nm (nanometer 10-9 m) Fargene varierer med lyskilden
DetaljerINF Stikkord over pensum til midtveis 2017 Kristine Baluka Hein
INF2310 - Stikkord over pensum til midtveis 2017 Kristine Baluka Hein 1 Forhold mellom størrelse i bildeplan y og "virkelighet"y y y = s s og 1 s + 1 s = 1 f Rayleigh kriteriet sin θ = 1.22 λ D y s = 1.22
DetaljerTeksturering. Mer om Grafisk Databehandling. Et annet eksempel. Eksempel
Teksturering Mer om Grafisk Databehandling Øker detaljgraden uten å øke antall grafiske primitiver. Grafiske primitiver brukes som bærere for bilder (f.eks. fotografier). INF2340 / V04 2 Eksempel Et annet
DetaljerGeneriske mekanismer i statisk typede programmeringsspråk
Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive
DetaljerBilder del 2. Farger og fargesyn. Tre-farge syn. Farger og fargerom. Cyganski, kapittel 5. Fargesyn og fargerom. Fargetabeller
Litteratur : Tema i dag: Neste uke : Bilder del 2 Cyganski, kapittel 5 Fargesyn og fargerom Fargetabeller Endre kontrasten i et bilde Histogrammer Terskling Video og grafikk, litt enkel bildebehandling
DetaljerAlgDat 10. Forelesning 2. Gunnar Misund
AlgDat 10 Forelesning 2 Oversikt Java repetisjon IDE eller teksteditor + kommandolinje? Java Collections and Generics Programvareutvikling En mengde mer eller mindre veldefinerte metoder (software engineering):
DetaljerFarger Introduksjon Processing PDF
Farger Introduksjon Processing PDF Introduksjon På skolen lærer man om farger og hvordan man kan blande dem for å få andre farger. Slik er det med farger i datamaskinen også; vi blander primærfarger og
DetaljerIntroduksjon til objektorientert programmering
Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes
DetaljerINF 1040 høsten 2009: Oppgavesett 11 Farger (kapittel 15) Løsningsforslag Flervalgsoppgaver
INF 1040 høsten 2009: Oppgavesett 11 Farger (kapittel 15) Løsningsforslag Flervalgsoppgaver I disse oppgavene er det oppgitt fem svaralternativer der bare ett svar er riktig. 8. Fargerommet som brukes
DetaljerOppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre
Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal
DetaljerSimulering i IN229. INF2340 Våren 2004 Oversikt over innhold. Del 2: Endelige differanser. Del 1: MyVector. Del 3: ODESolver. Del 4: Bølgeligning
Simulering i IN229 INF2340 Våren 2004 Oversikt over innhold Fysisk problem Ex: Svingende streng Vannbølger Varme i jordskorpen Matematisk modell Ex: ODE Bølgeligning Varmeligning Simulatorkode Proseduralt
DetaljerForelesningsnotater SIF8039/ Grafisk databehandling
Forelesningsnotater SIF8039/ Grafisk databehandling Notater til forelesninger over: Kapittel 1: Graphics Systems and Models i: Edward Angel: Interactive Computer Graphics Vårsemesteret 2002 Torbjørn Hallgren
DetaljerInteraksjon mellom farger, lys og materialer
Interaksjon mellom farger, lys og materialer Etterutdanningskurs 2015. Lys, syn og farger - Kine Angelo Fakultet for arkitektur og billedkunst. Institutt for byggekunst, form og farge. Vi ser på grunn
DetaljerInnhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk
Innhold uke 7 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2017 uke 7 Siri Moe Jensen Lite tilbakeblikk: Prosedyrer og funksjoner Objektorientert programmering Introduksjon: Hvorfor,
DetaljerVeiledning om fargekvalitet
Side 1 av 6 Veiledning om fargekvalitet Veiledningen om fargekvalitet hjelper brukerne med å forstå hvordan funksjoner som er tilgjengelige på skriveren, kan brukes til å justere og tilpasse fargene på
DetaljerPost-it spørsmål fra timen (Arv og subklasser)
Post-it spørsmål fra timen 30.01 (Arv og subklasser) Tegning Spørsmål: Skjønte ikke tegningene Hater tegningene. Lær meg å tegne. Mvh frustrert elev. Spørsmål: Datastruktur-tegning, og hvor mye detaljer
DetaljerFunksjonell (dataflyt-) modell. Del 3 "Visualization Pipeline" Sammenkobling i praksis. Prosess- og data-objekter. Transformasjon. Representasjon (mer
Funksjonell (dataflt-) modell Del 3 "Visualization Pipeline" Transformasjon Konvertere data fra opprinnelig form til grafiske primitiver (tpisk gjennom flere ledd) Representasjon (mer om dette i neste
DetaljerSemantisk Analyse del III
Semantisk Analyse del III Typesjekking Kapittel 6.4 08.03.2013 1 Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem
DetaljerKap3: Klassemodellering
Kap3: Klassemodellering I dag: Litt repetisjon fra sist (innledende om klassemodellen) Deretter egentlig litt mer repetisjon, men nå fra intro- Felt-/Instansvariabler og kurset i Java: Klasser og Objekt,
DetaljerMars Robotene (5. 7. trinn)
Mars Robotene (5. 7. trinn) Lærerveiledning Informasjon om skoleprogrammet Gjennom dette skoleprogrammet skal elevene oppleve og trene seg på et teknologi og design prosjekt, samt få erfaring med datainnsamling.
DetaljerEksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus
// class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen
DetaljerRF5100 Lineær algebra Leksjon 10
RF5100 Lineær algebra Leksjon 10 Lars Sydnes, NITH 11. november 2013 I. LITT OM LYS OG FARGER GRUNNLEGGENDE FORUTSETNINGER Vi ser objekter fordi de reflekterer lys. Lys kan betraktes som bølger / forstyrrelser
DetaljerLæringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop
Læringsmål uke 7 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2018 uke 7 Siri Moe Jensen Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,
Detaljerklassen Vin må få en ny variabel Vin neste alle personvariable (personpekere) i listeklassen må byttes til Vin
INF1010 forelesning Lenkelister II Dette skrivet inneholder en oversikt over det jeg planlegger å forelese på andre forlesning om lenkelister. Det inneholder stort sett programeksempler med kommentarer
DetaljerDenne veiledningen hjelper deg med å forstå hvordan du kan bruke skriverens funksjoner til å justere og tilpasse fargene på utskriftene.
Side 1 av 5 Fargekvalitet Denne veiledningen hjelper deg med å forstå hvordan du kan bruke skriverens funksjoner til å justere og tilpasse fargene på utskriftene. Quality (Kvalitet), meny Print Mode (Utskriftsmodus)
DetaljerAnatomien til en kompilator - I
Anatomien til en kompilator - I program Symboltabell tekst tokens syntaks-tre beriket syntaks-tre Finne struktur i programmet OK i henhold til grammatikk? Preprocessor Makroer Betinget kompilering Filer
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF330 Metoder i grafisk databehandling og diskret geometri Eksamensdag: 3. desember 010 Tid for eksamen: 14.30 18.30 Oppgavesettet
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
DetaljerRepetisjon av histogrammer
Repetisjon av histogrammer INF 231 Hovedsakelig fra kap. 3.3 i DIP Histogramtransformasjoner Histogramutjevning Histogramtilpasning Standardisering av histogram for billedserier Litt om histogramtransformasjoner
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
DetaljerMidtveiseksamen Løsningsforslag
INSTITUTT FOR INFORMATIKK, UNIVERSITETET I OSLO Midtveiseksamen Løsningsforslag INF2310 - Digital Bildebehandling Eksamen i: INF2310 - Digital Bildebehandling Eksamensdag: Tirsdag 21. mars 2017 Tidspunkt
Detaljerd. Utviklingssteg for å utforme animasjonssekvenser:
Oppgave 1: Generelt a. Logisk inndeling av inputdata: Locator En enhet for å spesifisere en koordinatposisjon. Stroke En enhet for å spesifisere et sett med koordinatposisjoner. String En enhet for å spesifisere
DetaljerLØSNINGSANTYDNING EKSAMEN
Universitetet i Agder Fakultet for teknologi og realfag LØSNINGSANTYDNING EKSAMEN Emnekode: Emnenavn: DAT Grafisk Databehandling Dato: 5. desember Varighet: 9 - Antall sider inkl. forside 8 Tillatte hjelpemidler:
DetaljerEKSAMEN I EMNE TDT4230 VISUALISERING FREDAG 10. DESEMBER 2010 KL LØSNINGSFORSLAG
Side 1 av 11 EKSAMEN I EMNE TDT4230 VISUALISERING FREDAG 10. DESEMBER 2010 KL. 09.00 13.00 LØSNINGSFORSLAG OPPGAVE 1 Kubiske Bézier-kurver og flater a) Sammenhengen mellom vektoren av blandefunksjoner
DetaljerE K S A M E N S O P P G A V E
HØGSKOLEN I AGDER Fakultet for teknologi E K S A M E N S O P P G A V E EMNE: FAGLÆRER: DAT 2 Grafisk Databehandling Morgan Konnestad Klasse(r): 2DTM, 2DT, 2 Siving, DT Dato: 8.2.6 Eksamenstid, fra-til:
Detaljer(MVC - Model, View, Control)
INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av
DetaljerGUI («Graphical User Interface»)
GUI («Graphical User Interface») Om GUI JavaFX Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/ ifi/in1010/v18/gui/fx-intro-in1010.pdf Programkoden i https://www.uio.no/studier/emner/ matnat/ifi/in1010/v18/gui/
DetaljerArv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når
DetaljerVelkommen til. INF våren 2016
Velkommen til INF1010 - våren 2016 Denne uken (onsdag og torsdag): Om INF1010 Java datastrukturer Klasser med parametre i Java Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 1 INF1010
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerLøsningsforslag til kapittel 15 Fargerom og fargebilder
Løsningsforslag til kapittel 15 Fargerom og fargebilder Oppgave 1: Representasjon av et bilde Under har vi gitt et lite binært bilde, der svart er 0 og hvit er 1. a) Kan du skrive ned på et ark binærrepresentasjonen
DetaljerOversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays
Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson
DetaljerGråtonehistogrammer. Histogrammer. Hvordan endre kontrasten i et bilde? INF Hovedsakelig fra kap. 6.3 til 6.6
Hvordan endre kontrasten i et bilde? INF 230 Hovedsakelig fra kap. 6.3 til 6.6 Histogrammer Histogramtransformasjoner Histogramutjevning Histogramtilpasning Histogrammer i flere dimensjoner Matematisk
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens
DetaljerDatatyper og typesjekking
Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører
DetaljerAlgoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1
Delkapittel 2.1 Plangeometriske algoritmer Side 1 av 7 Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1 2.1 Punkter, linjesegmenter og polygoner 2.1.1 Polygoner og internett HTML-sider kan ha
Detaljerclass Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }
Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere
DetaljerSCANNING OG REPARASJON AV GAMLE BILDER Jessheim bibliotek 21. august 2007. Minikurs. Adobe Photoshop Elements. v/ Randi Lersveen - Krem reklame
1 Minikurs v/ Randi Lersveen - Krem reklame Adobe Photoshop Elements Viktige begrep for digitale bilder 2 FARGER (mode) Bitmap: Grayscale: RGB-color: CMYK: Bildet inneholder kun sorte og hvite punkter
DetaljerSudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:
INF1010 2016 Innleveringsoppgave 8 SUDOKU Versjon 29. mars. Denne versjonen gjelder oppgave 8. Resten er tatt med bare for å gi en pekepinn om arbeidet videre. Det kommer andre krav til del 10 og 11 når
DetaljerEKSAMEN I EMNE TDT4230 VISUALISERING LØRDAG 10. DESEMBER 2005 KL
NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for fysikk, informatikk og matematikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I EMNE TDT4230 VISUALISERING LØRDAG 10. DESEMBER
DetaljerINF1010 Grafisk brukergrensesni3 med Swing og awt del 1 INF1010
Grafisk brukergrensesni3 med Swing og awt del 1 GUI (Graphical User Interface)- programmering Hvordan lage et vindu på skjermen Hvordan legge ulike komponenter i vinduet (trykknapper, tekseelter, tekst,
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerBildebehandling med Python og EzGraphics
Bildebehandling med Python og EzGraphics I denne oppgaven skal dere jobbe med bildebehandling. På samme måte som vi jobbet med lyd tidligere, skal vi nå se på bilder. Vi kan bruke EzGraphics til alt vi
DetaljerInstitutt for informatikk Universitetet i Oslo
Informasjon fra IT-driftsgruppen Lokalguidetilfargeri L A TEX Dag Langmyhr 18. november 2010 Institutt for informatikk Universitetet i Oslo Innhold 1 Angivelse av farger 1 2 Brukavfarger 2 2.1 Fargettekst...
DetaljerTDT4195 Bildeteknikk
TDT495 Bildeteknikk Grafikk Vår 29 Forelesning 5 Jo Skjermo Jo.skjermo@idi.ntnu.no Department of Computer And Information Science Jo Skjermo, TDT423 Visualisering 2 TDT495 Forrige gang Attributter til
DetaljerOversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp
INF1000: Grunnkurs i objektorientert programmering Uke 0, høst 2014 Oversikt Informatikk - hva & hvorfor? Datasystemer, maskinvare, programmer Objektorientert programmering i INF1000 Programmeringsspråket
DetaljerRF5100 Lineær algebra Leksjon 1
RF5100 Lineær algebra Leksjon 1 Lars Sydnes, NITH 20.august 2013 I. INFORMASJON FAGLÆRER Kontakt: Lars Sydnes lars.sydnes@nith.no 93035685 Bakgrunn: Doktorgrad i Matematikk fra NTNU (2012), Siv.ing. Industriell
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
DetaljerPhotoShop Grunnleggende ferdigheter
PhotoShop Grunnleggende ferdigheter Kurs for ansatte DMMH februar/mars 2009 Versjon 2 Svein Sando Åpne og lagre Åpne: to varianter File Open Ctrl+O Lagre: to varianter File Save Ctrl+S Lagre som: to varianter
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 4. juni 2015 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider. Vedlegg:
Detaljer2D Transformasjoner (s. 51 i VTK boken) Translasjon. Del 2 Grafisk databehandling forts. Rotasjon. Skalering. y x = x + d x, y = y + d y.
2D Transformasjoner (s. i VTK boken) Translasjon Del 2 Grafisk databehandling forts. (, ) = + d, = + d På matriseform: d d (, ) P =, P =, T = d d P = P + T 24/2-3 IN229 / V3 / Dag 6 2 Skalering Rotasjon
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 5. juni 2013 Tid for eksamen : 14.30-18.30 Oppgavesettet er på : Vedlegg :
DetaljerUNIVERSITETET I OSLO
1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 115 Eksamensdag : Lørdag 20 mai, 2000 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg : Intet. Tillatte
Detaljera. Hva er de inverse transformasjonene avfølgende tre transformasjoner T, R og S: θ θ sin( ) cos( ) Fasit: 1 s x cos( θ) sin( θ) 0 0 y y z
Kommentar: Svar kort og konsist. Husk at eksamen har tre oppgaver. Poengene for hver (del-) oppgave bør gi en indikasjon på hvor me tid som bør benttes per oppgave. Oppgave 1: Forskjellige emner (40 poeng)
DetaljerDatatyper og typesjekking
Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører
DetaljerNadine Pedersen GRIT Datamaskinen- kjenn din Mac
Kjenn din Mac MacBook Pro 13,3 Retina MF840 Oppgave 1. Beskriv hvilke enheter som er koblet til datamaskinen, og det du kan finne ut om egenskapene deres. Bluetooth: Dette er en trådløs protokoll for å
DetaljerDatatyper og typesjekking
Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører
DetaljerDatatyper og typesjekking
Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start
DetaljerInnhold uke 10. Objektorientert programmering i Python. Oblig 7 og 8. IN1000 Seminar! IN1000 Høst 2018 uke 10 Siri Moe Jensen
Innhold uke 10 Hva bruker vi klasser til? Objektorientert programmering i Python IN1000 Høst 2018 uke 10 Siri Moe Jensen Noen sentrale datastrukturer for programmering lenkede lister trær grafer Eksempler:
DetaljerINF1010 MVC i tekstbaserte programmer
INF1010 MVC i tekstbaserte programmer Marit Nybakken marnybak@ifi.uio.no 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest
DetaljerExcited. Hvordan komme i gang med tekstbasert programmering? Centre for Excellent IT Education. Guttorm Sindre
Excited Centre for Excellent IT Education Hvordan komme i gang med tekstbasert programmering? Guttorm Sindre Disposisjon Utfordringer med tekstbasert programmering Ideer til løsning Små kodeeksempler med
DetaljerBruk fargemenyen til å justere utskriftskvaliteten og tilpasse fargeutskrifter. Velg et menyelement hvis du vil ha mer informasjon:
Bruk fargemenyen til å justere utskriftskvaliteten og tilpasse fargeutskrifter. Velg et menyelement hvis du vil ha mer informasjon: Fargejustering Utskriftsoppløsning 1 Manuell farge Utskriftsmodus Mørkhet
DetaljerEtter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering
Etter uke 6 skal du Kjenne til motivasjonen for objektorientert programmering Introduksjon til objektorientert programmering INF1001 Høst 2016 Forstå hva en klasse er, og forskjellen på klasse og objekt
DetaljerLitt om Javas class-filer og byte-kode
Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet
DetaljerINF100 Institutt for informatikk Universitetet i Bergen Øving 5
INF100 Institutt for informatikk Universitetet i Bergen Øving 5 Høst 2013 Mål: Bruk av objekter. Innlevering: Adventure.java, Spiller.java og Rom.jav pakket i en zip fil. Innleveringsfrist: Torsdag 10.
DetaljerForelesning inf Java 1
Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2012 Litt Java-historikk The Green Team I 1991 opprettet Sun Microsystems
DetaljerEKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 20.02.2017 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Teorifagbygget, Hus 3,
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveksamen i INF1010 Objektorientert programmering Dato: 26. mai 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider.
DetaljerOBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK
INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer, bruker og telefonnummer Med
DetaljerJavas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)
Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Disse foilene er pensum INF 5110, 30/4-2013, Stein Krogdahl Byte-koden for Java og.nett (C#) kan leses her: http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
DetaljerGrafisk Brukergrensesnitt
Grafisk Brukergrensesnitt Repetisjonskurs Hva må kunnes? JFrame JPanel JComponents Layouts Listeners jframe Representerer et vindu JComponents legges på vinduet Har en tittel og størrelse Komponenter struktureres
Detaljer