Coming back to your original question...
On Wed, Jul 18, 2012 at 01:10:51PM -0400, Aditi Pai wrote: > Hello, > > I am trying to write a function changeColor for an assignment. Two things > that I am unsure about for this assignment are how to assign different > colors to integers so that, red will be 1, blue will be 2, etc. Also, I Is your assignment to invent your own colour scheme? Or to use an existing colour scheme? (I'm Australian, we spell colour with a U.) If you are supposed to use an existing scheme, then you need to find out which one you are supposed to use. I can't help with that. I can tell you that there are generally two main ways to assign colours: * palettes (also known as indexed colour) * colour spaces Palettes aren't terribly helpful in this question. A palette basically is a list of usually 256 integers (but sometimes fewer), each one of which arbitrarily represents a colour. So you might have: 0 = light blue 1 = pink 2 = dark green 3 = white 4 = very light grey ... 254 = black 255 = tangerine or something. Obviously because the order of colours is arbitrary, it is hard, if not impossible, to say "start with tangerine and make it 10% more blue". Colour spaces are more useful. A colour space defines each colour in terms of usually three, but sometimes four, numbers, each one of which ranges between 0 and 255. Each number represents a different quality of the colour. There are different colour spaces, because none of them describe colour perfectly. Some of them are better for modelling additive colours (like from your monitor, which generates coloured light); some are better for subtractive colours (like your colour printer). The whole field is awfully complex and I'm not an expert, but you can start here: http://en.wikipedia.org/wiki/Color_space_encoding I *think* that for your purposes, the best colour space to start with is the RGB model. In this, each colour is represented by an amount of red, green and blue, added together. For example: "Black" is the complete absence of any colour, so: Red = 0 Green = 0 Blue = 0 "White" is a complete mix of all colours, so: Red = 255 Green = 255 Blue = 255 Everything else is somewhere in between, e.g. "Forest Green": Red: 33 out of a maximum of 255, or 12.9% Green: 139, or 54.5% Blue: 33, or 12.9% Notice that here the percentage represents the amount out of the maximum possible for each value, and then do NOT add to 100% in total. If you increase the amount of blue by 50%, you get: Red: 33 or 12.9% Green: 139 or 54.5% Blue: 33 + 16.5 = 50 (rounded to the nearest integer) or 19.6% I have no idea what name this colour might have. Does this help? -- Steven _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor