《交互式计算机图形学第五版17章课后题答案》由会员分享,可在线阅读,更多相关《交互式计算机图形学第五版17章课后题答案(17页珍藏版)》请在金锄头文库上搜索。
1、Angel: Interactive Computer Graphics, Fifth EditionChapter 1 Solutions1.1 The main advantage of the pipeline is that each primitive can beprocessed independently. Not only does this architecture lead to fastperformance, it reduces memory requirements because we need not keep allobjects available. Th
2、e main disadvantage is that we cannot handle mostglobal effects such as shadows, reflections, and blending in a physicallycorrect manner.1.3 We derive this algorithm later in Chapter 6. First, we can form thetetrahedron by finding four equally spaced points on a unit sphere centeredat the origin. On
3、e approach is to start with one point on the z axis(0, 0, 1). We then can place the other three points in a plane of constant z.One of these three points can be placed on the y axis. To satisfy therequirement that the points be equidistant, the point must be at(0, 2p2/3,1/3). The other two can be fo
4、und by symmetry to be at(p6/3,p2/3,1/3) and (p6/3,p2/3,1/3).We can subdivide each face of the tetrahedron into four equilateraltriangles by bisecting the sides and connecting the bisectors. However, thebisectors of the sides are not on the unit circle so we must push thesepoints out to the unit circ
5、le by scaling the values. We can continue thisprocess recursively on each of the triangles created by the bisection process.1.5 In Exercise 1.4, we saw that we could intersect the line of which theline segment is part independently against each of the sides of the window.We could do this process ite
6、ratively, each time shortening the line segmentif it intersects one side of the window.1.7 In a onepoint perspective, two faces of the cube is parallel to theprojection plane, while in a twopoint perspective only the edges of thecube in one direction are parallel to the projection. In the general ca
7、se of a推荐精选threepoint perspective there are three vanishing points and none of theedges of the cube are parallel to the projection plane.1.9 Each frame for a 480 x 640 pixel video display contains only about300k pixels whereas the 2000 x 3000 pixel movie frame has 6M pixels, orabout 18 times as many
8、 as the video display. Thus, it can take 18 times asmuch time to render each frame if there is a lot of pixel-level calculations.1.11 There are single beam CRTs. One scheme is to arrange the phosphorsin vertical stripes (red, green, blue, red, green, .). The major difficulty isthat the beam must cha
9、nge very rapidly, approximately three times as fasta each beam in a three beam system. The electronics in such a system theelectronic components must also be much faster (and more expensive).Chapter 2 Solutions2.9 We can solve this problem separately in the x and y directions. Thetransformation is l
10、inear, that is xs = ax + b, ys = cy + d. We mustmaintain proportions, so that xs in the same relative position in theviewport as x is in the window, hencex xminxmax xmin=xs uw,xs = u + wx xminxmax xmin.Likewiseys = v + hx xminymax ymin.2.11 Most practical tests work on a line by line basis. Usually
11、we use推荐精选scanlines, each of which corresponds to a row of pixels in the frame buffer.If we compute the intersections of the edges of the polygon with a linepassing through it, these intersections can be ordered. The firstintersection begins a set of points inside the polygon. The secondintersection
12、 leaves the polygon, the third reenters and so on.2.13 There are two fundamental approaches: vertex lists and edge lists.With vertex lists we store the vertex locations in an array. The mesh isrepresented as a list of interior polygons (those polygons with no otherpolygons inside them). Each interio
13、r polygon is represented as an array ofpointers into the vertex array. To draw the mesh, we traverse the list ofinterior polygons, drawing each polygon.One disadvantage of the vertex list is that if we wish to draw the edges inthe mesh, by rendering each polygon shared edges are drawn twice. Wecan a
14、void this problem by forming an edge list or edge array, each elementis a pair of pointers to vertices in the vertex array. Thus, we can draw eachedge once by simply traversing the edge list. However, the simple edge listhas no information on polygons and thus if we want to render the mesh insome ot
15、her way such as by filling interior polygons we must add somethingto this data structure that gives information as to which edges form eachpolygon.A flexible mesh representation would consist of an edge list, a vertex listand a polygon list with pointers so we could know which edges belong towhich polygons and which polygons share a given vertex.2.15 The Maxwell triangle corresponds to the triangle that connects thered, green, and blue vertices in the color cube.2.19 Consider the lines defined by the sides of the polygon. We can assigna direction for each