Issue No.11 - November (1986 vol.6)
pp: 46-55
Wm. Franklin , Rensselaer Polytechnic Institute
Peter Wu , Rensselaer Polytechnic Institute
Sumitro Samaddar , Rensselaer Polytechnic Institute
Margaret Nichols , Rensselaer Polytechnic Institute
Prolog is a userful tool for geometry and graphics implementations because its primitives, such as unification, match the requiements of many geometric algorithms. During the last two years, we have implemented programs to solve several problems in Prolog, including a subset of the Graphical Kernel System, convex-hull calculation, planar graph traversal, recognition of groupings of objects, Boolean combinations of polygons using multiple precision rational numbers, and cartographic map overlay. Certain paradigms or standard forms of geometric programming in Prolog are becoming evident. They include applying a function to every element of a set, executing a procedure so long as a certain geometric pattern exists, and using unification to propagate a transitive function. This article describes the experiences, including paradigms of programming that seem useful, and finally lists what we see as a advantaes and disadvantages of Prolog.
Wm. Franklin, Peter Wu, Sumitro Samaddar, Margaret Nichols, "Prolog and Geometry Projects", IEEE Computer Graphics and Applications, vol.6, no. 11, pp. 46-55, November 1986, doi:10.1109/MCG.1986.276671
1. W.F.Clocksin and C.S.Mellish, Programming in Prolog , Springer-Verlag 1981
2. H.Coelho, J.C.Cotta, and L.M.Pereira, Ministerio da Habitacao e Obras Publicas , Labatorio Nacional de Engenharia Civil 1980
3. P.S.G.Swinson, "Logic Programming: A Computing Tool for the Architect of the Future," Computer Aided Design Vol. 14, No. 2, pp. 97-104 Mar. 1982
4. P.S.G.Swinson, F.C.N.Pereira, and A.Bijl, "A Fact Dependency System for the Logic Programmer," Computer Aided Design Vol. 15, No. 4, pp. 235-243
5. P.S.G.Swinson, "Prolog: A Prelude to a New Generation of CAAD," Computer Aided Design Vol. 15, No. 6, pp. 335-343 Nov. 1983
6. J.C.Gonzalez, M.H.Williams, and I.E.Aitchison, "Evaluation of the Effectiveness of Prolog for a CAD Application," IEEE CG&A Vol. 4, No. 3, pp. 67-75 Mar. 1984
7. BeatBruderlin, "Using Prolog for Constructing Geometric Objects Defined by Constraints," Proc. Eurocal 85 1985
8. MargaretNichols, "The Graphical Kernel System in Prolog," 1985
9. Prolog User's Manual 1984 Grant Roberts, Waterloo Core Intralogic Inc., Waterloo, Ont., Canada
10. Wm. R.Franklin and P.Y.F.Wu, "Convex Hull and Polygon Intersection Implemented in Prolog," SIAM Conf. Geometric Modeling and Robotics July 1985
11. LISP/PROLOG Reference Manual Mar 1984 Univ. of Salford
12. J.M.Spivey, User's Guide , 1983
13. F.P.Preparata and S.J.Hong, "Convex Hulls of Finite Sets of Points in Two and Three Dimensions," Comm. ACM Vol. 2, No. 20, pp. 87-93 Feb. 1977
14. P.Y.F.Wu, "Two Arithmetic Packages in Prolog: Infinite Precision Fixed Point and Exact Rational Numbers," , Rensselaer Polytechnic Institute 1986
15. Wm. R.Franklin, "Cartographic Errors Symptomatic of Underlying Algebra Problems," Proc. Int'l Symp. on Spatial Data Handling Aug. 1984 Vol. 1, pp. 190-208
16. Wm. R.Franklin, "A Linear Time Exact Hidden Surface Algorithm," Computer Graphics (Proc. SIGGRAPH 80) July 1980 Vol. 14, No. 3, pp. 117-123
17. UNSW Prolog User Manual 1983 Claude Sammut Univ. of New South Wales, Australia
18. Wm. R.Franklin, "A Simplified Map Overlay Algorithm," Harvard Computer Graphics Conf. 1983 Vol. 4, July 31-Aug.
19. SumitroSamaddar, "An Expert System for Photo Interpretation," 1985
20. ChrisMoss and EarlFogel, "Tests to Distinguish Various Implementations of Cut in Prolog," , Imperial College and Logicware Inc. June 1985 reported on Usenet
21. Wm. R.Franklin, "Efficient Polyhedron Intersection and Union," Proc. Graphics Interface 82 May 1982pp. 73-80