Computational Geometry and Prolog

  • Wm. Randolph Franklin
Part of the NATO ASI Series book series (volume 17)


Prolog is a good tool for implementing computational geometry algorithms. This paper discusses its advantages and disadvantages, and gives examples, including linking chains together, boolean operations on polygons, and cartographic map overlay and reduction. An implementation of polygon intersection proves Prolog to be much more compact and easier to use than Fortran.

This material is based upon work supported by the National Science Foundation under grant no. ECS-8351942, the Rome Air Development Center, contract number, F30602-85-C-0008, subcontract 353-9023-7, and by the Data System Division of the International Business Machines Corp.


Line Intersection Verse 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    A. Baer, C. Eastman, and M. Henrion, “Geometric Modelling: A Survey”, Computer Aided Design 11 (5), Sept. 1979.Google Scholar
  2. [2]
    B.G. Baumgart. GEOMED: Geometric Editor, Stanford University STAN-CS-74–414, Also available as NTIS AD-780 452, (May 1974)Google Scholar
  3. [3]
    B.G. Baumgart. Geometric Modelling for Computer Vision,Stanford University Artificial Intelligence Memo AIM-249,(Oct. 1974)Google Scholar
  4. [4]
    J.L. Bentley and M.I. Shamos. “Divide And Conquer in Multidimensional Space”, Proc. 16th Annual IEEE Symposium on the Foundations of Computer Science (1975), pp. 220–230Google Scholar
  5. [5]
    J.W. Boyse. “Interference Detection Among Solids and Surfaces”, Comm. ACM 22 (1), Jan. 1979, pp. 3–9. Google Scholar
  6. [6]
    I.C. Braid. “The Synthesis of Solids Bounded by Many Faces”, Comm. ACM, (1975).Google Scholar
  7. [7]
    K.L. Clark and S.-A. Tarnlund. Logic Programming (1982), APIC Studies in Data Processing No 16, Academic Press.Google Scholar
  8. [8]
    W.F. Clocksin and C.S. Mellish. Programming In Prolog (1981), Springer-Verlag, New York.Google Scholar
  9. [9]
    H. Coelho, J.C. Cotta, and L.M. Pereira. How to Solve it With Prolog 2nd edition, Ministerio da Habitacao e Obras Publicas, Labatorio Nacional de Engenharia Civil, Lisboa, (1980).Google Scholar
  10. [10]
    C.M. Eastman and C.I. Yessios, An Efficient Algorithm for Finding the Union, Intersection, and Differences of Spatial Domains Carnegie-Mellon University, Dept. of Computer Science, ( Sept. 1972 ).Google Scholar
  11. [11]
    W.R. Franklin. “An Exact Hidden Sphere Algorithm That Operates In Linear Time”, Computer Graphics and Image Processing 15, 4, (April 1981), pp. 364–379.Google Scholar
  12. [12]
    W.R. Franklin. “3-D Geometric Databases Using Hierarchies of Inscribing Boxes”, Proceedings of the 7th Canadian Man-Computer Conference (10–12 June 1981), Waterloo, Ontario, pp. 173–180.Google Scholar
  13. [13]
    W.R. Franklin. “Efficient Polyhedron Intersection and Union”, Proc. Graphics Interface’82, Toronto, (19–21 May 1982), pp. 73–80.Google Scholar
  14. [14]
    W.R. Franklin. “A Simplified Map Overlay Algorithm”, Harvard Computer Graphics Conference Cambridge, MA, (31 July - 4 August 1983), sponsored by the Lab for Computer Graphics and Spatial Analysis, Graduate School of DesignGoogle Scholar
  15. [15]
    W.R. Franklin. “Cartographic Errors Symptomatic of Underlying Algebra Problems”, Proc. International Symposium on Spatial Data Handling vol. 1, (20–24 August 1984), Zurich, Switzerland, pp. 190–208.Google Scholar
  16. [16]
    J.C. Gonzalez, M.H. Williams, and I.E. Aitchison.“Evaluation of the Effectiveness of Prolog for a CAD Application”, IEEE Computer Graphics and Applications, (March 1984), pp. 67–75.Google Scholar
  17. [17]
    G. Goos and J. Hartmanis. Lecture Notes in Computer Science 87: 5th Conference on Automated Deduction (1980), Springer-Verlag, New York.Google Scholar
  18. [18]
    G. Goos and J. Hartmanis. Lecture Notes in Computer Science 138: 6th Conference on Automated Deduction (1982), Springer-Verlag, New York.Google Scholar
  19. [19]
    K. Maruyama. “A Procedure to Determine Intersections Between Polyhedral Objects”, Int. J. Comput. Infor. Sc. 1 (3), 1972, pp. 255–266.Google Scholar
  20. [20]
    R.E. Parent. “A System for Sculpting 3-D Data”, Computer Graphics (ACM) 11 (2), (Summer 1977), pp. 138–147.Google Scholar
  21. [21]
    University of Salford. LISP/PROLOG Reference Manual (March 1984).Google Scholar
  22. [22]
    P.S.G. Swinson. “Logic Programming: A Computing Tool for the Architect of the Future”, Computer Aided Design 14 (2), (March 1982), pp. 97–104.Google Scholar
  23. [23]
    P.S.G. Swinson, F.C. N. Periera, and A. Bijl. “A Fact Dependency System for the Logic Programmer”, Computer Aided Design 15 (4), (July 1983), pp. 235–243.Google Scholar
  24. [24]
    P.S.G. Swinson. “Prolog: A Prelude to a New Generaion of CAAD”, Computer Aided Design 15 (6), (November 1983), pp. 335–343.Google Scholar
  25. [26]
    J.A. Turner. An Efficient Algorithm for Doing Set Operations on Two-and Three- Dimensional Spatial Objects Architectural Research Laboratory, University of Michigan.Google Scholar
  26. [27]
    K. Weiler. “Polygon Comparison Using a Graph Representation”, ACM Computer Graphics ACM Computer Graphics 14 (3), (Proc. SIGGRAPH’80), (July 1980), pp. 10–18.Google Scholar
  27. [28]
    F. Yamaguchi and T. Tokieda. “A Unified Algorithm for Boolean Shape Operations”, IEEE Computer Graphics and Applications 4, (6), (June 1984), pp. 24–37. Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Wm. Randolph Franklin
    • 1
  1. 1.Electrical, Computer, and Systems Engineering Dept.Rensselaer Polytechnic InstituteTroyUSA

Personalised recommendations