Grafik och Interaktionsprogrammering

Slides:



Advertisements
Liknande presentationer
Att förstå anonymiteten (översättning från
Advertisements

Att identifiera och utveckla ledare
Talföljder formler och summor
Atomer och kemiska reaktioner
En Dag i Ramadan Ramadan
Här ser ni några sidor som hjälper er att lösa uppgifterna:
Teknik 1 utifrån förmågorna och centrala innehållet Vad teknik är
VAD VET NI OM MÖJLIGHETERNA FÖR HANDIKAPPADE ATT ARBETA MED DATORER?
Att söka och förvalta kunskap
Avalon Information Systems Vi är IT-företaget som behärskar framtagning av information och utveckling av konkurrenskraftiga IT-system. - Produktinformation.
MS Excel 2010 – Dag 2 Mahmud Al Hakim
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Mjukvara och nätverk Vad är det?.
Fi2 Lägesrapport om IT-utvecklingen i fastighetsbranschen
1 Medarbetarenkät 2011 • 573 svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
BENÄMNA lätta ord SPRÅKTRÄNING VID AFASIKg VIII
Kundundersökning mars 2010
Next previous XP: varför fungerar det? Något om tentan. Innehåll Introduktion till eXtreme Programming (XP) Varför fungerar XP? Något om tentan Vad ska.
Leif Håkansson’s Square Dancer Rotation
Hur kom Bibeln till? Torsdagen den 14 januari Kvällens ämne:
V E R S I O N N R 1. 2 T A V E L I D É E R I M I L J Ö.
Eddie Arnold - Make The World Go Away Images colorées de par le monde Déroulement automatique ou manuel à votre choix 1 för dig.
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
IT och kommunikationsvetenskap Teresa Cerratto Pargman, DSV
Välkommna! till kursen HI1024 Programmering, grundkurs 8,0 hp
Programmeringsteknik K och Media
Föreläsning 2 Datalogi för E1 2D1343
Sidnummer1 Svensk utgivning 2011 enligt Dewey Hur blev det? Harriet Aagaard Olof Osterman.
Skånedatabasen & Region Skånes tillgänglighetsmodell
Kommunpussel Din uppgift är att sortera de organisatoriska delar på nästa sida på ett sådant sätt att det överensstämmer med hur din kommun är organiserad.
Punktprevalensmätning av trycksår 2011, v.40 Resultat från landstingen
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2007.
1.
Programmering B PHP Lektion 2
Svenska WebDewey Introduktion Harriet Aagaard Svenska Deweyredaktion
Från binära till hexadecimala
1 Vänsterskolan Debattartiklar. 2 Aktuell krok 3 Aktuella krokar 1. Direkt krok.
TÄNK PÅ ETT HELTAL MELLAN 1-50
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Best pictures on the internet 2007 Awards 1http:// Är vänsteralliansen trovärdig i Norrköping.
Enkätresultat för Fritidshem Elever 2014 Skola:Fritidselever, Gillberga skola.
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
SEO Manager för EPiServer LÅT REDAKTÖRERNA VARA REDAKTÖRER.
1(31) Ett omdiskuterat ämne. Vad är det som händer? 2.
Best pictures on the internet 2007 Awards 1http:// (s), (v), och (mp) i Norrköping, gillar inte att vi använder grundlagarna.
2 Agenda 1. Börja arbeta med Excel Hantera arbetsböcker 3. Formler 4. Formatera 5. Diagram 6. Skriva ut 7. Referenser mellan kalkylblad 8. Arbeta.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Styrteknik 7.5 hp distans: SFC Introduktion SFC_A:1
OpCon/xps - A case study. Club2200Page 1 OpCon/xps – A case study Club2200 Magnus Nyman & Hans Forslind.
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
MDI och användbarhet Måndagen den 27/3 Design och utvärdering, 5 poäng.
Utvecklingsprocessen Webbutveckling. Utvecklingsprocessen Bli inte rädd för alla begrepp och alla verktyg man verkar behöva kunna. Du måste inte använda.
INTRODUKTION TILL PROGRAMMERING
Kartminne En serie bilder som ger övning av ”rutinen” Tänk på: –Vart är jag på väg? –Varifrån är kontrollen lättast att ta? –Vilken är sista säkra? –Förenkla.
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
Välkommna! till kursen HI1024 Programmering, grundkurs 8,0 hp
I NNEHÅLLSHANTERINGSSYSTEM J OOMLA CMS L EKTION 3 Mahmud Al Hakim
© Björn Lindell, Datapedagogiskt Forum, SLU Hur kommer jag i gång med att göra web-sidor? Länkar “on line” på URL:
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
Multimedia och Pedagogik
Bild 1 Prognos för länets arbetsmarknad Stefan Tjb.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
När infaller Julafton och hur ofta?
Mål Matematiska modeller Biologi/Kemi Datorer muntlig presentation
Föreläsning 1 Introduktion till kursen. Algoritmer
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 16.
Presentationens avskrift:

Grafik och Interaktionsprogrammering GRIP 2D1953 Föreläsning 1 Grafik och Interaktionsprogrammering Introduktion och översikt Hemsida: http://www.nada.kth.se/kurser/kth/2D1953 Registrering: res checkin grip01 Hemkatalog: /info/grip01

Kursens uppläggning Föreläsningar Trettio timmar varav 10 timmar gästföreläsningar Fyra gäsföreläsare fördjupar och breddar ämnet Övningar Dom flesta på formen mer praktisk inriktad föreläsning Laborationer Fem stycken (lab 1-4 i grupper om två, minprojekt i grupper om 2-4 personer och utvärdering i grupper om 4-7) 1 Introduktion till 2D-grafik och grafiska gränssnitt med Java (Björn) 2 GLUT och OpenGL (Gustav Taxén) 3 GUI av formulärtyp i Swing (Björn) 4 IDEer och GUI-byggare (Björn) Minprojekt Avancerad riteditor (Björn) Utvärderingsuppgift av interaktivt system (presenteras för resten av kursen samt på WWW) (Björn)

...Kursens uppläggning Tentamen Tentamen på framförallt Angel, kompendier och artiklar Detaljerade läsanvisningar publiceras på kursens hemsida. Mer information och nyheter hittar du på kursens hemsida http://www.nada.kth.se/kurser/kth/2D1953 Registrering Registrera dig i res res checkin grip01 Kursmöte Newsmöte: news:nada.kurser.grip

Varför intressera sig för grafik och interaktion? Användarsynvinkel Grafiska gränssnitt ger (om rätt konstruerade) överskådlighet enkel och effektiv inlärning rolig och inbjudande presentation och interaktion ökad kreativitet hos användarna Utvecklarsynvinkel Vad är ett bra grafiskt/interaktivt gränssnitt? Vilka olika möjligheter finns det? Hur konstruerar jag en sådan applikation rent tekniskt? Finns det bra verktyg för att konstruera tillämpningarna?

Vad går kursen ut på? Grafik Interaktion Programmering Matematiska modeller, grundläggande grafiska algoritmer, visualisering, modellering, termer, tekniker och något om hårdvara Interaktion Utformning, konstruktion, design och tekniker för att fabricera interaktiva grafiska applikationer Programmering Ge inblick i tekniker och orientering om programmeringsverktyg för att skapa grafiska interaktiva tillämpningar

GRIP består av tre inbördes beroende delar

Programmering

Grafik

Interaktion

Grafik kort historik Milstolpar redan tidigt i datorhistorien (50-talet) fanns halvdumma utskriftsenheter som teleprintrar och radskrivare omkring 1950 kom datordrivna katodstrålerör (CRT)

... historik ... under tidigt 60-tal utvecklades Sketchpad av Ivan Sutherland på MIT Lincoln lab här användes eleganta sätt att rita och manipulera grafiska objekt med en ljuspenna man introducerade många intressanta tekniker bl.a. hierarkier av bilder och delbilder, gummibandslinjer, restriktioner (eng. constraints), gester för vissa operationer många av dessa tekniker hittar vi i dagens system

... historik ... Samtidigt såg bil- och flygindustrin möjligheterna att använda grafiska tekniker Computer Aided Design (CAD) och Computer Aided Manufacturing (CAM) Arkadspelen som kom i mitten av sjuttiotalet bidrog också starkt till populäriseringen av datorstödda grafiska lösningar. PONG (dvs ett sorts enkelt tennisspel) mitten av 70-talet.

... historik ... Under sjuttiotalet utvecklades också grafiska arbetsstationer med bl.a. fönster och möss. Under 80-talet då billiga persondatorer med bitmappade skärmar kom tog den grafiska användningen riktig fart. (även om hårdvaruteknikerna till stora delar utvecklades under 60-talet)

... historik Många grafiska standarder har utvecklats Med en strävan att enklare skriva komplexa grafiska applikationer flyttbar kod som kan köras på flera olika plattformar och hårdvaror Några betydelsefulla grafikpaket 80-talet GKS, PHIGS, NeWS mfl 90-talet OpenGL VRML

Interaktiva grafiska system Milstolpar (några axplock): Douglas Engelbart, mitten av 1960-talet NLS, oN Line System, innehöll email, hypertext, direkmanipulation, konferenssystem med videolänk, hypertext, mm Smalltalk, på Xerox under 1970-talet Introducerade bitmappade skärmar, fönstersystem, pop-up- menyer, användning av mus, reflexiv öppen omgivning, maskinoberoende portabel kod, MVC, objektorientering, stort klassbibliotek

...milstolpar... Xerox Star, 1981 MAC, 1984 X-windows, 1987 Desktopmetafor med ikoner och överlappande fönster. What You See Is What You Get (WYSIWYG) MAC, 1984 Första billiga alternativet. Genomgående grafisk direkmanipulativ filosofi. X-windows, 1987 Windows 3, 1990 Sålde idéerna till en bredare publik (även om gränssnittet var ett :-))

