6934253
Shape representation using space filled sub-voxel distance fields
Voxelisation is the process of converting a source object of any data type into a three-dimensional grid of voxel values. This voxel grid should represent the original object as closely as possible, although some inaccuracies will occur due to the discrete nature of the voxel grid representation. In this paper we report our ongoing research into methods for representing objects as voxelised distance fields, in particular we report fast methods for accurate distance field production. A review of current alternative voxelisation methods is also given.
41482626
A New Approach to the Construction of Surfaces from Contour Data
This paper presents a new approach to the construction of a surface from a stack of contour slices. Unlike most existing methods, this new approach handles ambiguous conditions consistently without employing an algorithm to establish a correspondence between vertices on one contour and those on the next. It is easy to implement and fast to compute, requiring only basic geometric properties, namely closedness and simplicity, to be available with contour data. The advantages of this new approach have also been demonstrated with solutions to a few classical problems from the literature and some practical problems in medical imaging. It can also be applied to geographical surveying and keyframe animations.
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.
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.
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.
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.
15051631
Type Classes with Functional Dependencies
Type classes in Haskell allow programmers to define functions that can be used on a set of different types, with a potentially different implementation in each case. For example, type classes are used to support equality and numeric types, and for monadic programming. A commonly requested extension to support 'multiple parameters' allows a more general interpretation of classes as relations on types, and has many potentially useful applications. Unfortunately, many of these examples do not work well in practice, leading to ambiguities and inaccuracies in inferred types and delaying the detection of type errors. 
 
This paper illustrates the kind of problems that can occur with multiple parameter type classes, and explains how they can be resolved by allowing programmers to specify explicit dependencies between the parameters. A particular novelty of this paper is the application of ideas from the theory of relational databases to the design of type systems.
6608650
Dictionary-free overloading by partial evaluation
One of the most novel features in the functional programming language Haskell is the system oftype classes used to support a combination of overloading and polymorphism. Current implementations of type class overloading are based on the use ofdictionary values, passed as extra parameters to overloaded functions. Unfortunately, this can have a significant effect on run-time performance, for example, by reducing the effectiveness of important program analyses and optimizations.This paper describes how a simple partial evaluator can be used to avoid the need for dictionary values at run-time by generating specialized versions of overloaded functions. This eliminates the run-time costs of overloading. Furthermore, and somewhat surprisingly given the presence of multiple versions of some functions, for all of the examples that we have tried so far, specialization actually leads to a reduction in the size of compiled programs.
15786317
Bringing the C Libraries With Us into a Multi-Threaded Future
Textile materials such as fiber and cloth can be dyed more satisfactorily with sulfur dyes or sulfurized vat dyes by allowing an organic mercapto compound and/or an organic sulfur compound capable of generating mercapto groups under dyeing conditions to be present in dye baths. Still more improved dyeing results may be obtained by allowing a sulfite salt compound to be further present in such dye baths.
3871712
CPU reservations and time constraints: efficient, predictable scheduling of independent activities
Workstations and personal computers are increasingly being used for applications with real-time characteristics such as speech understanding and synthesis, media computations and I/O, and animation, often concurrently executed with traditional non-real-time workloads. This paper presents a system that can schedule multiple independent activities so that: . activities can obtain minimum guaranteed execution rates with application-specified reservation granularities via CPU Reservations, CPU Reservations, which are of the form reserve X units of time out of every Y units, provide not just an average case execution rate of X/Y over long periods of time, but the stronger guarantee that from any instant of time, by Y time units later, the activity will have executed for at least X time units, . applications can use Time Constraints to schedule tasks by deadlines, with on-time completion guaranteed for tasks with accepted constraints, and . both CPU Reservations and Time Constraints are implemented very efficiently. In particular, . CPU scheduling overhead is bounded by a constant and is not a function of the number of schedulable tasks. Other key scheduler properties are: . activities cannot violate other activities' guarantees, . time constraints and CPU reservations may be used together, separately, or not at all (which gives a round-robin schedule), with well-defined interactions between all combinations, and . spare CPU time is fairly shared among all activities. The Rialto operating system, developed at Microsoft Research, achieves these goals by using a precomputed schedule, which is the fundamental basis of this work.
14178775
A Parallel Algorithm for Mesh Smoothing
Maintaining good mesh quality during the generation and refinement of unstructured meshes in finite-element applications is an important aspect in obtaining accurate discretizations and well-conditioned linear systems. In this article, we present a mesh-smoothing algorithm based on nonsmooth optimization techniques and a scalable implementation of this algorithm. We prove that the parallel algorithm has a provably fast runtime bound and executes correctly for a parallel random access machine (PRAM) computational model. We extend the PRAM algorithm to distributed memory computers and report results for two- and three-dimensional simplicial meshes that demonstrate the efficiency and scalability of this approach for a number of different test cases. We also examine the effect of different architectures on the parallel algorithm and present results for the IBM SP supercomputer and an ATM-connected network of SPARC Ultras.