Paint Inspired Color Compositing
Nathan Gossett∗Baoquan Chen

University of Minnesota at Twin Cities

University of Minnesota at Twin Cities

Figure 1: Photographs of paint mixing. Left: A photograph of Red, Yellow and Blue paint mixing together. (The white spots are produced bylight sources reflecting off wet paint.) Right: A photograph of overlapping Red, Yellow and Blue watercolor paint strokes.
these spaces are easy to use and are correct predictors of color mix-

A BSTRACTing for computer monitors and color printers, they do not line up
Color is often used to convey information, and color compositing

with some of the commonly held assumptions of the general pub-is often required while visualizing multi-attribute information. This

lic about color mixing. Due to the use of subtractive color models

paper proposes an alternative method for color compositing. In or-

based on pigment mixing in early childhood art training, many peo-

der to present understandable color blending to the general public,ple have a mental model of color that is quite different than the RGB

several techniques are proposed. First, a paint-inspired RYB color

model. When colors are mixed in RGB, the resulting colors are of-space is used. In addition, noise patterns are employed to produce

ten different than the color expected by the viewer. This confusion

subregions of pure color within an overlapped region, and color re-can even extend to the subtractive color mixing strategy of CMYK

gion edges are emphasized. We show examples to demonstrate thedue to the close relationship between the rules for CMYK and RGB

effectiveness of our technique for visualization.

mixing (CMYK is essentially the complement of RGB). These in-

CR Categories:

I.3.7 [Computer Graphics]: Three-Dimensional

Graphics and RealismColor, shading, shadowing, and texture;
I.3.m [Computer Graphics]: Miscellaneous;
Keywords: RYB, Color Mixing, Perception.

consistencies can lead to confusion in the viewer of a visualization.
A potential solution to this problem is color weaving, proposed
by Urness et al. [7]. In their technique, multiple overlapping color
regions within a LIC image can be visualized by restricting eachstreamline to a single color. Thus, no actual compositing of colors occurs, but neighboring streamlines all contribute to an overall

1

I NTRODUCTION AND M OTIVATION

Color compositing is a commonly used operation in computer
graphics. In the specic area of visualization, color is often used
to convey information.

In the event that spatially displayed data

has overlapping regions of differing attributes, color compositing
can be used to communicate multiple channels of information to
the viewer. However, this only works if the viewer is able to discern the individual components that combine to form the nal color
image.
Due to the specics of the human perceptual system and the subsequent design of computer displays and printers, most computer
graphics applications make use of the RGB (for additive displays)
or CMYK (for subtractive media) color spaces. However, although∗ email: gossett@cs.umn.edu
email: baoquan@cs.umn.edu

understanding of the coloration of a larger region. While this technique is quite effective for ow visualization, it does not triviallyextend to other applications.
Our objective, then, is to develop an alternative color compositing strategy that takes advantage of assumptions that regular, untrained viewers are likely to make.

Towards this end, we maketwo observations. First, unlike with RGB mixing, many people do
not experience much confusion when presented with a painted areathat is a mixture of multiple colors. Many people have had at least
some experience with paint mixing (Figure 1 Left).

In addition,some art formats such as watercolor can produce uneven color coverage due to variations in paper absorbance and brush technique. In
these cases, regions with overlapping colors will still contain small
subregions that are heavily biased towards one color, making identication easier (Figure 1 Right). We take these two experiencesof painting as inspiration for an intuitive color compositing strategy. Note that we do not attempt to exactly duplicate the look ofpainted brush strokes, but instead attempt to extract desirable properties from these examples.
This technical report is an extension of our previous work [2].
Here, we propose the use of three techniques to aid in the properFigure 2: Color wheels. Left: RGB color wheel. 12 o’clock is pureGreen, 4 o’clock is pure Red, and 8 o’clock is pure Blue. 2, 6 and10 o’clock are two primaries at 100%. The rest of the positions areproduced with one primary at 100% and another at 50%. Colors are
saturated at the outside of the circle and desaturated at the center.
Right: RYB with non-linear interpolation. This wheel is produced byusing the RGB values from the left image as RYB values. The colors
produced are approximately the colors suggested by Itten with the
exception of Blue-Green (9 o’clock) which is darker in our model.

Figure 3: RYB interpolation cube. RGB coordinates are given foreach corner of the RYB cube. RGB colors are chosen based on
Itten’s suggestions.

understanding of overlapping color regions.
Realization Details:
1. Using a subtractive color space with Red, Yellow and Blue as
primary colors