...milstolpar Videospel Windows 95/NT gav vidare spridning Gjorde oss vana vid idéerna. Windows 95/NT gav vidare spridning (Det börjar se snyggare ut.) HTML, WWW med browsrar som Mosaic och Netscape, tidigt 1990-tal Har (indirekt) ökat intresset och spritt idéerna till en riktigt bred marknad Java (första versionen släpptes 1995) Ökade möjligheter att skriva plattformsoberoende interaktiva system, enkelt att sprida med sin koppling till Internet

Datorgrafik tillämpningsområden Visualisering av information Arkitetktur Tidigare 4000 år sedan: Babylonierna ristade våningsplan av byggnader på sten 2000 år sedan: Grekerna konstruerade arkitektritningar Idag: görs ritningar ofta mha datorer Kartografi Idag används datorer till stor del inom detta område GIS, Geographic Information Systems Statistik Många verktyg för att behandla och presentera data

... Medicin Väderprognoser Vetenskaplig visualisering Många områden som datortomografi, magnetröntgen, och ultraljud använder datorgrafik för att speciellt konstruera tredimensionella bilder Väderprognoser Vetenskaplig visualisering Datorgrafik erbjuder sätt att presentera och sedan tolka stora datamängder Tex inom flödesdynamik, molekylär biologi, matematik, astronomi. Film och underhållning Konst Utbildning Simulatorer Bildbehandling

