IPLab, Nada, KTH och SU 2003-10-24 sida 1 till Tentamen i Text- och bildbehandling (2D1378) fredagen den 24 oktober 2003, kl. 8 13 Hjälpmedel: räknedosa Fråga om något verkar oklart. Ange tydligt på omslaget vilken linje (program) du tillhör. Av 40 möjliga poäng ger 21 säkert betyg 3 (G), 28 säkert betyg 4 och 34 säkert betyg 5. 1 (6) Förklara följande begrepp (komplettera gärna med exempel). Du ska dels beskriva begreppet, dels avgränsa det från närliggande begrepp. (Varje felaktig eller utelämnad förklaring ger 1 p avdrag. Uppgiften ger dock minst 0 p.) a. avstavningsanvisning b. circumflex c. fyrkant d. hårstreck e. hängande indrag f. ligatur g. restitution h. satsyta i. surrogattecken 2a (3) 2b (2) 2c (3) Sättet att skapa och formge tabeller är ju olika i MSWord och TeX/Latex. Diskutera några skillnader. Ge några tumregler för utformning av dokument som har med»linjering» att göra. Diskutera datorstöd för framställning av sakregister. 3 (3) CSS (cascading style sheet) kan ju användas såväl med HTML som med XML. Redogör för var CSS-formatmallar kan placeras och några olika mekanismer för vilka element respektive CSS-regel ska styra utformningen av. 4 (2) Dynamisk programmering ingår som en del i TeXs radplanering. Vilket delproblem löses där med dynamisk programmering? 5 (4) Beskriv detaljerat ett sätt att konstruera en tröskelvärdesmatris för periodisk rastrering med spridd rasterpunkt och illustrera med en rasterpunkt som är 4x4 exponeringspunkter med svärtningsnivåer 0..255. 6 (4) Förklara skaländring med bilinjär interpolation och illustrera genom att beräkna den nya bilden g(1,1) vid förminskning av den gamla bilden f(x,y) med skalfaktorn 0,75. Utgå från att bildpunkter i gamla bilden som inte visas är 0. y 3 200 240 220 200 y 2 2 180 160 110120 1 1 10 20 50 80 0 0 0 1 2 3 4 x 0 1 2 3 x f(x,y) g(x,y) Vänd!
IPLab, Nada, KTH och SU 2003-10-24 sida 2 7 Banor i Photoshop och Illustrator består av rätlinjiga segment och krökta segment (Bezier-kurvor). Segmentens ändpunkter kallas ankarpunkter och på de krökta segmenten ser man styrlinjer med styrpunkter i ändarna. Ett segment beskrivs av fyra punkter p0, p1, p2 och p3. z = (1- t) 3 p0 + 3(1- t) 2 tp1+ 3(1- t)t 2 p2 + t 3 p3 med 0 t 1. Egentligen kan man se rätlinjiga segment som Bezier-segment med styrlinjer som är identiska med segmentet. 7a (2) Beskriv styrlinjens funktion dvs. vad man kan göra med den och hur det påverkar banan. En»mjuk ankarpunkt» har två motriktade lika långa styrlinjer, ett»hörn» har noll, en, två motriktade olika långa eller två olika riktade styrlinjer. Fallet med en ankarpunkt mellan två rätlinjiga segment med samma riktning kan man se som såväl mjuk ankarpunkt som hörn 7b (2) 7c (2) Rita och förklara hur dessa fall hör ihop med banans form. Redogör för några andra viktiga egenskaper hos Bezier-kurvor som rithjälpmedel. 8 (3) Förklara hur två färgprover med olika spektral reflektans ( r1(l) och r2(l) ) kan ge samma färgintryck. Varför är det inte säkert att dessa prover som ser lika ut i en belysning ser lika ut i en annan belysning? 9 (4) Antag att en tvåtonsbild är kodad med en följdlängdsmetod där följderna är aritmetiskt kodade med följande schema. 0 vita [0 0,1) 0 svarta [0,1 0,2) 1 vit [0,2 0,3) 1 svart [0,3 0,4) 2 svarta [0,4 0,45) 3 svarta [0,45 0,5) 4 svarta [0,5 0,6) 5 svarta [0,6 0,75) 5 vita [0,75 0,95) slutmarkering [0,95 1) Avkoda det mönster som kodas som 0,461 623 132 41. Lycka till!
IPLab, Nada, KTH och SU 2003-10-24 sida 3 1 a. avstavningsanvisning Kod som infogas i ord där avstavning är tänkbar. Visas som bindestreck radbyte vid avstavning och annars inte alls. Infogas i MSWord med kommando-bindestreck och i Latex med \-. b. circumflex Tecknet»^» som används som diakritiskt tecken bl.a. i franska. c. fyrkant Längdmåttenhet, normalt lika med aktuellt teckensnitts grad. Kallas»em» på engelska. d hårstreck Tunn linje t.ex. den tunnaste som kan produceras med aktuell utskriftsteknik eller tunn linje i glyf, t.ex. vänstra stapeln i»a». e. hängande indrag Att vissa rader, vanligen alla utom styckets första, börjar med lika stort vänsterindrag. Används ofta i uppräkning och litteraturförteckning. f. ligatur Glyf som består av två eller flera sammanskrivna tecken, t.ex.»fi». Ligaturer används för att det ska se vackrare ut men användes förr också för att öka hastigheten vid handsättning. g. restitution Att räta upp störtande linjer, perspektivkorrektion, t.ex. när ett högt hus fotograferats från marken med uppåtlutad kamera. h. satsyta Den del av sidan där löpande text placeras; sidan bortsett från marginaler. i. surrogattecken I Unicode har 2048 tecken, surrogattecken, avsatts för att bilda 32-bitarstecken. 1024 används som första tecken i sådana kombinationer och 1 024 som andra tecken. Unicode rymmer därmed 2^16 2 048+1024*1024 tecken=1 112 064 tecken. 2a 2b Arbetssättet är ju olika i MSWord och Latex. I MSWord består dokumentet av objekt vars egenskaper kan ändras via dialogrutor eller direktmanipulation och ändringar visas omedelbart på skärmen. I Latex skriver man en beskrivning av dokumentet, kompilerar denna och visar resultatet med någon presentationsfunktion. Det finns implementationer där kompilering och ny visning görs efter varje ändring. I MSWord är varje tabellcell ett»minidokument» vars storlek, marginaler o.d. kan väljas. Man kan föreskriva cellerns dimensioner eller låta storleken anpassas till innehållet. Cellen kan ha kantlinjer, fyllning o.d. I Latex skapas tabell med omgivningen tabular som innehåller en mallrad som beskriver den typiska raden. Kolumnernas bredd anpassas automatiskt till de data som tar mest plats. I båda programmen kan man styra textens utforming, kantlinjer, bakgrund, hopslagning av celler m.m. Med»linjera» menar man»ha gemensam kant eller mittlinje». Det anses att god layout har få sådana lägen. Man låter rader ha gemensam vänsterkant och ofta gemensam högerkant, rubriker görs också vänsterställda. Alla styckeindrag görs lika stora och indrag i uppräkningar och litteraturförteckning görs lika stora. Man låter ofta parallella spalter ha gemensamma baslinjer. Sidans översta och oftast nedersta rad har samma läge på alla sidor. Bilder linjerar med spalternas eller satsytans kanter.
IPLab, Nada, KTH och SU 2003-10-24 sida 4 2c Normalt finns kommandon för att ange att ord i texten ska vara med i sakregistret. Ofta kan man också ange ord eller fraser som inte ingår i texten men som ska vara med i sakregistret. Verktygens främsta uppgift är att notera sidnumren för de olika orden, ta bort ev. dubletter, sortera och formge sakregistret. Man kan vilja framhålla huvudreferens med fetstil eller kursiv. Man kan vilja ersätta sidnummer med hänvisning,»vippstjärt, se sädesärla», eller förklaring. Man kan vilja ange sakorden hierarkiskt. Hjälpmedlet i MSWord är kraftfullt och för Latex finns kommandon och ett särskilt program för indexgenerering 3 CSS-formatmallar kan finnas i en separat fil som refereras från HTML- eller XML-dokument, ingå i dokumentet eller läggas in som värde på attributet STYLE i de element som ska styras. I de två först fallen innehåller varje CSS-regel en selektordel som beskriver vilka element som ska påverkas av regeln. En selektor kan ange en viss elementtyp, element av viss klass (med ett visst angivet värde på attributet CLASS), ett unikt identifierat element (med ett visst angivet unikt värde på attributet ID) eller något av detta i en omgivning som beskrivs av en följd av selektorer där de föregående beskriver en omgivning åt de senare. Det finns också»pseudoselektorer», särskilt i CSS2, för att beskriva element som man pekar på eller har klickat på, första element av viss typ i ett annat element, element som direkt komponent i ett annat element m.m. 4 Knuth och Plass metod för radplanering sätter ett pris på sträckning och krympning av fjädrar i texten (främst ordmellanrum). Man söker sedan de sätt att indela stycket i rader utan avstavning så att ingen rad får en kostnad större än \pretolerance. Om inget sådant sätt finns bestämmer TeX möjliga avstavningspunkter och söker de sätt att indela stycket i rader så att ingen rad får en kostnad större än \tolerance. Om inte heller det går ges varning. De hittade indelningarna beskrivs av en graf där noderna är radbytena, startoch slutnoderna är styckts början och slut och bågarna är ovanstående kostnad utökat med andra kostnader, t.ex. för avstavning, många konsekutiva avstavade rader, explicita böter m.m. Med dynamisk programmering hittar man den billigaste vägen från startnod till slutnod dvs. det bästa sättet att radplanera stycket. 5 Metoden beskrivs i Ulichney och kallas recursive tesselation (rekursiv plattläggning). Utgå från rastercell med sida 2n. Numrera mitten 1. Numrera hörnen 2. Ett hörn och två kanter tillhör som vanligt denna cell. Lägg kvadrater med sidan dividerad med sqrt(2) vridna 45 grader med mitten på redan numrerade punkter. Numrera dessas hörn i ordning enligt tidigare numrerade hörn i konsekvent riktning. Upprepa detta tills alla exponeringspunkter har numrerats. Svärtningsnivåerna 0..255 (0..q) står vardera för svärtningsintervall av längden 1 dvs. från 0 till 256 (0 till q+1). Med 16 (m) exponeringspunkter kan vi få 17 (m+1) nivåer, 0..17 svarta exponeringspunkter. Vi ska alltså välja 16 (m) trösklar så att svärtningsintervallet 0..256 (0..q) delas i 17 (m+1) delar, Í i (q +1) dvs. välj trösklarna Î Í m +1 i =1..m.
IPLab, Nada, KTH och SU 2003-10-24 sida 5 En möjlig tröskelvärdesmatris är: 195 105 225 75 45 150 15 135 240 90 210 120 30 135 60 180 6 För att beräkna g(x, y) beräknar vi f * (x /2, y /s) där s är skalfaktorn och f * är en approximation av den gamla biden. Med bilinjär interpolation bestämmer vi f * (x', y') = a + bx'+cy'+dx' y' genom interpolation i x = { Îx', Îx' +1}, y = { Îy', Îy' +1}. Vi får x'=4/3 och y'=4/3. f * (1,1) =160 = a + b + c + d f * (2,1) =110 = a + 2b + c + 2d f * (2,2) = 220 = a + 2b + 2c + 4d f * (1,2) = 240 = a + b + 2c + 2d varav f * (x, y) =160-80x + 50y + 30xy och g(1,1) = f * (4 /3,4 /3) ª173,3. 7a 7b 7c Styrlinjen p0..p1 resp. p3..p2 är tangenter till segmentet i ankarpunkterna p0 resp. p3. Ju längre styrlinjen är deto större är krökningen i ankarpunkterna. Genom att flytta punkterna kan man styra kurvans utseende inom vida gränser. En»mjuk ankarpunkt» har två motriktade lika långa styrlinjer vilket innebär att första och andra derivatorna är kontinuerliga. I ett»hörn» med noll styrlinjer är de två segmentens krökning noll. I ett»hörn» med en styrlinje har det ena segmentet krökningen noll. I ett»hörn» med två motriktade olika långa styrlinjer ändras inte riktningen men väl krökningen. I ett»hörn» med två olika riktade styrlinjer har segmenten olika riktning. Segmentet ligger helt inom fyrsidingen p0, p1, p2, p3. Man kan åstadkomma god approximation av en kvartscirkel med ett segment. Det är kompakt att lagra banor som punkternas koordinater. Segmenten är vridniningsinvarianta. Man upplever det som ganska naturligt att rita banor genom att manipulera ankar- och styrpunkter. 8 Låt i 2 (l) vara belysningen och x(l) vara reflexionen. Färgkoordinaterna för det ljus som träffar ögat kan skrivas R = i(l)x(l)r(l)d l G = B = Ú Ú Ú i(l)x(l)g(l)d l i(l)x(l)b(l)d l med r(l), g(l) och b(l) som de 1931 uppmätta funktionerna som beskriver normalobservatörens färgseende.
IPLab, Nada, KTH och SU 2003-10-24 sida 6 Det inses lätt att olika reflexion, x 2 (l) och x 2 (l), kan ge samma värde på (R, G, B), dvs. färgen, och att om (R, G, B) är lika för x 1 (l) och x 2 (l) i belysningen i 1 (l) behöver de inte vara lika i en annan belysning, i 2 (l). (Se t.ex. integralerna som summor över tre punkter i intervallet.) 9 Räkningarna kan ställas upp så här. vänster höger x m del-v del-h 0.0 1.0 0.4616231324 3s 0.45 0.5 0.45 0.5 0.2324626482 1v 0.2 0.3 0.46 0.465 0.324626482 1s 0.3 0.4 0.4615 0.462 0.24626482 1v 0.2 0.3 0.4616 0.46165 0.4626482 3s 0.45 0.5 0.4616225 0.461625 0.252964 1v 0.2 0.3 0.461623 0.46162325 0.52964 4s 0.5 0.6 0.461623125 0.46162315 0.2964 1v 0.2 0.3 0.46162313 0.4616231325 0.964! 0.95 1.0 0.461623132375 0.4616231325 Det ska gå att organisera räkningarna med heltalsaritmetik med ett antal siffror som enbart beror på sannolikheterna.