Ответ 1
В файле справки для устройства pdf() указано, что значение по умолчанию для фона является "прозрачным", хотя на практике это не похоже на его поведение, возможно, потому, что зрители принимают белый фон или, возможно, потому, что значение по умолчанию для графика функция "белая". Средняя часть сначала становится цветом, равным сочетанием белого и зеленого, а вторая секунда затем добавляет к нему синий цвет. Поэтому я предполагаю, что математика предсказывает значение rgb (0,5, 0,5, (0,5 + 0,8)/2), а затем смешивание этой смеси с наложенным цветом. И я думаю, что белый + col1 добавляется в равных пропорциях к значения из col2, что делает математику некоммутативной. Во всяком случае, конечный результат, вероятно, будет иным, если вы можете заставить фон "прозрачным". Поведение по умолчанию больше похоже на смешивание красок, чем на яркие театральные огни.
Цветовая модель PDF описана в http://www.adobe.com/devnet/pdf/pdf_reference.html и будет определять, что вы можете ожидать от устройства pdf (но не обязательно, что зритель предоставит).
Я опробовал свою теорию о том, что белым фоном была проблема (и, похоже, она опровергла его), изменив фон на "черный" в надежде, что не будет добавленных значений для многоуровневых векторов rgb:
pdf("testfil12rev.pdf", bg="black")
col1 <- rgb(red = .0, green = 0, blue = 1, alpha = 0.5)
col2 <- rgb(red = 1, green = 0, blue = 0, alpha = 0.5)
circle <- data.frame(x = c(0.2,0),
y = c(0,0),
col = c(col1, col2),
stringsAsFactors = F)
orders <- c(1,2)
plot(x = circle$x[orders], y = circle$y[orders], bg="black",
col = circle$col[orders], pch = 19, cex = 100, xlab = "", ylab = "")
dev.off()
Реверсирование индикатора "порядки" не приводит к тому же смешанному цвету с черным фоном.
EDIT: существует предварительная публикация SO с правилами смешивания цветов и альфа: Как рассчитать цвет RGB, указав значение альфа-смешивания?