Graphics Reference
In-Depth Information
OC of
Left Palm
OC of
Left Arm
OC of
Body
Figure 11.17.
Different OC spaces of Figure 11.13.
erator, a primitives list, and an array of child node pointers. When designing a
geometric model with a SceneNode object, we define the primitives in the most
convenient coordinate space and then rely on the transformation operator to po-
sition and manipulate the geometric models. For example, when designing the
arm of Figure 11.8, the geometric primitives (e.g., R a 0 , C p 0 ) are defined with re-
spect to the origin located at P a . This arm object is included and positioned into
the human model of Figure 11.14 where the transformation operator in the Arm
node supports the interactive manipulation of the arm object. Recall that in Sec-
Modeling coordinate space.
Because objects are defined,
or modeled, in OC space,
sometimes OC space is also
called modeling coordinate
space .
tion 10.3, we introduced the idea of a world coordinate (WC) system to provide
a convenient coordinate space for working with graphical objects. In a similar
manner, we can consider the transformation operators in a scene hierarchy creat-
ing convenient coordinate spaces for defining components of objects. We refer to
these coordinate spaces as the object coordinate (OC) spaces. Figure 11.17 illus-
trates that there are typically many OC spaces in a scene hierarchy. For example,
the OC space for the primitives of the left palm, the OC space for the primitives
of the left arm, and so on.
As with any coordinate space, the OC space provides a convenient space for
designing graphical objects. However, the extra coordinate space also means that
the primitives are defined in a coordinate space that is independent from where
they will appear. This is similar to the case of WC space, where:
Drawing. We must compute and perform extra transformation operations
before drawing of primitives. We have already worked with this in the
Scenenode::Draw() function (label C in Listing 11.4) where we must
concatenate the transformation operator and load the results into the WORLD
matrix processor before drawing the primitives.
Selection. We must perform inverse transformations to compute the user's
mouse-click position in the primitive coordinate spaces. For the WC space,
in Section 10.5, we discussed how to transform points from device coordi-
nate space to WC space. In this case, with the OC space, additional inverse
Search WWH ::




Custom Search