Proc. of a conference on Functional programming languages and computer architecture
Polygonization of implicit surfaces
Computer Aided Geometric Design
Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
An implicit surface polygonizer
Graphics gems IV
The VRML 2.0 sourcebook (2nd ed.)
The VRML 2.0 sourcebook (2nd ed.)
Functional differentiation of computer programs
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Evaluating derivatives: principles and techniques of algorithmic differentiation
Evaluating derivatives: principles and techniques of algorithmic differentiation
Stretching the Storage Manager: Weak Pointers and Stable Names in Haskell
IFL '99 Selected Papers from the 11th International Workshop on Implementation of Functional Languages
Hi-index | 0.00 |
Implicit surfaces are defined by a real valued function. They can easily be defined and manipulated and have therefore gained great popularity in computer graphics. This paper presents a purely functional implementation of a well known algorithm to polygonize implicit surfaces, based on spatial partitioning by means of octrees. While conventional implementations are laden with practical issues, our implementation in Clean is straightforward, implements the algorithm very concisely and makes essential use of lazy evaluation. Further we present two enhancements to this basic algorithm: Introducing a memo function greatly improves time efficiency. The appearance of a visualized implicit surface can be greatly enhanced by providing normal vector information. For calculating normal vectors we adopt a lazy implementation of automatic differentiation.