M. B. wrote on 1/12/2004:

Joseph, Hi. I was just wondering about the mathematical statement
that you make
in this tutorial (http://www.digitalartform.com/screen.htm ).
~ ( ~a * ~b) = 1 - ( (1 - a) * (1 - b) ) = 1 - (1 - b - a + a * b) = 1 -
1 + b + a - a * b = b + a * (1 - b) = b + (a * ~b) about the screening
being commutative. Is this derived from boolean algebra? Can you provide
some further mathematical insight/URL's. Thanks, M. B.

I wrote back:

Hi , thanks for writing...

Well, let's see, I haven't gone over
that in a while, and a lot of what I write is really part of me sharing my
own learning process, so I'll go through it now as I reply, and hopefully
I won't have been wrong about what I wrote. Here goes:

1) ALL values are between 0 and 1 -- not between 0 and 255. The way
you convert a 255 value to 0 to 1 space is to divide it by 255

2) The ~ symbol is borrowed from boolean algebra, and means "NOT" --
I'm using it sort of as an indication of PHOTOGRAPHIC NEGATIVE.

3) The way you get a photographic negative digitally is to subract the
image from 1. Lets say that color "a" is (1 .2 .1) -- a bright red color. Then in that
case ~a would be the negative color of (1 .2 .1), which would be
(0 .8 .9) a bright cyan color.

Now, with that groundwork, lets begin --

You take two pictures, a and b

You screen them by negating both, multiplying them together, and negating
the result of that multiply.

That means you take a, negate it, which gives you ~a, or (1 - a). Remember,
when I say negate it, I don't mean make it negative, I mean make it look
like the photographic negative. I should probably say "invert" it, not "negate" it.
I mean start with (1 1 1) and SUBTRACT the color from that.

Now that long string of gibberish starts making more sense?

All I'm really trying to say with it is that taking two pictures, inverting
each, multiplying both, and inverting the flattened result is the same process
as taking one picture, inverting it, multiplying it by the positive of the
other, and adding the first one back on as a positive.

When I see multiply I think "Filter with a transparency"

When I see add I think "double expose"

When I say it is commutative, I just mean that it doesn't matter whether
you screen a onto b or b onto a, the results will look the same.