Unlike RGB, the RYB color space is not based on any psychological perception model, but is instead based on experiences ofidealized paint mixing.

2. Using procedurally generated noise patterns to create subregions of easily identiable colors within a mixed region

As such, it would be difcult to try todene a rigorous mathematical conversion from RYB to RGB for
the purpose of display. However, a reasonable approximation may
be obtained by dening a cube with each axis representing either

3. Emphasizing the boundaries of differing regions

Red, Yellow or Blue (see Figure 3). By dening appropriate RGB
values for each of the eight colors represented by the corners of

Our aim is to improve visualization where color is used to convey
multiple data properties.

the cube, we can use trilinear interpolation to obtain suitable RGB
values for any color dened in RYB (see Figure 2). For instance,
if a color were to be dened as 100% Red, 50% Yellow and 25%

2ACHIEVING I NTUITIVE C OLOR M IXING

2.1

RGB vs RYB

The RGB color space is a familiar and popular color space, partic-

Blue, it could be represented as (1.0, 0.5, 0.25) in RYB coordinates.
By interpolating the RGB values dened at the 8 corners of thecube, this color would have RGB coordinates of (0.8375, 0.19925,
0.0625), producing a slightly muddy orange color as expected.
Taking into consideration the natural limits people have in deal-

ularly within the computer graphics community. By dening col-ing with multiple categories of information

ors using Red, Green and Blue as primary colors, any color in agories specically [1], we can limit the use of ambiguous colors in[4], and color cate-computer monitor's color gamut can be produced, which usually

our implementation. A non-linear interpolation (a cosine function

encompasses a majority of the colors the human visual system isor something similar) may be used to bias the interpolated colors to-capable of seeing. Color mixture in RGB is handled additively, sowards the 8 characteristic colors located at the corners of the cube.

that Red and Green mix to form Yellow, Red and Blue mix to form

For instance, a linear interpolation by a factor of t between values
However, using A + t

2

Magenta, and Green and Blue mix to form Cyan (see Figure 2 Left).

A and B is A + t (B − A).

However, this results in color mixtures that might be confusing to awill bias the result towards A or B. In the above example, interpo-(3 − 2t )(B − A)naive viewer. Yellow is not often thought of as a mixture of Red andlating in this manner will produce RGB coordinates of (0.886719,

Green, and few people would predict White as the result of mixing

0.212891, 0.039063), which is a brighter, more identiable orange.

Yellow and Blue.

Biasing in this manner will ensure that the viewer will encounter

Instead, many people carry a mental model of color that is morein line with that endorsed by Johannes Itten [3]. Itten's model isstill widely used in art education. In this model, Red, Yellow andBlue are used as pure primary colors. Red and Yellow mix toa more limited number of easily identiable colors, but still allows
for smooth transitions between colors.
Example code for performing this conversion can be found in
Appendix A.

form Orange, Yellow and Blue mix to form Green, and Blue andRed mix to form Purple (see Figure 2 Right). These are the colors
an untrained viewer would expect to obtain using children's paint2.2

Noise Patterns(see Figure 1 left). In addition, many people do not think of White

Colors are more easily identiable when separate colors are allowed

as the mixture of all colors, but instead as the absence of color (ato exist in separate spatial regions. A process such as Color Weav-blank canvas). A more common assumption would be that mixing

ing [7] can be used to create regions of pure color that are large

many colors together would result in a muddy dark brown color.

enough to be picked up by the viewer and correctly identied.

To create color mixtures that more closely resemble the expec-

Similar effects can be achieved by using noise patterns totations of those not trained in the RGB color space, we propose themodulate the intensity of each color over a region. Regions withuse of an idealized RYB system.

multiple colors overlapping can then have sub-regions where one

color contributes more than the others, making that color easily

examples of our strategy, the viewer is able to see regions of Red,

identiable.

Blue and Yellow, along with regions of Brown.

In sub-regions where multiple colors contributeequally, the RYB color blending described above provides intuition
for component identication.

A difcult situation arises when the color compositing is used
to colorize another visualization, such as the LIC image seen in
the bottom right of Figure 4.

Here, the spatial frequency of theRealization Details:

LIC image itself interferes with the spatial frequency of the noise

Our goal when using noise patterns was to create a random

pattern, making it more difcult to identify the pure subregions.

variation in color intensity similar to the variations encountered

Similarly, if a color region is too small (such as Long Island, Newin watercolor paintings.

York in Figure 5), there may not be enough spatial resolution to

