Graphics Reference
In-Depth Information
12.21
P ROGRAMMING P ROJECTS
1.
Display and manipulate surfaces (Sections 12.2-12.11, 12.12.1, 12.12.3, 12.12.4, 12.13)
(a) Like in the case of curves, we shall simply suggest that the reader implement any one
of the many types of surfaces in the listed sections. Because defining three-dimensional points
is not easy to do interactively, allow the data to be read in from a file. B-spline and NURBS sur-
faces are of special interest like their curve counterparts.
(b) Given a surface p(u,v), let the user input values for u and v and then display the par-
tials ∂p/∂u and ∂p/∂v and the normal vector at p(u,v). A more interactive approach would be to
let the user pick a point on the surface with the mouse and then display that data at the picked
point. Finding the point that was picked amounts to sending a ray from the viewer through the
picked point in the view plane and finding the nearest intersection of this ray with the surface
patches in the world. An algorithm for finding the intersections is discussed in Section 13.4.1.
2.
Interpolation (Sections 12.12.6)
Implement some interpolating B-spline surfaces using data from files.
3.
Recursive subdivision (Section 12.17)
Allow a user to define a polygonal surface via data from a file and then show how it changes
with recursive subdivision.
Search WWH ::




Custom Search