Abstract:
A general purpose computer system is used to run a color selection application which operates to facilitate the selection of colors and the automatic generation of palettes of harmonious colors. The application is implemented in three pages, a color selection page, a results manager page, and a color composition page. The color selection page is used to select a plurality of colors that the results manager page can operate on to generate palettes of harmoniously related colors. The color composition page is used to experiment with the colors selected and palettes generated in order to arrive at a pleasing arrangement of colors. The results manager page contains functions and palette characteristics that an artist can specify in order to automatically generate palettes that contain groups of colors that have very specific contrast relationships to previously selected colors.

Description:
FIELD OF THE INVENTION  
       [0001]     This invention is generally related to computer implemented methods for selecting colors for a color palette utilized by an artist to create a color image. More specifically, this invention relates to a color selection method and system that uses a perceptually ordered color space and automatically applies contrast relationships to the color selection process in order to facilitate the selection of harmonic colors for an image.  
       BACKGROUND OF THE IVENTION  
       [0002]     Prior to the adoption of computers for the purpose of selecting colors to be used in the creation of color images, artists employed a physical palette upon which to place and mix colors used in the image creation process. The individual skill and aptitude of the artist dictated how quickly they would be able to select colors for their palette. Specifically, the degree to which an artist possessed a practical and theoretical knowledge of how colors work together usually dictated how quickly they would be able to select colors for their palette and how quickly and accurately they would be able to mix these selected colors in a manner that ensured they harmonized together when applied to the creation of an image.  
         [0003]     An improvement to the manual operation of selecting and mixing colors on a physical palette came with the availability of accurate color charts, such as the charts developed and sold by Pantone, Inc. Unfortunately, these color charts contained hundreds or thousands of colors from which the artist could select to create their palette. Selecting and harmonizing colors from such a large assortment of colors takes quite a bit of time.  
         [0004]     With the advent of computers, artists realized that software could be designed that would automatically apply color theory to the color selection process thereby making the process of color selection and harmonization much more efficient as well as accurate. One such application of computer software to the color selection process is disclosed in U.S. Pat. No. 4,794,382 entitled, “Image Retouching”. This patent discusses a two-step method for arriving at an accurate choice of tint that can be used to modify or retouch an existing color in a color image. The first step of the method involves identifying and displaying a coarse range of colors and the second step of the method involves selecting one of the colors in the coarse range and displaying a fine range of colors, centered on the selected color. The coarse range represents a group of colors with adjacent colors differing from each other by more than a predetermined amount. The fine range represents a group of colors with adjacent colors differing from each other by less than the predetermined amount. The color ranges are displayed on a computer monitor as a continuous line of individual colors. The manner that these color ranges are selected is described with reference to  FIG. 1 . Further, the patent discloses that the characteristics of the color in each of the ranges can be changed. So, for instance, the intensity of the colors can be changed. One of the deficiencies with this method is that the color space that is available from which to select colors is a non-perceptual color space. Non- perceptual color spaces are designed to accommodate the needs of display devices, such as a computer monitor or printer, and as such are not good tools for artists to use when selecting colors for their palette.  
         [0005]     U.S. Pat. No. 5,311,212 entitled, “Functional Color Selection System” discloses a system for automatically generating a palette of coordinated, harmonious, and aesthetically pleasing colors by symmetrically manipulating calorimetrically specified colors in a perceptually uniform color space. Specifically, a user selects a single “key color” which the color selection system then uses to generate one or more “analogous harmony” colors all of which reside on a single plane in the color space. The method used to select harmonizing colors is described with reference to  FIG. 5 . In addition to the system selecting harmonizing colors, it is also able to generate contrasting harmonies, as described with reference to  FIG. 6 , and lightness and chroma variation colors as described with reference to  FIG. 8 . Also, the user may vary the hue of the entire palette by a fixed amount to view the harmonious palette in different hues. The method described in this patent improves upon the method of the U.S. Pat. No. 4,794,382 patent in that a perceptually uniform color space from which colors are selected is employed. While existing perceptually uniform color spaces have been designed to exhibit colors that are related to each other in an organized and logical manner, from the perspective of the human eye, the relationships between the colors in existing perceptual color spaces, such as the Munsell or CIELAB color spaces, are not as consistent as they need to be in order for computer software to accurately measure contrast between colors which is a requirement for generating accurate color palettes. Another limitation of the method disclosed by the—212 patent is that all of the colors on any of the individual palettes created by this color selection system reside in a single plane in the color space, therefore only providing the artist with a two-dimensional solution which artificially limits the color selection process.  
         [0006]     U.S. Pat. No. 6,081,253 entitled, “Method for Generating Numerous Harmonious Color Palettes from Two Colors” discloses method for the creation of color palettes based on the initial selection by the artist of two colors from a perceptual color space, such as CIELAB. The patent describes how to derive equations that define planes that pass through an axis formed by the two selected colors. The planes defined by the derived equations will always contain harmonious color groups since the natural, perceptual relationship between the colors on a plane is preserved.  
         [0007]     U.S. Pat. No. 6,226,010 entitled, “Color Selection Tool” discloses a method for generating a blend of colors between two initially selected colors. Essentially, an artist selects an initial color and then selects another color at some distance from the initial color. The tool then generates the intermediate or blend colors that represents all of the colors in a straight line, assuming CIELAB color space, between the initially selected color and the first selected color. The artist can continue to select a second, third, etc. color at some distance from the initial color and create a palette of colors that is displayed in circular fashion as  FIG. 1  illustrates.  
         [0008]     Both of the methods for selecting colors for a color palette disclosed by the U.S. Pat. Nos. 6,081,253 and 6,226,010 patents suffer from the same limitations as the method of the U.S. Pat. No. 5,311,212 patent, namely the inaccuracy injected into the process by the perceptual color spaces used and the limitation on the artist imposed by a two-dimensional color palette. The manner in which colors are selected for a palette in the prior art is further limited to a straight line between two colors or to a straight line of color with the selected color in the middle, or to a surface of color that cuts through the plane of a line described by two selected colors. The color harmonies generated for color palettes by these processes tend to be somewhat sparse and creatively confining therefore limiting the efficiency of the artist in the color selection process to the extent that they have to create a number of palettes in gain a full appreciation of the colors available to them. So, for instance, none of the prior art methods for color selection provide the artist with a tool to generate a palette of colors that are only some specified distance in tri-axial color space from a selected color. Still further, nowhere in the prior art is there a tool that provides the artist with a comprehensive and accurate means to automatically generate contrast relationships between a plurality of colors. More specifically, order and visual synchrony or harmony can be brought to any collection of colors by precisely controlling the range or proportional distances between those colors.  
         [0009]     Therefore, it would greatly facilitate the process of selecting harmonically related colors if a color selection tool was available to artists that utilized a specially constructed, perceptually ordered color space that facilitates the automatic generation of a palette of colors with very precise contrast relationships. Further, a tool that permits the artist to precisely control contrast relationships between colors would be very useful during the creation of color palettes.  
       SUMMARY OF THE INVENTION  
       [0010]     The limitations of the prior art color selection methods are overcome by my invention which can be implemented on a general purpose computer system that includes both hardware and software. My invention provides a novel method for efficiently selecting colors for a color palette that have precisely defined contrast relationships. At least one color is initially selected from among colors in a perceptually ordered color space, a contrast relationship is specified that operates on the initially selected color to identify colors in the perceptually ordered color space, and these identified colors are displayed. The perceptually ordered color space is a three dimensional color space composed of a hue, value, and chroma axis each of which are opposed in the three dimensional space to each other by ninety degrees. The specified contrast relationship comprises selecting a contrast relationship function and specifying at least one palette characteristic. The selected contrast relationship function can be one of a range function and a proportionality function. The specified palette characteristic is at least one of a range step, a proportionality relationship between three colors, and accuracy. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]      FIG. 1  is a high level block diagram of the computer system incorporating the invention.  
         [0012]      FIG. 2  is an illustration of the Color Selection Page.  
         [0013]      FIG. 3  is an illustration of the Results Manager Page.  
         [0014]      FIG. 4  is a logical flow diagram of the Color Selection process.  
         [0015]      FIG. 5  is a logical flow diagram of the Find Range function operation.  
         [0016]      FIG. 6  is a logical flow diagram of the Find Proportion function operation.  
         [0017]      FIG. 7  is an illustration of the Composition Manager Page. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0018]     The entire contents of commonly assigned application, Ser. No. 10\862,230 filed Jun. 7, 2004, are incorporated into this application by reference.  
         [0019]     My invention, hereinafter referred to as the Color Selector, may be implemented in software and loaded onto a general purpose computer system running any operating system software, for example a Dell™ Dimension™ 4500S computer system running the Micrsoft® Windows XP operating system all sold by the Dell™ Computer Corporation located in Austin, Texas. With reference to  FIG. 1 , the Color Selector software ( 6 ) is initially loaded onto the Host&#39;s ( 10 ) Disk Sub-System ( 12 ). The Color Selector software may reside on a CD or floppy disk or any other portable storage medium suitable for software code. At the time an artist wishes to use the Color Selector software to select colors or to create a color palette, they instruct the Computer System to transfer the software from the Disk Sub-System to the Memory Sub-System ( 13 ), where it is made available to the Processor ( 11 ) which operates to accept and execute instructions from the artist using the Input Device ( 7 ) which could be a mouse and/or a keyboard, for instance. The results of an artist&#39;s instructions, as executed by the computer, can be displayed by the CRT ( 9 ) or the Printer ( 8 ). These results will typically be a set of colors or a palette from which the artist can select colors to create a color image.  
         [0020]     More specifically with reference to the Color Selector software ( 6 ) in  FIG. 1 , this software implements several separate pages of functionality. I have elected to design the Color Selector user interface in a multi-page format, by choice and not by necessity, in order to provide the artist with a logical process for the selection of colors and the creation of a palette. But my invention should not be limited to this multi-page format, as I could just as easily have incorporated all of the Color Selector functionality onto a single page. As mentioned above, the Color Selector ( 6 ) incorporates several pages of functionality, namely a Color Selection page ( 20 ), a Results Manager page ( 30 ), and a Composition Manager page ( 70 ). Generally, the Color Selection page, illustrated in  FIG. 2 , displays a color wheel and hue page from which an artist can select colors they would like to work with on a palette. The Results Manager page, illustrated in  FIG. 3 , contains functionality that permits an artist to control the contrast relationships between the colors selected for the palette. More specifically, the functions that control these contrast relationships appear as “Find Range” and “Find Proportion” in windows ( 31 ) and ( 32 ) respectively on the Results Manager page ( 30 ) in  FIG. 3 . This page also displays a Palette ( 34 ) that is the result of the artists selecting colors, contrast relationships, and palette characteristics to be applied to the selected colors. The Composition Manager page ( 70 ), illustrated in  FIG. 7 , is used by an artist to arrange color in a composition and to experiment with color harmony using the colors selected from the various palettes that they create on Page ( 30 ). Information generated by the Color Selection and Results Manager pages can be easily imported into any of the commercially available image editing and creation tools, such as PhotoShop® Painter sold by Adobe® or a product offered by Corel® under the name Painter™ for instance. The detailed functionality of each of these pages will be described later in this application.  
         [0021]     Referring again to  FIG. 1 , the Color Selector ( 6 ) uses a specially modified, perceptually ordered, HVC Color Space ( 3 ) to facilitate the accurate calculation of color contrast relationships. This perceptually ordered, HVC Color Space is described in great detail in the application Ser. No. 10\862,230, previously incorporated by reference, as the intermediate color space ( 4 ) with reference to  FIGS. 2, 2   a , and  3 , and so will not be described here in detail. HVC is an acronym which stands for the Hue, Value, and Chroma axes in a three dimensional color space. These terms were described in the incorporated application also and so won&#39;t be described again here. Fundamentally, perceptually ordered color space means that the axes along which the colors are placed are perpendicular, or the visual characteristic enumerated by one axis has no influence over the visual characteristic enumerated by the other axes. Further, no color may appear more than once within this dimensional structure and the colors must be arranged along the axes in a visually steady and consistent fashion, such that as they progress along their axes representing the magnitude of a certain visual quality, they must be able to be divided into visually equal units of contrast magnitude, referred to hereafter as color contrast steps or simply steps, as perceived by a qualified set of individuals. In order for my invention to operate in an optimal manner, I modified a perceptually ordered, HVC color space, hereafter referred to as simply the Color Space ( 3 ), such that two colors of equal chroma, of 12 steps, and value, on adjacent hue pages, will have a contrast step of one. As the chromas of the two colors approach zero, their color contrast also approaches zero in a linear manner. Further, the Color Space is constructed such that the color contrasts between all adjacent colors on the same hue page are the same. The hue page referred to above is defined in the incorporated application with reference to  FIG. 4 .  
         [0022]     As described previously, the fimctionality of my Color Selector ( 6 ) is implemented in three separate pages. With reference to  FIG. 2 , the Color Selection Page ( 20 ) is constructed to permit an artist to select up to six colors for a palette from the Color Space. Color Wheel ( 22 ), Hue Pointer ( 22   a ), and Hue Page ( 21 ) are used by the artist in order to make these color selections. The colors selected by the artist are stored in memory by the Color Selector application and displayed in Selected Colors window ( 24 ) as color circles 1, 2, 3, 4, 5, and 6. Also, I have incorporated two sets of windows, ( 25 ) and ( 25   a ) and ( 26 ) and ( 26   a ), into the design of Page ( 20 ) that are used to display any two of the selected colors and their HVC values respectively.  
         [0023]     With reference to  FIG. 3 , I constructed the Results Manager Page ( 30 ) to provide functionality that will enable an artist to efficiently and accurately create a Palette ( 34 ) of colors that bears certain contrast relationships to any of the colors selected using the Color Selection Page ( 20 ) of  FIG. 2 . More specifically, an artist can elect to display on the Palette a set of all colors in the Color Space ( 3 ) that are a specified contrast distance, or steps, from a color selected using the Color Selection Page. This functionality is called finding the range and it is shown in the window labeled ( 31   a ) as “Find Range”. Before the “Find Range” function can operate to identify colors for a palette, it is necessary to specify certain palette characteristics. In this case, it is necessary to specify the range in steps from a particular color. The palette characteristic with respect to “Find Range” is specified in window ( 31   b ). So, for example, if the artist selects Color 1 from among the six colors illustrated in window ( 31   c ) of  FIG. 3 , specifies a range of five steps from Color 1 in window ( 31   b ), and selects the “Get Results” function ( 29 ) in  FIG. 2 , the Color Selector will only return the set of all colors in the Color Space that are five steps from Color 1 and display these colors on the Palette ( 34 ).  
         [0024]     Further with reference to  FIG. 3 , an artist can elect to display on the Palette the set of all colors in the Color Space that satisfy a specified proportional relationship between a first and second color selected using the Color Selection Page ( 20 ). The function that enables the identification of proportional relationships is called “Find Proportion” and it appears in the window labeled ( 32   a ) in the Results Manager Page ( 30 ). Before the “Find Proportion” function can operate to identify colors for a palette, it is necessary to specify certain palette characteristics in window ( 32   b ). It is necessary to specify the proportional value by entering a number in the space ( 39 ) allotted for this and it is necessary to specify between which two colors the proportional value with be calculated. These colors are entered into spaces ( 40 ) and ( 41 ). More specifically, if the specified proportional relationship is one to one (1::1), then the distance, in steps, between the first color and a color, termed Color Zero, in the set of all colors in Color Space and the second color and the same Color Zero in the set of all color in Color Space is the same. These distances are displayed in window ( 37 ). The HVC value for any color in the set of all colors identified in the Color Space that satisfies the specified proportional relationship is termed Color Zero and this value appears in the window labeled ( 35 ). Window ( 36 ) contains two of the colors selected in Page ( 20 ) and Color Zero and serves to assist the artist to conceptualize whether or not the contrast relationships between the various colors they are working with on Palette ( 34 ) work together harmoniously.  
         [0025]     The Color Selection Page ( 20 ) and the Results Manager Page ( 30 ), described above with reference to  FIGS. 2 and 3  respectively, are utilized by an artist to conduct an efficient and accurate eight step color selection process. This color selection process will now be described with reference to  FIG. 4 . At Step  1 , the artist moves the Color Section Pointer ( 27   a ) on Color Wheel ( 22 ) to a position on the Color Wheel that corresponds to the hue they would like to select for a palette. The hue value is displayed in Color Wheel Position box ( 23 ) as Red 2.5, for instance. The hue page that the Pointer ( 27   a ) points to is then displayed in the Hue Page Display window ( 21 ) as Hue Page ( 21   a ). At Step  2 , the artist selects a first color by moving the cursor on the computer monitor to Color Selection window ( 25 ) and selecting it and then selecting a color on the Hue Page ( 21   a ) by moving the cursor to point to the desired HVC value and selecting it. The selected color appears in the Color Selection window ( 25 ) as a swatch of color, the HVC value for the selected color appears in window ( 25   a ), and the selected color also appears in color circle one of the Selected Colors window ( 24 ). For instance, the selected HVC value for color one could be R2.5, 5.5, and 12.75 and this value appears in the HVC value window ( 25   a ).  
         [0026]     Continuing to refer to  FIG. 4 , the artist decides whether or not to select a second color, if the artist elects to select a second color, the process returns to Step  2  and the artist selects a second color value for the palette in the same manner as the first color was selected. The HVC value of the second selected color could be for instance, B 3, 8, and 6.625, and is displayed in HVC Value window ( 26   a ). The second selected color is displayed in the Color Selection window ( 26 ) and in color circle two in Selected Colors window ( 24 ). I have constructed the Color Selection Page ( 20 ) such that an artist can select up to six colors in the above fashion, but my invention should not be limited only to the selection of up to six colors as I could have constructed this page to permit the artist to select more than six colors. If after selecting the second color the artist decides that they do not want to select another, the process proceeds to Step  4 .  
         [0027]     In Step  4  of  FIG. 4 , the artist decides which of the two contrast relationships, either the “Find Range” function in window ( 31   a ) or the “Find Proportion” function in window ( 32   a ), they wish to select. This decision is typically based on the artists experience with the Color and whether the artist is creating a palette from one or two colors. The “Find Range” function would typically be selected if the artist was only interested to explore color relationships to one color and the “Find Proportion” function would be used if the artist was interested to explore a particular relationship that two colors have to a plurality of colors. If the “Find Range” function is selected the artist proceeds to Step  5   a  and if “Find Proportion” is selected the artist proceeds to Step  5   b . Assuming that “Find Range” is selected, at Step  5   a  the artist proceeds to specify a Range, shown in window ( 31   b ), in numbers of steps from color one. The specified Range could be any number that enables the Color Selector to identify and display at least one color from the Color Space. The Range could be, for instance, five. The Range defines the set of all colors in the Color Space that are the specified number of steps from the selected color. Also in Step  5   a , the artist can elect to specify the accuracy with which they wish to display the resulting set of colors.  
         [0028]     The Accuracy function appears in the window labeled ( 33 ) in  FIG. 3 . As with Range, Accuracy can be specified to be any number that enables the Color Selector to identify and display at least one color from the Color Space. So, for instance, Accuracy can be specified to be 0.1 steps. More specifically, the set of all colors in the Color Space that are identified as the result of specifying the Range to be five steps and the Accuracy to be 0.1 steps are from four and nine-tenths to five and one-tenths steps from the selected color. This set of all colors is displayed in Palette ( 34 ) and I will describe how this set of colors is identified later in this application. The Accuracy function has the effect of increasing or decreasing the number of colors displayed in the Palette ( 34 ) in the set of all colors in Color Space.  
         [0029]     In Step  6   a  of  FIG. 4 , the artist selects one of the two colors that were selected earlier in Step  2  of the process. For the purpose of this description, I will assume that the artist selects Color One, which has the value R 2.5, 5.5, 12.75. After selecting a color, the artist, in Step  7 , enables the “Get Results” function located in window ( 29 ) of  FIG. 2  and the resulting set of colors are displayed, in Step  8 , on the Palette ( 34 ) in  FIG. 3 .  
         [0030]     Returning now to Step  4  of  FIG. 4 , in the event that the artist selects the “Find Proportion” function ( 32   a ), then the color selection process proceeds to Step  5   b . At this point, the artist enters a number, in the area labeled ( 39 ) in window  32   b , to complete the specification of a proportional relationship they would like between the colors selected with reference to  FIG. 2 , and the Palette ( 34 ) of colors in  FIG. 3 . As with the Range and Accuracy specifications, this number can be any number that results in the identification and display of at least one color from the set of all colors in the Color Space. For the purpose of this description we should assume that the specified proportion is one-to-one (1::1). Also, at Step  5   b  the artist may specify the Accuracy similar to the manner in which it was specified in Step  5   a . At Step  6   b , the artist selects two colors from among the colors already selected with reference to  FIG. 2  and enters these colors in the spaces labeled ( 40 ) and ( 41 ). Again, for the purpose of this description we should assume that the artist selects Color One and Color Two for spaces ( 40 ) and ( 41 ) respectively. Next, the artist would invoke the “Get Results” function ( 29 ) in  FIG. 2  and the resulting set of colors are displayed on the Palette ( 34 ) in  FIG. 3 .  
         [0031]     So, for instance, if the first color selected, Color One, has a value of R 2.5, 5.5, 12.75 and the second color selected, Color Two, has a value of B3, 8, 6.625 then one of the colors in the set of all colors in the Color Space that satisfies the specified one-to-one proportional relationship has a value of Y 2.5, 7, 12. This color is called Color Zero and its HVC value will appear in the window labeled ( 35 ). Further, the distances between Color Zero and the first selected color and Color Zero and the second selected color is 14.57 and 14.59 steps respectively and both of these distances will appear in the window labeled ( 37 ). Note that the two distances are not exactly the same; however, they are well within the accuracy of 0.1 steps specified by the artist. I will describe how the Color Selector identifies the set of all colors in the Color Space that satisfy the specified proportional relationship in detail later in this application.  
         [0032]     As mentioned previously with reference to  FIG. 4 , the “Find Range” function ( 31   a ) operates to identify all colors in the Color Space that are within a specified distance of a color selected by an artist. In order for the “Find Range” function to operate, the artist must first complete those steps of the Color Selection process described in  FIG. 4  up to and including Step  7 . I will now describe how this function operates with reference to  FIG. 5 . At Step  1 , the “Find Range” function proceeds to calculate and store the contrast distances from the selected color, Color One for instance, to all of the other colors “X” in the Color Space. Contrast distances are calculated using equation 1.1 in incorporated application Ser. No. 10/862,230. As previously mentioned, Color One has an HVC value of R 2.5, 5.5, 12.75. The method as well as the increments used to search through all of the colors in the Color Space is not important to the operation of my invention. I elected to start searching in the Hue page containing the selected color, which in this case is the page containing all of the colors associated with R 2.5. So, for instance, I start at the lowest value and chroma on the R 2.5 hue page and work upwards in value and chroma, in increments of one step, skipping the selected color, one, until all of the contrast distances between the selected color and all off the other colors “X” are evaluated. All of these contrast distances “D” are saved in computer memory as D 0 , D 1 , D 2  . . . D n . The searching process then moves on to the next hue page, which in this case contains all of the colors associated with R 2.6 (Andrew . . . I just guessed at this . . . is this the method you used to search???). In Step  2 , the function utilizes equation 1.0 to evaluate the first distance “D 0 ” saved in memory to determine whether or not to include the Color “X” associated with the first distance in the set of all colors in the Color Space to be displayed in the Palette ( 34 ). If the first distance 
 
