Graphics Programs Reference
In-Depth Information
x=[0 0.5 0
.5 .5 1 1
1 .5 .5 .5];
y=[0 0 1 0
1100
0 .5 .5 .5];
z=[0 0 0 0
0000
0111];
1
0.5
clf
h = patch(x,y,z,'y')
view(3);box;xyz
0
1
0.5
0.5
0
0
y
x
Exercise 21
Define x, y, and z matrices to draw a truncated
square pyramid (answer on page 192):
1
patch(x,y,z,'y')
view(3);box;xyz
0.5
0
1
0.5
0.5
0
y
0
x
Using
x
,
y
, and
z
matrices to draw objects results in the same vertex
being listed as many times as the number of faces that share the vertex.
A more compact way of drawing such multifaceted patches is to define
a matrix of vertices and a matrix of faces.
Consider again the above triangular pyramid
and which is shown here with labelled corners.
The vertices are numbered from 1 to 4 and the
faces can be defined by specifying the order of
joining the vertices. For example, the base is
formed by joining the vertices
1
,
2
, and
3
, and
the white front face “
A
” is formed by joining the vertices
2
,
3
, and
4
.
The vertices and faces can be defined by the following matrices:
1
4
1
0.5
3
0
A
0
2
0.5
0
0.5
1
y
1
x
xyz
000
0
.
51 0
100
0
.
50
.
51
vertex
1
←
vertex
2
←
Vertices
=
vertex
3
←
vertex
4
←
123
124
234
134
base
←
Faces
=
face
A
←




















