Graphics Programs Reference

In-Depth Information

The matlab code to draw the triangular pyramid using these matrices

is

vertices_mx = [ 0 0 0

.510

100

.5 .5 1];

faces_mx = [1 2 3 % base

124

2 3 4 % Face 'A'

1 3 4];

1

clf

patch('Vertices',vertices_mx,...

'faces',faces_mx,'FaceColor','y')

view(162,44)

box;xyz

0.5

0

0

0.5

0

0.5

1

y

1

x

When drawing three dimensional objects, beware of intersecting patches.

Each patch is drawn in its entirety, so intersecting patches often look

strange. For example, here are two triangles that intersect along their

symmetry axes:

vert = [0 0 0

110

1-1 0

10-1

1 0 1];

fac=[123

1 4 5];

1

clf

patch('vertices',vert,...

'faces',fac,'facecolor','y')

view(3),grid,xyz

0

−1

1

0

0.5

y

−1

0

x

Explore this graphic by typing
rotate3d
and moving the viewpoint with

the mouse. You should see that you never get a realistic image. A better

way to create the required display is to generate four nonintersecting

triangles:

vert2 = [0 0 0

110

1-1 0

10-1

101

1 0 0];