Problem Set #7
 
Part 1
Hand in: p1.class
According to Goethe, the light values of the colors can be approximated as Y:O:R:V:B:G = 9:8:6:3:4:6. In other words, looking at the complementary pair R:G, we know that 6:6, therefore equal amount of R and G balance out. Similarly, comparing Y:V, we get 9:3=3:1, thus Y is 3 times brighter than V. Doing this again for the third complementary pair O:B, we get 8:4=2:1, thus O is 2 times brighter than B. If were to balance the Y:V pair, we would want 1/4 Y together with 3/4 V; to balance O:B, we would want 1/3 O with 2/3 B.

Create an image of Yellow and Violet such that mx represents the relative balance, i.e. 0.5 implies that Y and V should be balanced in brightness, 0 implies that Y dominates, 1 implies that V dominates.
 
Part 2
Hand in: p2.class
Do the same for Orange and Blue.
 
Part 3
Hand in: p3.class
Consider the entire set of colors Y, O, R, V, B, G. Their relative harmonious areas work out to be: 3:4:6:9:8:6. In other words, Y:O=3:4, Y:R=3:6, Y:V=3:9, Y:B=3:8, Y:R:B=3:6:8, O:V:G=4:9:6, etc. you can relate the relative brightness of any set of colors in this way. Create an image using YORVBG such that mx at 0.5 represents all colors in harmony, 0 represents a dominance of the primary colors RYB, 1 represents domination by the secondary colors OVG;
 
Part 4
Hand in: p4.class
Until now, mx and my have represented a number from 0 to 1, floating point. And YES, it still will. Imagine that mx represents a hue from 0 to 1 (where 0 is red, and wraps all the way around to 1 as red: essentially the mapping of H in HSV space in JAVA). my also represents a hue. Create an image that looks at mx and tries to counteract the hue in mx. Display the image of the result of your color reaction, and place the result in my. Note that this is entirely a hue transfer and not brightness or saturation. We will use this in the chained fashion I mentioned in class. Again, read hue from mx, write hue to my.