Teaching Solid Modelling


1.  Teaching solid modelling within a non-specialized curriculum

Hanspeter Bieri


Abstract

It is proposed that, at a university without engineering and architecture, the computer science department—possibly in collaboration with the mathematics department—should offer three courses in the field of geometric and solid modelling: Geometry for Computer Graphics and CAD, Curves and Surfaces for Computer Graphics and CAD, and Geometric Modelling.


A concrete situation

The method of teaching solid modelling at a university must depend strongly on the existing curriculum. Engineers, computer scientists, mathematicians, etc. understand solid modelling rather differently: to the extent that courses in different departments may bear the same name but have almost disjoint contents. In the case of a non-specialized curriculum, should solid modelling be taught at all? And, if so, how? In just one special course? In a series of courses? In courses of what level, size and importance?

The University of Berne is a classically structured university without engineering and architecture. Computer science is a discipline within the faculty of natural sciences and offers a curriculum consisting of at least eight semesters which leads to the diploma in informatics (Dipl. Inf.). About 35% of successful students then proceed to the doctor's degree in natural sciences (Dr. phil. nat.). Computer science is rather closely related to mathematics, partly for historical reasons. Accordingly, computer science students must study mathematics during the first four semesters. If none of the six professors in computer science were working in geometric modelling, probably no course in this field would be on the curriculum.

Since 1988, a special course Geometric Modelling has been taught several times to computer science students in their 5th or 6th semester. This course lasts about 15 weeks and consists of two hours of lectures and one hour of exercises per week. The course is divided in two parts of about the same length.

Part A
introduces the basic terminology, discusses the main representations of geometric objects, explains the main components of a geometric modeller and sketches the application of geometric modelling to CAD. Wire-frame modelling, surface modelling, constructive solid geometry and boundary representation get about the same degree of emphasis. For each type of model, definitions, data structures and some example algorithms are presented, and their advantages and disadvantages are discussed. Part A confines itself mostly to polyhedral objects.
Part B
has little in common with Part A. It gives an introduction to curves and surfaces and deals mainly with Bézier curves, B-splines and NURBS. Most of the exercises are extensions to, or applications of, the material discussed in the course, and they are normally not connected to each other. The exercises are not really CAD-oriented. It has proved useful to do some exercises based on the use of a very small, well-structured geometric modeller, i.e. the modeller POLY written in Modula-2 [13]. (SvLis [4] would now probably be a better choice.)

Although it is a small and introductory course, Geometric Modelling relies on many sources. Its preparation was fairly expensive, and a really appropriate textbook would have been much appreciated. (Most of the references indicated below have been used, and a number of papers as well.) The course is normally attended by about 20 students and may be judged to be quite popular. It probably shows some of the essence of geometric modelling, but its material is highly arbitrary and incomplete. It is certainly not sufficient for students who would like to do research in the field or to work in CAD after graduating.

Geometric Modelling belongs to a sequence of five courses called Computer Geometry. It starts with the course Computer Graphics (being mostly two-dimensional) in the 4th semester and continues, with two branches:

Geometric Modelling
followed by 3D Graphics.
Computational Geometry
followed by Spatial Data Structures.

Students are only required to take Computer Graphics and 3D Graphics but, if they complete all five courses, then they should have a good background in the overall field of computer graphics, but without necessarily being well prepared to do practical work in CAD.


A vague proposal

Solid modelling relies heavily on mathematics, especially geometry; the same is true for computer graphics. Offering a preparatory course Geometry for Computer Graphics and CAD (or some similar title) would be a good idea. Linear, affine, projective and some differential geometry could be introduced, with precise definitions, many examples and only a few proofs. An excellent textbook for such a course is Boehm and Prautzsch [2]. Topology and algebraic geometry should probably not be included in this course, but postponed to the 'main' course Geometric Modelling [cf. 10, 12]. Naturally, it would be useful if suitable courses in these fields were offered by the Department of Mathematics. The 'spirit' of geometric computing should also be introduced in Geometry for Computer Graphics and CAD; that is not easy to achieve, but it is possible [3]. The way in which good examples can be included is well demonstrated in Piegl and Tiller [16] and Rogers and Adams [18]. Such a course really should be introduced, and would be best offered in the 3rd or 4th semester.

