Upload
cherokee-guerrero
View
29
Download
2
Embed Size (px)
DESCRIPTION
http://www.ugrad.cs.ubc.ca/~cs314/Vjan2007. Vision/Color II, Virtual Trackball Week 5, Wed Feb 7. Reading for Last Time & Today. RB Chap Color FCG Sections 3.2-3.3 FCG Chap 20 Color FCG Sections 21.2.2, 21.2.4. Reading for Next Time. FCG Chap 3 Raster Algorithms (except 3.2-3.4, 3.8) - PowerPoint PPT Presentation
Citation preview
Reading for Last Time & TodayRB Chap Color
FCG Sections 3.2-3.3 FCG Chap 20 Color FCG Sections 21.2.2, 21.2.4
Reading for Next TimeFCG Chap 3 Raster Algorithms (except 3.2-3.4, 3.8) FCG Section 2.11 Triangles
Midterm Newsmidterm next time (Friday Feb 9)closed book, no calculatorsallowed to have one page of noteshandwritten, one side of 8.5x11 sheetthis room (DMP 301), 10-10:50material coveredtransformations, viewing/projection
sit where there is an examcell phones off
Review: RGB Component Colorsimple model of color using RGB triplescomponent-wise multiplication(a0,a1,a2) * (b0,b1,b2) = (a0*b0, a1*b1, a2*b2)
why does this work?must dive into light, human vision, color spaces
Review: Trichromacy and Metamersthree types of conescolor is combination of cone stimulimetamer: identically perceived color caused by very different spectra
Review: Measured vs. CIE Color Spacesmeasured basismonochromatic lightsphysical observationsnegative lobestransformed basisimaginary lightsall positive, unit areaY is luminance
Review: Chromaticity Diagram and Gamutsplane of equal brightness showing chromaticitygamut is polygon, device primaries at cornersdefines reproducible color range
Review: RGB Color Space (Color Cube)define colors with (r, g, b) amounts of red, green, and blueused by OpenGLhardware-centric
RGB color cube sits within CIE color spacesubset of perceivable colorsscale, rotate, shear cube
Vision/Color II
HSV Color Spacemore intuitive color space for peopleH = Huedominant wavelength, colorS = Saturationhow far from grey/whiteV = Valuehow far from black/whiteaka brightness B, intensity I, lightness L
ValueSaturationHue
HSV and RGBHSV/HSI conversion from RGBnot expressible in matrix
YIQ Color Space color model used for color TVY is luminance (same as CIE)I & Q are color (not same I as HSI!)use Y only for B/W backwards compatibilityconversion from RGB is linear
green much lighter than redred lighter than blue
Luminance vs. IntensityluminanceY of YIQ0.299R + 0.587G + 0.114Bintensity/brightness I/V/B of HSI/HSV/HSB0.333R + 0.333G + 0.333Bwww.csse.uwa.edu.au/~robyn/Visioncourse/colour/lecture/node5.html
Opponent Colordefinitionachromatic axisR-G and Y-B axisseparate lightness from chroma channelsfirst level encodinglinear combination of LMSbefore optic nervebasis for perceptiondefines color blindness
vischeck.comsimulates color vision deficienciesDeuteranopeProtanopeTritanopeNormal vision
Adaptation, Surrounding Colorcolor perception is also affected byadaptation (move from sunlight to dark room)surrounding color/intensity:simultaneous contrast effect
Color/Lightness ConstancyImage courtesy of John McCann
Color/Lightness ConstancyImage courtesy of John McCann
Color Constancyautomatic white balance from change in illuminationvast amount of processing behind the scenes!colorimetry vs. perception
Stroop Effectsay what the color is as fast as possible
redblueorangepurplegreen
Stroop Effectbluegreenpurpleredorange
interplay between cognition and perception
Virtual Trackball
Virtual Trackballinterface for spinning objects arounddrag mouse to control rotation of view volumeorbit/spin metaphorvs. flying/driving with lookatrolling glass trackballcenter at screen origin, surrounds worldhemisphere sticks up in z, out of screenrotate ball = spin world
Virtual Trackballknow screen click: (x, 0, z)want to infer point on trackball: (x,y,z)ball is unit sphere, so ||x, y, z|| = 1.0solve for y
eyeimage plane
Trackball Rotationcorrespondence:moving point on plane from (x, 0, z) to (a, 0, c)moving point on ball from p1 =(x, y, z) to p2 =(a, b, c) correspondence:translating mouse from p1 (mouse down) to p2 (mouse up)rotating about the axis n = p1 x p2
Trackball Computationuser defines two pointsplace where first clicked p1 = (x, y, z) place where released p2 = (a, b, c) create plane from vectors between points, originaxis of rotation is plane normal: cross product (p1 - o) x (p2 - o): p1 x p2 if origin = (0,0,0)amount of rotation depends on angle between linesp1 p2 = |p1| |p2| cos q|p1 x p2 | = |p1| |p2| sin qcompute rotation matrix, use to rotate world
Better picture for opponent color Plane + line