Constructive Solid Geometry using Algorithmic Skeletons

  • John R. Davy
  • Hossain Deldari
  • Peter M. Dew
Conference paper
Part of the Eurographics book series (EUROGRAPH)


This paper presents a study in the use of parallel algorithmic skeletons to program applications of constructive solid geometry (CSG). The approach is motivated by the frequent use of divide-and-conquer (D&C) methods in this domain, which are amenable to highly parallel implementation. A prototype Geometric Evaluation Library (GEL) is presented, with a small set of polymorphic higher-order functions, which capture the fundamental algorithmic structures independently of the underlying geometric domain. An efficient parallel implementation of one of these functions is described. The paper concludes with a discussion of the potential of the algorithmic skeleton paradigm.


Solid Modelling Boolean Operator Functional Language Dynamic Load Balance Constructive Solid Geometry 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, and M. Vanneschi. P3L.: a structured high-level parallel language, and its structured support. Concurrency: Practice and Experience, 7(3): 225–255, May 1995.CrossRefGoogle Scholar
  2. [2]
    R Banerjee, V Goel, and A Mukherjee. Efficient parallel evaluation of CSG tree using fixed number of processors. In Proc. 2nd ACM Symposium on Solid Modeling, pages 137–145, May 1993.Google Scholar
  3. [3]
    F. W. Burton and H-K Yang. Manipulating multilinked data structures in a pure functional language. Software Practice and Experience, 20(11):1167— 1185, November 1990.Google Scholar
  4. [4]
    M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman/MIT Press, 1989.Google Scholar
  5. [5]
    J. Darlington, A. J. Field, P. G. Harrison, P. H. J. Kelly, D. W. N. Sharp, Q. Wu, and R. L. While. Parallel programming using skeleton functions. In Proceedings of PARLE 93, 1993.Google Scholar
  6. [6]
    J. Darlington, Y. Guo, H. W. To, Q. Wu, J. Yang, and M. Kohler. Fortran-S: a uniform functional interface to parallel imperative languages. Imperial College London, October 1994.Google Scholar
  7. [7]
    J. R. Davy and P. M. Dew. A polymorphic library for constructive solid geometry. Journal of Functional Programming, 1995. forthcoming.Google Scholar
  8. [8]
    H. Deldari, J. R. Davy, and P. M. Dew. The performance of parallel algorithmic skeletons. In Proceedings of ZEUS’95, pages 65–74. IOS Press, May 1995.Google Scholar
  9. [9]
    N. S. Holliman, D. T. Morris, and P. M. Dew. An evaluation of the processor farm model for visualising constructive solid geometry. In R. M. Dew, R. A. Earnshaw, and T. R. Heywood, editors, Parallel Processing for Computer Vision and Display, pages 452–460. Addison Wesley, 1989.Google Scholar
  10. [ 10]
    N. S. Holliman, C. M. Wang, and R. M. Dew. Mistral-3: Parallel solid modelling. The Visual Computer, 9 (7): 356–370, July 1993.CrossRefGoogle Scholar
  11. [11]
    R. M. Karp and V. Ramachandran. Parallel Algorithms for Shared Memory Machines. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science: Volume A, Algorithms and Complexity, pages 869–941. North Holland, 1990.Google Scholar
  12. [ 12]
    A. Kela and M. Wynn. Parallel computation of exact quadtree/octree approximations. In 4th Conference on Hypercube Concurrent Computers and Applications, Monterey California, March 1989.Google Scholar
  13. [13]
    M. Kesseler. Constructing skeletons in Clean: the bare bones. In Proceedings HPFC95, 1995.Google Scholar
  14. [14]
    Y. T. Lee and A. A. G. Requicha. Algorithms for computing the volume and other integral properties of solids. ii. a family of algorithms based on representation conversion and cellular approximation. Communications of the ACM, 25 (9): 642–650, September 1982.CrossRefMathSciNetGoogle Scholar
  15. [15]
    D. Meagher. Geometric modeling using octree encoding. Computer Graphics and Image Processing, 19: 129–147, 1982.CrossRefGoogle Scholar
  16. [ 16]
    J. M. Nash, P. M. Dew, M. E. Dyer, and J. R. Davy. Parallel algorithm design on the WPRAM model. In J. R. Davy and R. M. Dew, editors, Abstract Machine Models for Highly Parallel Computers, pages 83–102. Oxford University Press, 1995.Google Scholar
  17. [17]
    A. A. G. Requicha. Representations for rigid solids: Theory, methods and systems. ACM Computing Surveys, 12 (4): 437–464, December 1980.CrossRefGoogle Scholar
  18. [18]
    T. Ruppelt and G. Wirtz. Automatic transformation of high-level object-oriented specifications into parallel programs. Parallel Computing, 10: 15–28, 1989.CrossRefMATHMathSciNetGoogle Scholar
  19. [19]
    R. B. Tilove. Set membership classification: A unified approach to geometric intersection problems. IEEE Transactions on Computers, C-29(10): 874–883, October 1980.CrossRefMathSciNetGoogle Scholar
  20. [20]
    H. Wang, P. M. Dew, and J. Webb. Implementation of Apply. Concurrency: Practice and Experience, 3 (1): 43–54, February 1991.CrossRefMATHGoogle Scholar
  21. [21]
    J. A. Webb. Steps toward architecture independent image processing. IEEE Computer, 25 (2): 21–31, February 1992.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag/Wien 1995

Authors and Affiliations

  • John R. Davy
    • 1
  • Hossain Deldari
    • 1
  • Peter M. Dew
    • 1
  1. 1.School of Computer StudiesUniversity of LeedsWest YorkshireUK

Personalised recommendations