Graphics Programs Reference

In-Depth Information

We define a red disc by setting all the pixels that are within a circle to

one; all the other pixels are zero. The circle is defined by the equation:

x
0
)
2
+(
y

y
0
)
2
=
R
2
,

(
x

−

−

where (
x
0
,y
0
) is the centre of the circle, and
R
is the radius. We set the

centre of the red disc to (

−

0
.
4
,

−

0
.
4) and the radius to 1.0:

R = 1.0;

r = zeros(size(x));

rind = find((x + 0.4).^2 + (y + 0.4).^2 < R^2);

r(rind) = 1;

The green and blue discs are defined in the same way, just shifting the

centre of the circle in each case:

g = zeros(size(x));

gind = find((x - 0.4).^2 + (y + 0.4).^2 < R^2);

g(gind) = 1;

b = zeros(size(x));

bind = find(x.^2 + (y - 0.4).^2 < R^2);

b(bind) = 1;

Now we concatenate the matrices
r
,
g
, and
b
into one 200

×

200

×

3

matrix called
rgb
:

rgb = cat(3,r,g,b);

We use
rgb
as an input to
imagesc
, which interprets the intensities in

the range 0.0 to 1.0:

imagesc(rgb)

axis equal off

On your screen you can see these as overlapped discs of coloured light.

Exercise 13
Redefine the red, green, and blue discs so that

instead of a circular disc of light at uniform maximum intensity,

the intensity increases within each circle from zero at the centre

to one at the edge; outside the circles the intensity should be zero.

Create the new overlapped image. (Answer on page 189.)