это связано с этим вопросом но, возможно, более простой пример. Мне любопытно, есть ли разумный способ вычислить многомерный цветовой градиент с учетом трех или четырех произвольных цветов, как это делает функция r rgb()
с красным, зеленым, синим? одномерный градиент прост (рис. 1), но тогда мне непонятно, как вычислить двумерный градиент (рис. 2) внутри треугольника. края легкие. важно то, что внутри
# one dimensional color gradient
one.dimensions <- colorRampPalette( c( "orange" , "blue" ) )( 100 )
plot( 1:100 , rep( 1 , 100 ) , col = one.dimensions , cex = 3 , pch = 16 , main = 'one dimensional gradient' )
# here are the edges of a three-colored triangle
dimensions13 <- colorRampPalette( c( "orange" , "blue" ) )( 100 )
dimensions12 <- colorRampPalette( c( "orange" , "red" ) )( 100 )
dimensions23 <- colorRampPalette( c( "blue" , "red" ) )( 100 )
plot( 1:100 , c( 1:50 , 50:1 ) , type = 'n' , main = 'two dimensional gradient' )
points( 1:100 , rep( 1 , 100 ) , col = dimensions12 , cex = 3 , pch = 16 )
points( seq( 1 , 50 , length = 100 ) , seq( 1 , 50 , length = 100 ) , col = dimensions13 , cex = 3 , pch = 16 )
points( seq( 50 , 100 , length = 100 ) , seq( 50 , 1 , length = 100 ) , col = dimensions23 , cex = 3 , pch = 16 )
rgb
, что является обманом;) мне нужно что-то, что принимает произвольный набор цветов (или я что-то неправильно понял?) - person Anthony Damico   schedule 26.10.2014