[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] "Making Games with Python & Pygame" free book



Because we only have 3 color detector cells in our eyes we can imitate any color with various combinations of red, green, and blue lights mixed together in varying amounts. Most animals (lizards, fish, birds) can see an additional color, ultraviolet, which mammals lost when our forbears were nocturnal. Color receiving cells, "cones" don't work very well in low light levels so nocturnal animals tend to have eyes populated mostly by "rod" cells, which are much more sensitive to low light levels (why you don't see colors at night). Apes have evolved back into daytime lifestyle and repopulated our eyes with color cells, which hadn't been completely lost, unlike ultraviolet which had been.

If you add red, green, and blue light it stimulates all our color receptors and it looks like white light. This is called additive mixing. A talking bird would say, "What? You're crazy. That's not white. There's no ultraviolet in it." A hypothetical alien who had dozens of different types of color receptor would be able to see clearly that it was just a mix of red light and green light and blue light.

Mixing red and green lights looks like "yellow" to us, but is still just red+green light. It just stimulates our receptors the same way a single yellow light would. You can prove this to yourself by looking at the faked yellow through a narrow band yellow filter and both the parts are blocked.

Painters make colors by mixing pigments. They work slightly differently to mixing lights. Pigments get their color by absorbing light of most colors and reflecting only some. This is subtractive mixing. Because of this the colors used to fake all the other colors are different. They are red, yellow and blue. They are actually a slightly different "red" and "blue" so are often called magenta and cyan to avoid confusion. If you add red and yellow pigments they produce the appearance of green because each subtracts colors from the available light.

red+green+blue - red - blue = green
   white

If you mix all the pigments together it approaches black because it filters more and more light out, but because it always reflects some light in reality you end up with a dark color that is tinted slightly with color so looks some shade of brown. This is why printing uses an additional ink that is black. That divides color up into CMYK (cyan, magenta, yellow, black) tones.

Cheers,

	- Miriam


Russell Jones wrote:
Great news :) I liked IYOCGwP and have mentioned it here before now.

BTW, on page 34 of the new book you write "(Red, blue, and yellow are
the primary colors for paints and pigments, but the computer monitor
uses light, not paint.)"

The primary colours for pigment and paint are cyan, yellow and magenta, no?

Russell

On 10 February 2012 21:04, Al Sweigart <al@xxxxxxxxxxxxxxxxxxxx
<mailto:al@xxxxxxxxxxxxxxxxxxxx>> wrote:

    Hey everyone, I'm the author of "Invent Your Own Computer Games with
    Python". I've written a new book that focuses more on Pygame titled,
    "Making Games with Python & Pygame". You can download it for free from:

    http://inventwithpython.com/pygame

    Feel free to email me any questions. Thanks!

    -Al



--
If you don't have any failures then you're not trying hard enough.
 - Dr. Charles Elachi, director of NASA's Jet Propulsion Laboratory
-----
Website: http://miriam-english.org
Blogs:   http://miriam-e.dreamwidth.org
         http://miriam-e.livejournal.com