Formal Aspects of Computing

, Volume 25, Issue 2, pp 189–218 | Cite as

The data type of spatial objects

Original Article

Abstract

A spatial object consists of data assigned to points in a space. Spatial objects, such as memory states and three dimensional graphical scenes, are diverse and ubiquitous in computing. We develop a general theory of spatial objects by modelling abstract data types of spatial objects as topological algebras of functions. One useful algebra is that of continuous functions, with operations derived from operations on space and data, and equipped with the compact-open topology. Terms are used as abstract syntax for defining spatial objects and conditional equational specifications are used for reasoning. We pose a completeness problem: Given a selection of operations on spatial objects, do the terms approximate all the spatial objects to arbitrary accuracy? We give some general methods for solving the problem and consider their application to spatial objects with real number attributes.

Keywords

Abstract data types Space Spatial objects Continuous functions Compact-open topology Algebras Terms Equations Conditional equations Topological algebras Dense subalgebras Approximation by terms 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ARC05.
    Abdul-Rahman A, Chen M (2005) Spectral volume rendering based on the Kubelka-Munk theory. Comput Graph Forum 24(3): 413–422CrossRefGoogle Scholar
  2. AS64.
    Abramowitz M, Stegun IA (1964) Handbook of mathematical functions with formulas, graphs, and mathematical tables. Dover, New YorkMATHGoogle Scholar
  3. Bou66.
    Bourbaki N (1966) General topology, part 1 and 2. SpringerGoogle Scholar
  4. BSHT02.
    Blanck J, Stoltenberg-Hansen V, Tucker JV (2002) Domain representations of partial functions, with applications to spatial objects and constructive volume geometry. Theor Comput Sci 284: 207–224MathSciNetMATHCrossRefGoogle Scholar
  5. BT87.
    Bergstra JA, Tucker JV (1987) Algebraic specifications of computable and semicomputable data types. Theor Comput Sci 50: 137–181MathSciNetMATHCrossRefGoogle Scholar
  6. BT95.
    Bergstra JA, Tucker JV (1995) Equational specifications, complete term rewriting systems, and computable and semicomputable algebras. J ACM 42: 1194–1230MathSciNetMATHCrossRefGoogle Scholar
  7. CT98.
    Chen M, Tucker JV (1998) Constructive volume geometry. Technical report CS-TR-98-19, University of Wales, Swansea, July 1998Google Scholar
  8. CT00.
    Chen M, Tucker JV (2000) Constructive volume geometry. Comput Graph Forum 19(4): 281–293CrossRefGoogle Scholar
  9. Dug66.
    Dugundji J (1966) Topology. Allyn and Bacon Inc.Google Scholar
  10. EL99.
    Edalat A, Lieutier A (1999) Foundation of a computable solid modeling. In: Proceedings of the fifth ACM symposium on solid modeling and applications, pp 278–284Google Scholar
  11. Eng89.
    Engelking R (1989) General topology. Heldermann VerlagGoogle Scholar
  12. FH00.
    Fox ACJ, Harman NA (2000) Algebraic models of correctness for microprocessors. Form Asp Comput Sci 12: 298–312MATHCrossRefGoogle Scholar
  13. FH03.
    Fox ACJ, Harman NA (2003) Algebraic models of correctness for abstract pipelines. J Algebraic Logic Program 57: 71–107MathSciNetMATHCrossRefGoogle Scholar
  14. Grä79.
    Grätzer G (1979) Universal algebra, 2nd edn. Springer-Verlag, BerlinMATHGoogle Scholar
  15. HB04.
    Hearn D, Baker MP (2004) Computer graphics with OpenGL, 3rd edn. Pearson Prentice-HallGoogle Scholar
  16. Hof75.
    Hoffman K (1975) Analysis in Euclidean space. Prentice Hall,Inc., Englewood CliffsMATHGoogle Scholar
  17. ISC07.
    Islam S, Silver D, Chen M (2007) Volume splitting and its applications. IEEE Trans Visual Comput Graph 13(2): 193–203CrossRefGoogle Scholar
  18. Joh07.
    Johnson K (2007) The algebraic specification of spatial data types with applications to constructive volume geometry. PhD thesis, University of Wales, SwanseaGoogle Scholar
  19. Kel75.
    Kelley JL (1975) General topology. Springer-Verlag, New YorkMATHGoogle Scholar
  20. KM31.
    Kubelka P, Munk F (1931) Ein beitrag zur optik der farbanstriche. Zeitschrift für Technische Physik 12: 593–601Google Scholar
  21. Lev88.
    Levoy M (1988) Display of surfaces from volume data. IEEE Comput Graph Appl 8(3): 29–37CrossRefGoogle Scholar
  22. McC48.
    McCoy NH (1948) Rings and ideals. The Mathematical Association of AmericaGoogle Scholar
  23. Mei96.
    Meinke K (1996) Topological methods for algebraic specification. Theor Comput Sci 166: 263–290MathSciNetMATHCrossRefGoogle Scholar
  24. MS93.
    Meinke K, Steggles V (1993) Specification and verification in higher-order algebra: a case study of convolution. In: Heering J, Meinke K, Möller B, Nipkow T (eds) HOA ’93: selected papers from the first international workshop on higher-order algebra, logic, and term rewriting, vol 816. Springer-Verlag, London, pp 189–222Google Scholar
  25. MT92.
    Meinke K, Tucker JV (1992) Universal algebra. In: (eds) Handbook of logic for computer science. Oxford University Press, Oxford, pp 189–411Google Scholar
  26. Nab80.
    Naber GL (1980) Topological methods in Euclidean spaces. Cambridge University Press, CambridgeMATHGoogle Scholar
  27. PD84.
    Porter T, Duff T (1984) Compositing digital images. In: SIGGRAPH ’84: proceedings of the 11th annual conference on computer graphics and interactive techniques. ACM Press, New York, pp 253–259Google Scholar
  28. Req80.
    Requicha AAG (1980) Representations for rigid solids: theory, methods, and systems. Comput Surv 12(4): 437–464CrossRefGoogle Scholar
  29. RV82.
    Requicha AAG, Voelcker HB (1982) Solid modeling: a historical summary and contemporary assessment. IEEE Comput Graph Appl 2: 9–24CrossRefGoogle Scholar
  30. SHT95.
    Stoltenberg-Hansen V, Tucker JV (1995) Effective algebras. In: (eds) Handbook of logic for computer science, vol 4. Oxford University Press, Oxford, pp 357–526Google Scholar
  31. Sim63.
    Simmons GF (1963) Introduction to topology and modern analysis. McGraw-Hill, New YorkMATHGoogle Scholar
  32. SKB+06.
    Strengert M, Klein T, Botchen R, Stegmaier S, Chen M, Ertl T (2006) Spectral volume rendering using GPU-based raycasting. Vis Comput 22(8): 550–561CrossRefGoogle Scholar
  33. Sto48.
    Stone MH (1948) The generalized Weierstrass approximation theorem. Math Mag 21(4): 167–184MathSciNetCrossRefGoogle Scholar
  34. Str07.
    Stroud KA (2007) Engineering mathematics, 6th edn. Palgrave MacmillanGoogle Scholar
  35. ST.
    Stephenson K, Tucker JV (2011) Data, syntax, and semantics, an introduction to modelling programming languages. Swansea UniversityGoogle Scholar
  36. TZ98.
    Tucker JV, Zucker JI (1998) Computable functions and semicomputable sets on many sorted algebras. In: (eds) Handbook of logic for computer science, vol 5. Oxford University Press, Oxford, pp 317–523Google Scholar
  37. TZ99.
    Tucker JV, Zucker JI (1999) Computation by while programs on topological partial algebras. Theor Comput Sci 219(1–2): 379–420MathSciNetMATHCrossRefGoogle Scholar
  38. War06.
    Ward DM (2006) A theory of computer instructions. Sci Comput Program 60: 244–273MATHCrossRefGoogle Scholar
  39. WC01.
    Winter AS, Chen M (2001) vlib: a volume graphics API. In: Volume graphics 2001. Springer-Wien, New YorkGoogle Scholar
  40. Wec92.
    Wechler W (1992) Universal algebra for computer scientists. Springer-Verlag, BerlinMATHCrossRefGoogle Scholar
  41. Win.
    Winter AS. http://vg.swan.ac.uk/vlib/. Accessed July 2011

Copyright information

© British Computer Society 2011

Authors and Affiliations

  1. 1.INRIA Rennes-Bretagne AtlantiqueCampus Universitaire de BeaulieuRennesFrance
  2. 2.Department of Computer ScienceSwansea UniversitySwanseaUK
  3. 3.Aston UniversityBirminghamUK

Personalised recommendations