proposed by Ken Perlin

We found that the turbulence function[6] produced adequate results.

A

produce a noise pattern. In these types of situations, the RYB color

2-dimensional turbulence texture is created for each source color.

blending and edge emphasis are able to compensate for the lessened

This texture is then used to modulate each color at render time.

effect of the noise image.

Areas with no color overlap are modulated less than areas withcolor overlap. (See Figure 4 (c).)
It should be noted that if subregions of pure color are too small,the viewer will perceive additive mixture of the colors

[5].

Ef-

fort must be made to ensure that subregions of pure color are large
enough that additive mixing does not occur.

The use of independent techniques allows for easy modication of the various algorithms to achieve different effects. For instance, although the maps in Figure 5 portray the presence of binary
traits, strategies could be employed to convey relative percentagesof traits. Using noise patters of different frequencies could convey
additional information.

On the other hand, one potential problem with using low or moderate frequency turbulence functions is that regions of pure color
can be relatively large and coherent, giving the false impression thatthe subregion is not part of an overlapping region. To avoid this, asufciently high frequency pattern can be used. Figure 5 shows acomparison of these two options in the middle and bottom images.

4

C ONCLUSION

Although we are not advocating the use of our system as a universal replacement for the RGB system, we do present it as an alternative or supplemental system. Due to a signicant portion of

2.3

the population being mostly untrained in RGB additive color mix-

Edge Emphasis

ing, visualizations targeting these people must nd some alternative
Using a simple edge detector, the boundary of each color region

mixing strategy. The RYB color mixing strategy has seen wide ex-

can be identied. By saturating the color along this edge, identi-posure, especially in the art community. By taking advantage ofcation of each color region is made easier. If clean edges are tooany exposure to RYB that the viewer may have had (particularly as

distracting, the intensity can be blended towards the interior of thea child), an intuitive color mixing strategy will improve visualiza-

color region in a randomized manner. Figure 4 (c) demonstrates

tion by communicating better to naive viewers.

this effect.

In addition, the use of noise patterns allows subregions of pure
colors to exist within overlapping regions. These subregions can al-

Realization Details:
We render each source color separately and produce a gradientestimation using a Sobel edge detection lter.

A map is thenproduced by starting at each non-zero gradient position andproceeding in the gradient direction a random distance.

Pointslocated further away from the detected edge are given smaller
weights in the edge map. This map is then used to intensify eachcolor in the nal composite image.

low a viewer to easily and accurately identify how many and whichcolors are overlapping within that region. By emphasizing edges,
the boundary of each color region can be clearly identied by theviewer.
By using multiple complementary techniques, our color compositing strategy is better able to handle difcult compositing situations. Unlike other color compositing techniques[7], they re-quire no knowledge of the problem domain and can be applied
quickly and independently. All techniques described in this paper

3

R ESULTS AND D ISCUSSION

We rst demonstrate our color mixing technique with a simple example in Figure 4 a-c. When using traditional RGB compositing,

may be easily implemented using a combination of widely known
algorithms. Future work on this topic will focus on testing the effectiveness of our system in comparison to other color mixing andcompositing techniques for use in visualization.

certain combinations, such as mixing green and red to obtain yellow, may be unintuitive to naive viewers. Simply switching to RYB
compositing creates mixtures that are much more intuitive. With the5

ACKNOWLEDGEMENTS

addition of noise patterns and edge emphasis, viewers can clearly
identify the source colors that are mixed in any particular region.

We would like to thank the anonymous reviewers of the InfoVis ver-

For instance, in the region where Blue and Yellow overlap, somesion of this work for their helpful suggestions and improvements.

subregions are clearly Blue, some are clearly Yellow, and someWe also wish to thank the University of Minnesota Graphics groupare Green (an intuitive mixing of Blue and Yellow). Even in areas

for their discussions and criticisms that helped shape the direction

where more than two colors overlap, the individual source colorsof this project. We also thank Timothy Urness for providing thecan be identied.

ow dataset used in Figure 4 d.

Figure 5 provides an example of how our color compositing

This work is supported by NSF CAREER ACI-0238486 and in

strategy can provide a more intuitive effect than standard RGB mix-

part by the Army High Performance Computing Research Cen-ing. Using a map of the USA, we attempt to display the presence

ter under the auspices of the Department of the Army, Army Re-or absence of three traits (linguistic patterns for example) for eachsearch Laboratory cooperative agreement number DAAD19-01-2-

