Computer Visualization: Graphics Techniques for Scientific and Engineering Analysis (for True Epub) by Richard S. Gallagher
Author:Richard S. Gallagher
Language: eng
Format: epub
Publisher: CRC Press
Published: 2023-05-25T00:00:00+00:00
6.2 Volume Rendering Terminology
Volume rendering is a name given to the process of creating a two-dimensional image directly from three-dimensional volumetric data. The data is typically a set S of samples (x, y, z, v), representing the value v of some property of the data, at a three-dimensional location (x, yy z). If the value is simply a 0 or a 1, with a value of 0 indicating background and a value of 1 indicating the object, then the data is referred to as binary data. The data may instead be multivalued, with the value representing some measurable property of the data, including, for example, color, density, heat or pressure. The value v may even be a vector, representing, for example, velocity at each location.
In general, the samples may be taken at purely random locations in space, but in this chapter we will consider only sets which contain samples taken at regularly spaced intervals along three orthogonal axes. The spacing between samples along each axis is a constant, but there may be three different spacing constants for the three axes. If a set of samples does not have this property, such as in irregular grids [3, 8, 23, 30, 31], a preprocessing step of resampling can be employed to create a new set which can be used with the algorithms described in this chapter. Since the set of samples is defined on a regular grid, a three-dimensional array (called also volume buffer, cubic frame buffer, 3-D raster) is typically used to store the values, with the element location indicating position of the sample on the grid. For this reason, the set S will be referred to as the array of values S (x, y, z), which is defined only at grid locations.
The array 5 only defines the value of some measured property of the data at discrete locations in space. A function f{x, y, z) may be defined over R3 in order to describe the value at any continuous location. The function f(x, y3 z) = S(x, y, z) if (x, y, z) is a grid location, otherwise f(x, y, z) approximates the sample value at a location (x, y, z) by applying some interpolation function to 5. There are many possible interpolation functions. The simplest interpolation function is known as zero-order interpolation, which is actually just a nearest-neighbor function. The value at any location in R3 is simply the value of the closest sample to that location. With this interpolation method there is a region of constant value around each sample in S. Since the samples in S are regularly spaced, each region has uniform size and shape. This requires a slight modification to the standard nearest-neighbor function, since that would produce regions of infinite size around the borders of the sample set. This is done simply by letting f(x, y, z) = 0 if (x, y, z) lies outside of some bounding box placed around the sample array S. An example of zero-order interpolation is given in Figure 6.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Deep Learning with Python by François Chollet(15406)
The Mikado Method by Ola Ellnestam Daniel Brolund(12677)
Hello! Python by Anthony Briggs(12532)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(11840)
Dependency Injection in .NET by Mark Seemann(11638)
A Developer's Guide to Building Resilient Cloud Applications with Azure by Hamida Rebai Trabelsi(10534)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(10452)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(10157)
Grails in Action by Glen Smith Peter Ledbrook(9772)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(9456)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(9212)
Hit Refresh by Satya Nadella(9040)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(8532)
The Kubernetes Operator Framework Book by Michael Dame(8480)
Exploring Deepfakes by Bryan Lyon and Matt Tora(8301)
Robo-Advisor with Python by Aki Ranin(8256)
Practical Computer Architecture with Python and ARM by Alan Clements(8228)
Implementing Enterprise Observability for Success by Manisha Agrawal and Karun Krishnannair(8199)
Kotlin in Action by Dmitry Jemerov(8169)