6680702
Melting Objects
This paper describes a technique for producing realistic animations of melting objects. The work presented here introduces a method that accurately models both thermal flow and the latent heat during the phase change. The mechanism for energy transfer to the model is via both boundary conditions and radiation. Emphasis is made on accurately modelling the solid object and the method is particularly suited to rigid solids with complex surface geometry. The underlying objects are constructed using Volume Graphics modelling techniques (specifically voxelization), and a numerical simulation computes the time-dependent heat flow throughout the object. A technique for computing the phase transition is given, and details for rendering the melting objects are provided. The melting is controlled by material parameters, such as specific heat capacity, thermal conductivity, latent heat and temperature. Examples are given of melting ice and a plastic man.
2872475
Texturing and hypertexturing of volumetric objects
Texture mapping is an extremely powerful and flexible tool for adding complex surface detail to an object. This paper introduces a method of surface texturing and hypertexturing complex volumetric objects in real-time. We employ distance field volume representations, texture based volume rendering and procedural texturing techniques with Shader Model 2.0 flexible programmable graphics hardware. We aim to provide a flexible cross-platform, non vendor specific implementation.
18996618
The Production of Volume Data from Triangular Meshes Using Voxelisation
Voxelisation is the term given to the process of converting data from one source type into a three dimensional volume of data values. The techniques known collectively as volume visualisation can then be applied to the data in order to produce a graphical representation of the object. This paper gives a practical approach to the voxelisation of data in the form of triangular meshes, and demonstrates the use of the method on various datasets. Visualisation is achieved by a method also described in the paper.
1777796
A System for the Non-Linear Modelling of Deformable Procedural Shapes
This paper describes a fully interactive modelling system, which we have called ClayWorks, for defining the implicit geometry of 3D objects using parametric base primitives and deformations. The goal of this system is to provide a means for describing object data and its creation history by using a series of parametric steps that can be modified post-creation in a non-linearmanner. The advantages of this approach are that unlike other modelling approaches, it enables compact object descriptions, an intuitive modelling process, a simple approach to multiresolution objects, real-time feedback during the modelling process and a render independent object representation.
10888216
Hypertexturing complex volume objects
This paper will examine hypertexture rendering techniques and will demonstrate how volume data sets may be adapted in order for hypertexture to be applied. Details are given of a process for the conversion of complex objects, such as CT scans, into accurate distance fields. Hypertexture is applied to these objects and example renderings include the UNC CThead, a chess piece, a dodecahedron and a tank. Additional information is given about soft objects, density modulation functions, ray marching and controlling hypertexture application.
18480565
Volumes of expression: artistic modelling and rendering of volume datasets
This paper presents the design and implementation of artistic effects in modelling and rendering of volume datasets. Following different stages of a volume-based graphics pipeline, we examine various properties of volume data, and illustrate how expressive and non-photorealistic effects can be implemented. We demonstrate that the true 3D nature of volume data makes it particularly applicable for this use, allowing the addition of complex effects at the modelling stage as well as during rendering.
1424753
Monad transformers and modular interpreters
We show how a set of building blocks can be used to construct programming language interpreters, and present implementations of such building blocks capable of supporting many commonly known features, including simple expressions, three different function call mechanisms (call-by-name, call-by-value and lazy evaluation), references and assignment, nondeterminism, first-class continuations, and program tracing.
The underlying mechanism of our system is monad transformers, a simple form of abstraction for introducing a wide range of computational behaviors, such as state, I/O, continuations, and exceptions.
Our work is significant in the following respects. First, we have succeeded in designing a fully modular interpreter based on monad transformers that incudes features missing from Steele's, Espinosa's, and Wadler's earlier efforts. Second, we have found new ways to lift monad operations through monad transformers, in particular difficult cases not achieved in Moggi's original work. Third, we have demonstrated that interactions between features are reflected in liftings and that semantics can be changed by reordering monad transformers. Finally, we have implemented our interpreter in Gofer, whose constructor classes provide just the added power over Haskell's type classes to allow precise and convenient expression of our ideas. This implementation includes a method for constructing extensible unions and a form of subtyping that is interesting in its own right.
43107545
A Theory of Qualified Types
Abstract This paper describes a general theory of overloading based on a system of qualified types. The central idea is the use of predicates in the type of a term, restricting the scope of universal quantification. A corresponding semantic notion of evidence is introduced and provides a uniform framework for implementing applications of this system, including Haskell style type classes, extensible records and subtyping. Working with qualified types in a simple, implicitly typed, functional language, we extend the Damas-Milner approach to type inference. As a result, we show that the set of all possible typings for a given term can be characterized by a principal type scheme, calculated by a type inference algorithm.
1577279
Using keyphrases as search result surrogates on small screen devices
This paper investigates user interpretation of search result displays on small screen devices. Such devices present interesting design challenges given their limited display capabilities, particularly in relation to screen size. Our aim is to provide users with succinct yet useful representations of search results that allow rapid and accurate decisions to be made about the utility of result documents, yet minimize user actions (such as scrolling), the use of device resources, and the volume of data to be downloaded. Our hypothesis is that keyphrases that are automatically extracted from documents can support this aim. We report on a user study that compared how accurately users categorized result documents on small screens when the document surrogates consisted of either keyphrases only, or document titles. We found no significant performance differences between the two conditions. In addition to these encouraging results, keyphrases have the benefit that they can be extracted and presented when no other document metadata can be identified.
9893455
Interactive Modelling in Decision Support Systems
Abstract In the past, the use of computer models in decision support has involved the interpretation of written reports derived from the output of the model. In recent years, however, the development of micro-computers and istributed computing systems has made it possible for decision-makers to be provided, not with a written report, but with a copy of the model itself. The new relationship between the user and the model, which this development establishes, has important implications for the way in which decision support systems (DSSs) are designed and used.
14189118
A Theory of Qualified Types
• The ability to include local constraints as part of the type of an object. This enables the definition and use of polymorphic overloaded values within a program. ∗An earlier version of this paper was presented at the European Symposium on Programming, Rennes, France, February 1992 and appears in the conference proceedings published in Springer Verlag LNCS Volume 582. †Address from September 1992: Yale University, Department of Computer Science, P.O. Box 2158 Yale Station, New Haven, Connecticut 06520-2158, USA.