| D−R|≦ Accuracy  Eq. 1.0 
 
 “D 0 ” meets the range and accuracy specification selected by the artist, then the Color “X” associated with the first distance is stored in computer memory in Step  3   a . On the other hand, if the first distance does not meet the range and accuracy specification selected by the artist, then the Color “X” is not stored in the computer memory at Step  3   b  and the process proceeds to Step  4 . In the preferred embodiment of my invention, Steps  1  and  2  are combined such that each contrast distance is calculated and then immediately evaluated using equation 1.0. In Step  4 , the process determines whether or not all of the stored Distances “D” have been evaluated. If so, the process proceeds to Step  6  and the results of the process are displayed in the Palette ( 34 ), if not, the process returns to Step  2  and evaluates the next Distance “D 1 ” and so forth until all of the stored Distances have been evaluated at which point they would be displayed in the Palette ( 34 ). Finally, artist tend to be more interested in finding colors that are a specified distance from one another, and so the “Find Range” function is very useful for this purpose. 
 
         [0033]     As mentioned previously with reference to  FIG. 4 , the “Find Proportion” function ( 32   a ) operates to identify all colors in the Color Space that satisfy a proportional relationship, specified by an artist, between two of the colors selected with reference to  FIG. 2 , and the Palette ( 34 ) of colors. In order for the “Find Proportion” function to operate, the artist must first complete those steps of the Color Selection process described in  FIG. 4  up to and including Step  7 . I will now describe how this function operates with reference to  FIG. 6 . In Step  1 , the “Find Proportion” function calculates and stores contrast Distances “D” from two selected colors, which could be for instance the Colors One and Two mentioned previously, to all of the colors “X” in the Color Space. More specifically, the function first evaluates the distances “D” between Color One and the remaining colors in the color space, as described previously with reference to Step  1  in  FIG. 5 , and stores the resulting distances in memory in a structure “S 1 ”. The function then proceeds to evaluate the distances between Color Two and the remaining colors in the Color Space in the same fashion as for Color One. The distances resulting from this evaluation are stored in memory in a structure “S 2 ”. In Step  2 , the first stored distance in structure “S 1 ” (“D 0 S 1 ”) is subtracted from the first stored distance in structure “S 2 ” (“D 0 S 2 ”) and the absolute value of this quantity is evaluated against the specified accuracy. If this quantify is less than or equal to the specified accuracy, the color “X” common to both distances is stored in memory. If, on the other hand, this quantify is not less than or equal to the specified accuracy, the color “X” common to both distances is not stored and the process continues to Step  4 . Equation 1.1 is used to make this calculation. 
 
