Graphics Reference
In-Depth Information
constant areas, unrefined structure represents the texture compactly; in areas with
finer detail, we can refine the oct tree so that it can hold this detail. This idea
has been developed in some detail by DeBry et al. [DGPR02] and Benson and
Davis [BD02].
Just as we typically describe a polyhedral model in some modeling space, and
then apply various transformations to it so as to put it in a particular location and
orientation in world space, we typically define implicit models in some modeling
space as well, and transform them into world space. For example, we define a
sphere by the equation
F
(
x
,
y
,
z
)=
x
2
+
y
2
+
z
2
−
1
=
0; to translate this sphere
to the point
(
1, 3, 4
)
we replace
F
by
G
(
x
,
y
,
z
)=
F
(
x
−
1,
y
−
3,
z
−
4
)
.
(24.17)
Setting
G
(
x
,
y
,
z
)=
0 then gives a unit sphere centered at
(
1, 3, 4
)
. We can consider
G
as being constructed from
F
by the rule
G
(
P
)=
F
(
T
(
P
))
,
(24.18)
where
T
is the transformation “translate by
(
4
)
,” that is, exactly the
inverse
of the transformation we wanted to apply to the sphere.
−
1,
−
3,
−
Inline Exercise 24.2:
The implicit formula for an ellipsoid of radii
(
1
/
2, 1, 1
)
in
x
,
y
, and
z
is
x
2
1
=
0.
(a) Letting
F
(
x
,
y
,
z
)=
x
2
+
y
2
+
z
2
/
4
+
y
2
+
z
2
−
−
1, is the implicit equation of our ellipsoid
F
(
x
2,
y
,
z
)=
0or
F
(
2
x
,
y
,
z
)=
0?
(b) What simple scaling transformation takes points of the unit sphere to points
of our ellipsoid?
(c) How are parts (a) and (b) related?
/
In general, if
S
is a surface defined implicitly by the function
F
(i.e., if
F
(
s
)=
0 if and only if
s
, where
T
is
an invertible linear transformation, is implicitly defined by the function
∈
S
), the surface
T
(
S
)=
{
T
(
s
):
s
∈
S
}
G
=
F
◦
T
−
1
.
(24.19)
In fact, the transformation
T
need not be linear—it need only have an inverse. This
means that transformations like
T
(
x
,
y
,
z
)=(
x
cos
z
+
y
sin
z
,
−
y
sin
z
+
x
cos
z
,
z
)
,
(24.20)
which rotates each
z
=
c
slice of 3-space by a different amount so that the strip
[
R
gets twisted into a helical shape, can be used to apply a helical
deformation to any implicitly defined object.
A shape that's been modeled implicitly and then transformed can be textured
in world space (the texture at a point
P
with
F
(
T
−
1
(
P
)) =
0 is determined by
the coordinates of
P
itself) or in modeling space (the texture is determined by the
coordinates of
T
−
1
(
P
)
).
−
1, 1
]
×
0
×