TAPESTRY: The Art of Representation and Abstraction

3D Data Overview

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 Types

Three-dimensional environments can be described in a number of different ways. Some of these representations are particularly useful for special applications (turning the digital model into an injection mold, for instance). Some are good (efficient, easily edited, etc) for representing different kinds of shapes (airplanes have very different shapes from buildings, for example). But they all have some sort of geometry.

Geometry data generally falls into one of the following data types: wire-frame, boundary representation (aka surface), or solid, but there are other possibilities too.


Of course, the objects in the 3D scene may be different colors, cost different amounts, weigh different amounts, etc. The differences are captured in the model through assignment of different attributes to the geometry data. Some attributes relate to appearance, but others will relate to organization (visibility, grouping or naming of sub-parts, etc).

Data Creation

In order to create your model you must somehow tell the program what to make and where to make it (geometry). Different programs (and data types) let you create different shapes, and give them differing attributes. You must also specify the shape of the objects. Because the data is 3D, but (at this time) we use 2D equipment (the mouse) to enter points, the pointing problem turns out NOT to be trivial. We'll discover that we need (or may take advantage of) a nubmer of different "pointing aids" to help address the "where" problem.


The program will rarely offer a means of making exactly the shape you want in one easy step. You may need to create simple parts and assemble them into complex shapes. Or you distort or transform the simple shapes in various ways to adjust them until they suit your needs. You may even be able to use one shape as a "tool" to cut into another shape.

These actions, or duplicating, transforming, and editing the data you initially enter in order to create the data you really want, is what we call editing or modeling.


One of the particular difficulties, which might be addressed within the context of Modeling (a discussion of editing actions, or verbs, which may be applied to the model), is the creation of holes in the object (windows in the walls, holes in the desk, etc.). We are so used to the idea of REMOVING some of our data that it comes as a bit of a shock to realize that in many modeling programs you cannot perform "cutting" and "drilling" operations.

However, depending on the type of data being used and the needs of the user, there are several strategies available for handling "holes" within the model.


Three dimensional data cannot generally be viewed "in 3D". Instead, it is viewed through 2D screen and hardcopy images, which always involve ambiguity created by projecting 3D points to the 2D image. This is the core of the pointing problem (in reverse), but it also means that we often view complex 3D relationships in confusing drawings. There is a powerful need to organize and manage the data so as to minimize the inherent confusion and "get a handle" on the desired results.

Last updated: April, 2014

Valid HTML 4.01 Transitional Valid CSS! [report bug]