Presentation is loading. Please wait.

Presentation is loading. Please wait.

©College of Computer and Information Science, Northeastern UniversityApril 22, 20151 CS U540 Computer Graphics Prof. Harriet Fell Spring 2009 Lecture 4.

Similar presentations


Presentation on theme: "©College of Computer and Information Science, Northeastern UniversityApril 22, 20151 CS U540 Computer Graphics Prof. Harriet Fell Spring 2009 Lecture 4."— Presentation transcript:

1 ©College of Computer and Information Science, Northeastern UniversityApril 22, CS U540 Computer Graphics Prof. Harriet Fell Spring 2009 Lecture 4 - January 12, 2009

2 ©College of Computer and Information Science, Northeastern UniversityApril 22, Color

3 ©College of Computer and Information Science, Northeastern UniversityApril 22, Red, Green, and Blue Light

4 ©College of Computer and Information Science, Northeastern UniversityApril 22, Adding R, G, and B Values

5 ©College of Computer and Information Science, Northeastern UniversityApril 22, From the Hubble Hubble Site Link

6 ©College of Computer and Information Science, Northeastern UniversityApril 22, RGB Color Cube (1, 1, 1) (1, 1, 0) (0, 0, 1) (0, 1, 1) (0, 1, 0) (1, 0, 1) (1, 0, 0)

7 ©College of Computer and Information Science, Northeastern UniversityApril 22, RGB Color Cube The Dark Side (0, 0, 0) (1, 1, 0) (0, 0, 1) (1, 0, 1) (1, 0, 0) (0, 1, 1) (0, 1, 0)

8 ©College of Computer and Information Science, Northeastern UniversityApril 22, Doug JacobsonDoug Jacobson's RGB Hex Triplet Color Chart

9 ©College of Computer and Information Science, Northeastern UniversityApril 22, Making Colors Darker (1, 0, 0) (0, 1, 0) (0, 0, 1) (0, 1, 1) (1, 0, 1) (1, 1, 0) (0, 0, 0) (.5, 0, 0) (0, 0,.5) (0,.5,.5) (.5, 0,.5) (.5,.5, 0) (0,.5, 0)

10 ©College of Computer and Information Science, Northeastern UniversityApril 22, Getting Darker, Left to Right for (int b = 255; b >= 0; b--){ c = new Color(b, 0, 0); g.setPaint(c); g.fillRect(800+3*(255-b), 50, 3, 150); c = new Color(0, b, 0); g.setPaint(c); g.fillRect(800+3*(255-b), 200, 3, 150); c = new Color(0, 0, b); g.setPaint(c); g.fillRect(800+3*(255-b), 350, 3, 150); c = new Color(0, b, b); g.setPaint(c); g.fillRect(800+3*(255-b), 500, 3, 150); c = new Color(b, 0, b); g.setPaint(c); g.fillRect(800+3*(255-b), 650, 3, 150); c = new Color(b, b, 0); g.setPaint(c); g.fillRect(800+3*(255-b), 800, 3, 150); }

11 ©College of Computer and Information Science, Northeastern UniversityApril 22, Gamma Correction Generally, the displayed intensity is not linear in the input (0  a  1). dispIntensity = (maxIntensity) a  To find  –Find a that gives you.5 intensity –Solve.5 = a  –  = ln(.5) ln( a)

12 ©College of Computer and Information Science, Northeastern UniversityApril 22, Gamma Correction Gamma half black half red (127, 0, 0)

13 ©College of Computer and Information Science, Northeastern UniversityApril 22, Making Pale Colors (1, 0, 0) (0, 1, 0) (0, 0, 1) (0, 1, 1) (1, 0, 1) (1, 1, 0) (1, 1, 1) (1,.5,.5) (.5,.5, 1) (.5, 1, 1) (1,.5, 1) (1, 1,.5) (.5, 1,.5)

14 ©College of Computer and Information Science, Northeastern UniversityApril 22, Getting Paler, Left to Right for (int w = 0; w < 256; w++){ c = new Color(255, w, w); g.setPaint(c); g.fillRect(3*w, 50, 3, 150); c = new Color(w, 255, w); g.setPaint(c); g.fillRect(3*w, 200, 3, 150); c = new Color(w, w, 255); g.setPaint(c); g.fillRect(3*w, 350, 3, 150); c = new Color(w, 255, 255); g.setPaint(c); g.fillRect(3*w, 500, 3, 150); c = new Color(255,w, 255); g.setPaint(c); g.fillRect(3*w, 650, 3, 150); c = new Color(255, 255, w); g.setPaint(c); g.fillRect(3*w, 800, 3, 150); }

15 ©College of Computer and Information Science, Northeastern UniversityApril 22, Portable Pixmap Format (ppm) A "magic number" for identifying the file type. A ppm file's magic number is the two characters "P3". Whitespace (blanks, TABs, CRs, LFs). A width, formatted as ASCII characters in decimal. Whitespace. A height, again in ASCII decimal. Whitespace. The maximum color value again in ASCII decimal. Whitespace. Width * height pixels, each 3 values between 0 and maximum value. –start at top-left corner; proceed in normal English reading order –three values for each pixel for red, green, and blue, resp. –0 means color is off; maximum value means color is maxxed out –characters from "#" to end-of-line are ignored (comments) –no line should be longer than 70 characters

16 ©College of Computer and Information Science, Northeastern UniversityApril 22, ppm Example P3 # feep.ppm

17 ©College of Computer and Information Science, Northeastern UniversityApril 22, private void saveImage() { String outFileName = “my.ppm"; File outFile = new File(outFileName); int clrR, clrG, clrB; try { PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(outFile))); out.println("P3"); out.print(Integer.toString(xmax-xmin+1)); System.out.println(xmax-xmin+1); out.print(" "); out.println(Integer.toString(ymax-ymin+1)); System.out.println(ymax-ymin+1); out.println("255"); for (int y = ymin; y <= ymax; y++){ for (int x = xmin; x <= xmax; x++) { // compute clrR, clrG, clrB out.print(" "); out.print(clrR); out.print(" "); out.print(clrG); out.print(" "); out.println(clrB); } out.close(); } catch (IOException e) { System.out.println(e.toString()); }


Download ppt "©College of Computer and Information Science, Northeastern UniversityApril 22, 20151 CS U540 Computer Graphics Prof. Harriet Fell Spring 2009 Lecture 4."

Similar presentations


Ads by Google