state. Note that for the RGB map, the state of Arizona is White.

0014.

Rather than viewing this as having the meaning that Arizona con-policy of this agency, and no ofcial endorsement should be in-tains all three traits, many viewers would view this as meaning Ari-ferred. Research space and administrative support provided by thezona carries none of the traits (i.e. Arizona is blank). In the two

University of Minnesota Digital Technology Center.

Its content does not necessarily reect the position or theFigure 4: Intuitive compositing. (a) RGB color compositing, (b) RYB color compositing, (c) RYB compositing with Perlin noise and edgeemphasis, (d) LIC image overlayed (Flow dataset provided by Timothy Urness)

Figure 5: (Next Page) Using color compositing in maps.
Top: Using RGB compositing to show three populations with Red, Green and Blue representing the three groups. Note that Cyan, Yellow,
Magenta and White represent overlapping regions, yet they appear to be additional independent populations.
Middle: Using RYB and Perlin noise to show the same three populations with Red, Yellow and Blue representing the three groups. Note thatstates with multiple populations overlapping appear to be mixtures of colors rather than new, pure colors.
Bottom: Using RYB with more saturated colors and higher frequency noise.

R EFERENCES[1] Brent Berlin and Paul Kay. Basic Color Terms: Their Universality and
Evolution. University of California Press, Los Angeles, 1969.
[2] Nathan Gossett and Baoquan Chen.
compositing for visualization.

Paint inspired color mixing and

In IEEE Symposium on Information

Visualization (INFOVIS'04), pages 113118, Washington, DC, USA,2004. IEEE Computer Society.
[3] Johannes Itten. The Art of Color. Van Nostrand Reinhold, New York,1961.
[4] George A. Miller. The magical number seven, plus or minus two: Somelimits on our capacity for processing information. The Psychological
Review, 63(2):8197, 1956.
[5] Stephen E. Palmer. Vision Science: Photons to Phenomenology. MIT
Press, Cambridge, Massachusetts, 1999.
[6] Ken Perlin. An image synthesizer. In Proceedings of SIGGRAPH85,
pages 287296. ACM Press, 1985.
[7] Timothy Urness, Victoria Interrante, Ivan Marusic, Ellen Longmire,
and Bharathram Ganapathisubramani.

Effectively visualizing multi-

valued ow data using color and texture. In Visualization, 2003. IEEE,
pages 115121, 2003.

A

C C ODE DEMONSTRATING RYB TO RGB C ONVERSION#include <stdio.h>#include <math.h>//Perform a biased (non-linear) interpolation between values A and B//using t as the interpolation factor.
float cubicInt(float t, float A, float B){
float weight = t*t*(3-2*t);return A + weight*(B-A);}//Given RYB values iR, iY, and iB, return RGB values oR, oG, and oB
void subinterp(float iR, float iY, float iB, float* oR, float* oG,
float* oB){
float x0, x1, x2, x3, y0, y1;//redx0 = cubicInt(iB, 1.0f, 0.163f);
x1 = cubicInt(iB, 1.0f, 0.0f);x2 = cubicInt(iB, 1.0f, 0.5f);
x3 = cubicInt(iB, 1.0f, 0.2f);
y0 = cubicInt(iY, x0, x1);
y1 = cubicInt(iY, x2, x3);
*oR = cubicInt(iR, y0, y1);//greenx0 = cubicInt(iB, 1.0f, 0.373f);
x1 = cubicInt(iB, 1.0f, 0.66f);
x2 = cubicInt(iB, 0.0f, 0.0f);x3 = cubicInt(iB, 0.5f, 0.094f);
y0 = cubicInt(iY, x0, x1);
y1 = cubicInt(iY, x2, x3);
*oG = cubicInt(iR, y0, y1);//bluex0 = cubicInt(iB, 1.0f, 0.6f);
x1 = cubicInt(iB, 0.0f, 0.2f);
x2 = cubicInt(iB, 0.0f, 0.5f);
x3 = cubicInt(iB, 0.0f, 0.0f);
y0 = cubicInt(iY, x0, x1);
y1 = cubicInt(iY, x2, x3);*oB = cubicInt(iR, y0, y1);}
void main(){float r1, r2, y1, g2, b1, b2;
r1 = 1.0;
y1 = 0.5;
b1 = 0.25;
subinterp(r1, y1, b1, &r2, &g2, &b2);
printf("%f %f %f\n", r2, g2, b2);}