[R] Opposite color in R

Jim Lemon drjimlemon at gmail.com
Sun Jul 26 13:20:33 CEST 2015


Hi Atte,
If you look at the colors produced by rainbow(12):

rainbow(12)
 [1] "#FF0000FF" "#FF8000FF" "#FFFF00FF" "#80FF00FF" "#00FF00FF" "#00FF80FF"
 [7] "#00FFFFFF" "#0080FFFF" "#0000FFFF" "#8000FFFF" "#FF00FFFF" "#FF0080FF"

they are complementary additive colors. That is, in the RGB color
space, the colors at the opposite sides of the wheel would add to
white (#FFFFFF) if mixed. The colors in the diagram you mentioned
don't look like additive colors. Perhaps that diagram represents a
subtractive (i.e. pigment) color space but based on the additive (red,
green blue) primaries. Also remember that WYSINNWOPG (what you see is
not necessarily what other people get)

Jim


On Sun, Jul 26, 2015 at 4:45 PM, ken knoblauch <ken.knoblauch at inserm.fr> wrote:
> peter dalgaard <pdalgd <at> gmail.com> writes:
>
>>
>>
>> > On 25 Jul 2015, at 21:49 , Atte Tenkanen
> <attenka <at> utu.fi> wrote:
>> >
>> > Hi,
>> >
>> > I have tried to find a way to find opposite
> or complementary colors in R.
>> >
>> > I would like to form a color circle with R
> like this one: http://nobetty.net/dandls/
> colorwheel/complementary_colors.jpg
>> >
>> > If you just make a basic color wheel in R,
> the colors do not form complementary color circle:
>> >
>> > palette(rainbow(24))
>> > Colors=palette()
>> > pie(rep(1, 24), col = Colors)
>> >
>> > There is a package ”colortools” where
> you can find function opposite(), but it doesn’t work as is
>> said. I tried
>> >
>> > library(colortools)
>> > opposite("violet") and got green instead of yellow and
>> >
>> > opposite("blue") and got yellow instead of orange.
>> >
>> > Do you know any solutions?
>>
>> Not directly, but a few hints:
>>
>> First read up on "complementary colors" in
>  Wikipedia. In particular, note that the traditional color
>> circle does not satisfy the modern definition
> of opposite-ness. E.g. red paint mixed with green paint is
>> brown, not black or grey.
>>
>> The construction of the color circle is simple
>  in principle: red, blue, yellow go at 0, 120, 240 degrees, the
>> other colors on the circle are formed by mixing
>  two primaries in varying proportions: green (at 180 deg) is
>> an equal mixture of blue and yellow, violet
> (at 60 deg) of blue and red, orange (at 300 deg)
> of red and yellow.
>> Blue-green (at 150 deg) would be half blue,
> half green, alias three quarter blue, one quarter
>  yellow. Etc.
>>
>> The tricky bit is that the above mixtures are
> subtractive mixtures (mixing paint rather than light beams)
>> and I don't know how to make a subtractive
> color mixture in the additive RGB space
> that we usually work in.
>> Maybe there are tools in the colortools package?
>>
>> -pd
>>
>> >
>> > Atte Tenkanen
>
> To start with, you should be specifying your "colors"
> or lights actually in an additive color space like
> CIE 1931 xy,
> https://en.wikipedia.org/wiki/CIE_1931_color_space
> which you can do in the colorspace package.
> But this is based on an average observer and
> the results are unlikely to match a given
> individual's vision.  On top of that, decisions made
> when this norm was specified are such that it
> deviates from human vision for short wavelengths
> so that you would be better off using a corrected
> version like that proposed by Judd in the 1950's
> or for the most recent suggestion see
> ww.cvrl.org
> under
> New CIE XYZ functions transformed
> from the CIE (2006) LMS functions
>
> best,
>
> Ken
>
> --
> Kenneth Knoblauch
> Inserm U846
> Stem-cell and Brain Research Institute
> Department of Integrative Neurosciences
> 18 avenue du Doyen Lépine
> 69500 Bron
> France
> tel: +33 (0)4 72 91 34 77
> fax: +33 (0)4 72 91 34 61
> portable: +33 (0)6 84 10 64 10
> http://www.sbri.fr/members/kenneth-knoblauch.html
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list