The author should implement an error correction system, where 1) the result is withheld from the display until a second corroborating calculation comes in, and 2) if there is disagreement, request an arbitration from a third user whose job is to pick which of the two is the best answer.
It is a bit odd; they specifically ask for the picture of the worksheet, and say they’ll check it. I wonder if the just haven’t gotten around to it yet. Automatic error checking would be nice (IMO just let multiple people do each pixel and take the most popular result).
They ask for the worksheet to check that you're not cheating. They don't check the pixel values. I think much of the charm of the image is seeing the errors.
By the way, there's more going on in the shader algorithm than you might expect. Here's an explanation of the worksheet:
u, v are coordinates relative to the center of the image
h is radius from center, squared
Section B generates the ball:
B3-8 generates the reflected color on the ball.
B9-11 applies the diffuse illumination to the ball.
B12 adds the illumination highlight.
Section C creates the ground:
C5 puts a shadow directly under the ball.
C13 is the cast shadow of the ball.
Section D creates the sky with a simple gradient
Section E converts the image from two-color to three-color
Or a story if anti-aliasing but getting each pixel computed multiple times and averaging the results. Over time the image should get better as the errors are diluted. It will significantly increase the amount of HPU time required, but with enough human processing units willingly taking part the wall-clock time might not be too badly affected.
Yes, I find it interesting to note the different types of errors. There are some random errors, but many of the errors seem to be repeated. It looks like a lot of people ended up in the wrong code path, resulting in blue/white pixels in the lower half, while fewer people made the reverse mistake (yellow pixels in the upper half). There are a lot of purple pixels in the upper right; I wonder what led many people to the same mistake.
Another interesting thing is to try to reverse-engineer the worksheet: section B is the sphere, section C is the ground, and section D is the sky. But then there's the lighting model, shadow, etc.
All of the pixels were already taken by the time I tried, but I did an "error" pixel (11, 26) just for my own pleasure.
Somehow I got RGB(255, 50, 194), which is different from the value posted on the chart. Actually, I'm not sure how originally they got 0, since G comes from R and B, which are both positive, and the expression is multiplication and addition.