| Box Filter |
 |
The simplest of filters is the Box filter. If the distance of
surrounding pixels is less than or equal to the radius of the dot, then set
the color of that pixel to the center's color (give it equal weight). The
graph to the left is an illustration of what the surrounding pixels
weights are.
The image at left is an
example of drawing a dot and applying a Box filter to it.
d = distance from center
r = radius of dot
if (d <= r) then
pixel weight := 1;
else
pixel weight := 0;
|
| Tent Filter |
 |
The Tent filter is appropriately named if you take a look at the
graph at left. The weight of each surrounding pixel changes linearly
with distance from the center. This is a simple idea which produces
far better results than the Box filter.
The image at left is an
example of drawing a dot and applying a Tent filter to it. Notice the
small bright center where the weight is equal to one.
d = distance from center
r = radius of dot
if (d <= r) then
pixel weight := 1 - d/r;
else
pixel weight := 0;
|
| Quadratic Filter |
 |
Sometimes we don't want the surrounding pixels weights to drop off so
quickly. To resolve this a Quadratic filter can be used. Now many of
the surrounding pixels have weights closer to one before dropping off to zero
(refer to the graph at left). The Quadratic filter produces dots
which are brighter than the Tent filter and has softer edges than the
Box filter.
The image at left is an
example of drawing a dot and applying a Quadratic filter to it.
Notice how it resembles a sphere.
d = distance from center
r = radius of dot
if (d <= r) then
pixel weight := 1 - d2/r2;
else
pixel weight := 0;
|
| Cubic Filter |
 |
Another filter which produces results inbetween those of the
Quadratic and Tent is the Cubic. In general it does not
produce results far better than the Quadratic and is not used as
much.
The image at left is an
example of drawing a dot and applying a Cubic filter to it.
d = distance from center
r = radius of dot
if (d <= r) then
pixel weight := 1 - 3d2/r2 + 2d3/r3;
else
pixel weight := 0;
|