Curves and surfaces are, of course, a central part of geometric modelling; and their theory is so extensive that a dedicated course seems to be essential. Curves and Surfaces for Computer Graphics and CAD could be a suitable title. There exist a number of useful texts, and the more specialized of them [e.g. 6, 11, 16] seem to be more appropriate for such a course than the more general ones. Unfortunately, most texts have a serious drawback: they do not explain clearly enough how a method can be applied in practice, how the right method can be chosen in a concrete case, and which methods are of historical or theoretical interest only. In this respect, less complete texts are often more useful [e.g. 7, 20]. Unfortunately, some texts are neither complete nor strong with respect to the three aspects just mentioned. (Mortenson's contribution [14] must be excused as a pioneer.) This second course could be designed to be offered before or after the 'main' course in geometric modelling. There exist strong arguments for both possibilities. In the second case, the course could probably also be offered as part of the curriculum in mathematics.

The two courses just mentioned are of equal importance for computer graphics and geometric modelling-and can, therefore, probably be justified easily. They would enable the 'main' course Geometric Modelling to be offered in a very satisfying context, as the really interesting and central subjects can now be stressed. Solid modelling is a large, and probably the most important, subset of geometric modelling. Teaching rather a broader course Geometric Modelling instead of a more CAD-oriented course Solid Modelling would, perhaps, be more satisfactory within a non-specialized curriculum. In this case, Abramowski and Müller [1] is an excellent reference, and Foley et al. at least demonstrate a good structure. For a course Solid Modelling, Rooney and Steadman [87] (too basic), Woodwark [20] (too short), Hoffmann [10] (too ambitious) and Miranda Gomes et al. (too biased) provide useful material. To discuss in detail a specific system, as in Chiyokura [5] and Mäntylä is, probably more appropriate for a workshop or a series of exercises than for a course. To indicate the development of solid modelling should be a good idea, too, and interesting material can be found e.g. in Piegl [15] and Requicha [17]. An ideal single textbook for a course Solid Modelling, to form the 'heart' of such a three-part sequence, does not seem to exist at present. As enough relevant material is easily accessible now, it is tempting to think of writing a unified text for this particular purpose.

How should solid modelling be taught in a specialized curriculum, i.e. at a university with engineering, architecture, or both, where CAD is a principal subject? In this case, the approach as sketched above is certainly no longer adequate. But offering the three courses Geometry for Computer Graphics and CAD, Curves and Surfaces for Computer Graphics and CAD and Solid Modelling should still seem to be quite reasonable. They would no longer be the whole programme, of course, but constitute a substantial part of a more comprehensive course programme in the area of solid modelling.


References

  1. S. Abramowski and H. Müuller, Geometrisches Modellieren, Wissenschaftsverlag, 1991.
  2. W. Boehm and H. Prautzsch, Geometric Concepts for Geometric Design, A.K. Peters, 1994.
  3. A. Bowyer and J.R. Woodwark, Introduction to Computing with Geometry, Information Geometers, 1993.
  4. A. Bowyer, SVLIS: Set-theoretic Kernel Modeller: Introduction and User Manual, Information Geometers, 1994.
  5. H. Chiyokura, Solid Modelling with DESIGNBASE—Theory and Implementation, Addison-Wesley, 1988.
  6. G. Farin, Curves and Surfaces for Computer Aided Geometric Design—A Practical Guide, 3rd ed., Academic Press, 1993.
  7. I.D. Faux and M.J. Pratt, Computational Geometry for Design and Manufacture, Ellis Horwood, 1979.
  8. J.D. Foley, A. van Dam, St.K. Feiner and J.F. Hughes, Computer Graphics—Principles and Practice, 2nd ed., Addison-Wesley, 1990.
  9. J. de Miranda Gomes, C.M. Hoffman, V. Shapiro and L.C. Velho, Modeling in Computer Graphics, Course Notes 40, ACM Siggraph 93.
  10. C.M. Hoffmann, Geometric and Solid Modeling—An Introduction, Morgan Kaufmann, 1989.
  11. J. Hoschek and D. Lasser, Fundamentals of Computer Aided Geometric Design, A.K. Peters, 1993.
  12. M.A. Mäntylä, An Introduction to Solid Modeling, Computer Science Press, 1988.
  13. A. Meier and H. Loacker, POLY—Computergeometrie für Informatiker und Ingenieure, McGraw-Hill, 1987.
  14. M.E. Mortenson, Geometric Modeling, John Wiley, 1985.
  15. L. Piegl (ed.), Fundamental Developments of Computer-aided Geometric Modeling, Academic Press, 1993.
  16. L. Piegl and W. Tiller, The NURBS Book, Springer, 1995.
  17. A.A.G. Requicha, "Representations for rigid solids: theory, methods, and systems", ACM Computing Surveys {\bf 12 (437--464), 1980.
  18. D.F. Rogers and J.A. Adams, Mathematical Elements for Computer Graphics, 2nd ed., McGraw-Hill, 1990.
  19. J. Rooney and P. Steadman (eds.), Computer-aided Design, Pitman / Open University, 1987.
  20. J.R. Woodwark, Computing Shape, Butterworths, 1986.


Back to index