Geometric Modelling in Functional Style

University of Caen, FranceAbstract. Modelling of 3D objects is a venerable subdomain of the applied geometry, too often coded in acrude way, with elegance sacrificed for the sake of efficiency. We propose to exploit the modern lazy func-tional programming to generate 3D surfaces, insisting upon the genericity of the underlying mathematics.We show how to generate easily the generalized sweeps thanks to the algorithmic differentiation proce-dures. The interest of this paper is mainly methodologic, but all solutions are practical, although they areextremely short. We show a simple but decent technique of parametrizing curves through their chord-length,using lazy series development. The relation between functional programming methods and the computergraphics world is concisely reviewed.

[1]  John M. Snyder,et al.  Generative modeling: a symbolic system for geometric modeling , 1992, SIGGRAPH.

[2]  奥乃博 1984 ACM Symposium on LISP and Functional Programming報告 , 1984 .

[3]  Peter P. Schoderbek,et al.  APPLICATION AND IMPLEMENTATION , 1973 .

[4]  Richard S. Bird,et al.  Introduction to functional programming , 1988, Prentice Hall International series in computer science.

[5]  Duncan C. Sinclair,et al.  Solid Modelling in Haskell , 1990, Functional Programming.

[6]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[7]  Colin Runciman,et al.  Development of a Prototype Geometric Modelling System using a Functional Language , 1992 .

[8]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[9]  Jerzy Karczmarczuk,et al.  Generating Power of Lazy Semantics , 1997, Theor. Comput. Sci..

[10]  Kavi Arya,et al.  A functional animation starter-kit , 1994, Journal of Functional Programming.

[11]  Andrew P. Witkin,et al.  Variational surface modeling , 1992, SIGGRAPH.

[12]  George F. Corliss Automatic differentiation bibliography , 1992 .

[13]  David S. Ebert,et al.  Texturing and Modeling: A Procedural Approach , 1994 .

[14]  Donald E. Knuth The Art of Computer Programming 2 / Seminumerical Algorithms , 1971 .

[15]  Jean-François Dufourd,et al.  An OBJ3 functional specification for boundary representation , 1991, SMA '91.

[16]  J. R. Davy,et al.  A polymorphic library for constructive solid geometry , 1995, Journal of Functional Programming.

[17]  Peter Henderson,et al.  Functional programming - application and implementation , 1980, Prentice Hall International Series in Computer Science.

[18]  Christoph M. Hoffmann,et al.  Geometric and Solid Modeling: An Introduction , 1989 .

[19]  Jerzy Karczmarczuk,et al.  Functional Differentiation of Computer Programs , 1998, ICFP '98.