| D   n   S   1   −D   n   S   2 |≦Accuracy  Eq. 1.1 
 
         [0034]     In Step  4 , the process determines whether or not all of the distances in both structures have been evaluated, if this is not the case then in Step  5 , the distance in the current set of colors is incremented by some amount and the process returns to Step  2 . At Step  2 , the first stored distance in structure “S 1 ” (“D 0 S 1 ”) is subtracted from the second stored distance in structure “S 2 ” (“D 1 S 2 ”) and the absolute value of this quantity is evaluated against the specified accuracy. If this quantify is less than or equal to the specified accuracy, the color “X” common to both distances is stored in memory. If, on the other hand, this quantify is not less than or equal to the specified accuracy, the color “X” common to both distances is not stored and the process continues to Step  4 . If the process determines that all of the distances in both structures have been evaluated, then the colors “X” stored in memory are displayed in the Palette ( 34 ).  
         [0035]     At this point in the Color Selection process, the artist may have selected a sufficient number of colors and created a sufficient number of palettes to start experimenting with harmonious color combinations in window ( 36 ) of the Results Manger page ( 30 ). The artist can easily modify any of the specified ranges, proportions, or accuracies as described with reference to  FIG. 4 , in order to create different palettes from which to work. Alternatively, the artist can use the Composition Manger ( 70 ) illustrated in  FIG. 7  to experiment with the colors they select and the palettes they create. The Composition Manager is not intended to be used as a tool to create a color image as much as it is a tool to experiment with color harmonies. As I mentioned earlier in this application, an artist can used the composition management tools commercially available from either Adobe or Corel, for instance, to assist with the creation of a color image. But generally speaking, both the Composition Manger ( 70 ) and the Adobe or Corel tools allow the artist to experiment with color harmonies.  
         [0036]     I will now describe the operation of the Composition Manager ( 70 ) with reference to  FIG. 7 . As mentioned briefly in the preceding paragraph, the Composition Manager is a tool that the artist can use to experiment with color harmony using the colors they have selected in the Color Selection Page ( 20 ), discussed with reference to  FIG. 2 , and the using the colors in the Palette ( 34 ) they created as discussed with reference to  FIG. 3 . More specifically with reference to the Color Manger ( 70 ) in  FIG. 7 , Composition Window ( 71 ) is used by the artist to experiment with color harmonies using the colors they select and the palettes they create. The artist can create a plurality of Main Swatches ( 74   a ) and ( 74   b ) in Window ( 71 ) and select colors for these swatches from among the selected colors or the palette colors. For example, the artist could place Color One (R 2.5, 5.5, 12.75) and Color Two (B 3, 8, 6.625), selected with reference to  FIG. 2 , in Main Swatches ( 74   a ) and ( 74   b ) respectively. The Main Swatches are created by using the computer mouse to select “Main Swatch” in the window labeled ( 72 ), selecting “Make New” in the window labeled ( 73 ). This operation by the artist places a Swatch in Window ( 71 ). Once created, the artist can then select a color for the Swatch by using the mouse to select the Swatch, then going to either the Color Selection Page ( 20 ) in  FIG. 2  to select one of the plurality of colors in Window ( 24 ), or the artist can go to the Results Manager Page ( 30 ) and select one of the plurality of colors from the Palette ( 34 ). This results in the selected color appearing in the selected Swatch. Continuing to refer to  FIG. 7 , the artist can also create a plurality of External Swatches A, B, and D associated with the Main Swatches ( 74   a ) and ( 74   b ). Once created, the artist can select colors to appear in these External Swatches in the same manner as colors were selected for the Main Swatches. The artist can also create a plurality of Internal Swatches as illustrated by the Internal Swatch (C) in Main Swatch ( 74   a ). A color can be selected for this Internal Swatch in the same manner as colors are selected for the other Swatches. Also, with reference to Window ( 71 ) the artist can select one or more colors for the “Field” of the composition. The “Field” represents the background color or colors upon which the Swatches are placed. The color for the “Field” is selected by using the mouse to select “Field” in Window ( 72 ), selecting “Make New” in Window ( 73 ), and then selecting a color in the same manner as colors were selected for the Swatches. One or more “Fields” can be created in this manner. Having created and selected colors for the “Field”, the Main, External, and Internal Swatches, the artist can then move the positions of the Main Swatches with relation to each other and/or move the positions of the External or Internal Swatches with relationship to each other. So, for instance, the artist can use the Composition Manger to move the Main Swatches so as to be touching each other or not, the artist can move the External Swatches on any Main Swatch so that any two can be touching or not, and the artist can effect the same positional relationship with reference to the Internal Swatches.  
         [0037]     Now having completed the description of the preferred embodiment of my inventive Color Selection method, it will be appreciated by those skilled in the art that this description is not intended to limit the scope of my invention, but serves only to illustrate a few of the methods which could be used to efficiently and accurate select colors for a color palette.