HomePage
right gifAdmin
down gif
Tapestry Reader
About
The Art of it
down gif
Data
down gif
Types
 Wire Frame
 B-Rep
 Solid
 Voxels
 Point Clouds
right gifInput
right gifEditing
Holes
right gifModeling
Organization
right gifProblems
right gifRendering
right gifAnimation
right gifOutput
right gifThe Web
right gifHow To
right gifGallery
right gifBibliography
Search
right gifReading Assignments
right gifGallery
right gifMiscellaneous
right gifCase Studies
 

 

Text and illustrations
© 1998-2008
Brian R. Johnson
except student work
as noted

  TAPESTRY: The Art of Representation and Abstraction

DATA TYPES:
Overview

"He just wasn't my type."


What's it all about?

When a program is written the programmers must consider several issues. One of these is the information which can be used to describe the phenomenon under consideration. Another is the anticipated use of the software (i.e., what kinds of changes users will want to make to the information). Finally, they must consider what they know and understand about transforming the data. There are some fairly simply defined problems for which there are no known solutions, regardless of the computer's speed.

Data Models

When creating a scientific theory or a computer program we try to simplify complex phenomena to the simplest set of features which can be readily and usefully manipulated. This almost always gives us a set of simple "objects" (primitives), each of which can take on a variety of "qualities" (attributes). These objects exist in some "relationship" to each other, and through those relationships we seek solutions or answers to the questions which perplex us.

First, you need to understand that most 3D modeling programs simply describe the geometry of the object or environment we are modeling. We use them to explore questions of appearance, not questions of tactility, acoustics, cost, or thermal behavior. We can sometimes infer, or guess at these other qualities, but the fundamental function of the program is to manipulate the geometry. In some cases we are even permitted to create digital geometries which have no analog in the physical world.

3D data is generally described in terms of one of the following data types:

WIREFRAME
An early, flexible, but less-often used modelling approach simply creates lines in space. No hidden-line removal is possible, so models are perpetually "see-through".

BOUNDARY REPRESENATION
Most 3D modeling is done to create models for rendering, and the history of rendering technology has (so far) focused on the development of "photorealistic" imagery--synthetic pictures which provide enough of the cues of the real world to fool our eyes. Such images require the existence of surfaces in the model, which boundary representaion (or b-rep) data provides.

SOLID
Beyond simply providing a basis for photorealistic rendering, the model may need to provide answers to important questions, like, "Does the crankshaft hit the engine block when it rotates?" or "What if we cut away the corner of the building to reveal an entry way?", or "Can we fabricate this part using a numerically controlled milling machine?" These involve processing or manipulating the existing data as if it were a true solid. It turns out that solid modeling depends on knowing the "inside" of the object from the rest of the universe.

You can't tell the difference between a solid model and a b-rep model by looking at them, but you can usually tell the difference by what you can do to the solid model that you can't do to the b-rep model.

Model vs. Image: Higher and Lower order data

It is important to recognize that the type of 3D model which the program utilizes or in which you've done your work may not tell you everything about the kinds of images you can make with it, and the kinds of image you see may not tell you everything about the type of data.

If I know that a certain shape is a 4-inch "solid cube" centered at (0,0,0) I know that there are vertices at (2,2,2), (2,-2,2), (-2,2,2), (-2,-2,2) and so on. I also know that there is an edge to the cube which runs between (2,2,2) and (2,-2,2). If I ignore all the other properties of a solid (such as the existence and opacity of its faces), I could simply draw all the edges, which would give me the same image as that produced from a wire-frame represenation of the same cube.

Do we have both a wire-frame and a solid model? No. We have a solid model which can be rendered as if it were wire frame because the wireframe data is implied or subsumed within the solid data.

Because of this relationship, we say that the solid data is "of a higher order" than the wire-frame data.


Last updated: March 3, 1998