...Datorgrafik tillämpningsområden... Design Att designa (vad det än må vara) är ofta en iterativ process Datorer i allmänhet och interaktiva grafiska datorverktyg i synnerhet ger kostnadseffektiva lösningar Exempel: CAD (Computer Aided Design), VLSI (Very Large Scale Integrated) Simulering Ända sedan grafiska system blev kapabla att generera realistiska bilder har dom används för simuleringar Exempel: Flysimulatorer, arkadspel, robotar, film, militär, Virtual Reality (VR)

...Datorgrafik tillämpningsområden Användargränssnitt Användarsynvinkel Fönstersystem Grafiska interaktiva tillämpningar Internet Utvecklarsynvinkel Grafiska bibliotek av komponenter Frameworks för att konstruera grafiska och interaktiva tillämpningar Grafiska programmerings- och utvecklingsverktyg Gränssnittsbyggare

Ett grafiskt systems uppbyggnad Ett grafiskt system består av: processor bildminne minne

...Ett grafiskt systems uppbyggnad... Pixlar och bildminne En bild skapas som en vektor (raster) av bildelement (pixlar) Bilderna lagras i bildminnet (eng. Frame Buffer) Djupet av bildminnet anger anger antal bitar per bildpunkt som används för att lagra en bild I fullfärg används ett djup av 24 bitar (eller mer), kallas också true-color eller RGB-color system Upplösningen anger hur många bildpunkter som finns i bildminnet Översättningen från geometriska beskrivningar kallas för rastrering eller svepkonvertering

...Ett grafiskt systems uppbyggnad... Utmatningsenheter Katodstrålerör Består av Elektronstråle som böjs av i olika riktningar innan den träffar skärmen Metallmask med små hål, som ser till att strålen endast aktiverar fosforpunkter med rätt färg på skärmen Fosforlager Typiskt ordnade i grupper om tre färger (en av varje av dem primära färgerna) Bildrepetitionsfrekvens (refresh rate) Hur ofta skärmen uppdateras Typisk 50-80 ggr per sekund

...Ett grafiskt systems uppbyggnad

Inmatningsenheter Det finns många olika typer av inmatningsverktyg mus tangentbord penna digitaliseringsbord scanners röst handske peksskärm ”trollspö” rullboll joystick mm

Vi ser på världen: Olika vyer Objekt och betraktare

Ljus, reflektion och skuggor Belysning och skuggning Olika typer av ljuskällor diffust, punktformat, riktat, osv Olika material färg, beskaffenhet, hur dom reflekterar, etc Reflektion, algoritmer och modeller Gouraud, Phong etc Hur olika objekt påverkar varandras belysning och skuggor Strålföljning (Ray tracing) “Ljusets väg” genom scenen, dvs direkt från belysningskällor och via reflektion från objekt Strålning (Radiosity) Baseras på den energi som strålar ut från objekten

Kamerametaforen Vi tänker oss att vi ser världen genom en kamera

Den syntetiska kameran Olika sätt att betrakta bilden

... Kamera, projektorer och projektionsplan projektor projektionsplan projektionscentrum

Klippning Anger vilka delar av världen betraktaren kan se klipprektangel

Programmerarens gränssnitt Grafiskt bibliotek (API) Applikation Hårdvara

Arkitektur för ett grafiskt system Tidiga system Utritning med utritningslista Digital till analog omvandling Värddator Grafik- processor Värddator Utritnings- lista

Alltså ... Vi skall i kursen titta vidare på: Vi gör detta genom: Grundläggande begrepp, matematik, algoritmer och metoder för att konstruera 2D- och 3D-applikationer Tekniker för att konstruera interaktiva grafiska applikationer Vi gör detta genom: Föreläsningar och (övningar), laborationer och egen läsning För att ni skall få: kunskap om grafisk databehandling och interaktionsteknik förståelse för att människans förutsättningar bör påverka utformningen av interaktiva system erfarenhet av verktyg och tekniker för att skapa grafiska och interaktiva tillämpningar

Nu blir det video!