International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B3. Istanbul 2004
Object
(Separator)
Parti
s +} Part 2
(Shape) ~ (Shape)
Constraint
(Engine)
Figure 1: Simple scene graph of an object consisting of
two shapes and an engine which connects their fields. The
drawing uses scene graph symbols from Open Inventor.
fying constraints from reconstructed object parts automat-
ically, it would probably be prohibitive to check interac-
tively if the correct constraints have been identified, and,
given cross-dependencies, which constraints are missing.
Finally, generalization is a mostly open problem. Espe-
cially approaches based on a general planar segmentation
usually use little more than region sizes to determine if a
region should become part of the final object. Some ap-
proaches use ground plans which influence generalization,
(Brenner, 2000b) uses a set of rules to describe simple
roofs. On the other hand, CSG modelling has the advan-
tage that primitives are tied to interpretations, which facil-
itates the definition of “valid” roofs.
3 SCENE GRAPHS
Scene graphs have been used extensively in computer
graphics. Their primary purpose is to describe a scene for
rendering (Wernecke, 1994, OpenSceneGraph, 2004). A
scene graph is a tree structure, able to store a hierarchical
description of a scene in terms of nodes. Objects are mod-
elled in parts, which are usually parameterized and can be
reused across the graph.
For the purpose of reconstructing objects from measure-
ment data, three scene graph concepts are of particular
interest: fields, engines and node kits. Fields are used
to store parameters of nodes. Since nodes are actually
classes, parameters could also be stored in simple class
member variables. However, defining fields has the ad-
vantage that i) parameters of all nodes can be accessed in a
unified way, ii) field changes can be monitored by the sys-
tem, and iii) fields can be connected to each other (Wer-
necke, 1994). Engines provide this possibility to connect
node fields. In scene graphs, one of their main purposes is
to animate scenes. However, engines can do arbitrary com-
putations and thus influence a number of result fields based
on a number of input fields. Figure | shows a simple graph
involving an engine. Finally, node kits are nodes grouped
in a subgraph which can be inserted into the scene graph
as one. Node kits somehow resemble libraries of object
parts as used in CSG modelling. However, their flavor is a
little bit different: a node kit contains a catalog of nodes,
arranged in proper order, of which only a minimal subset is
used by default. Additional nodes in the kit are "switched
on" as soon as their field values are set.
1088
4 WEAK PRIMITIVES
4.1 The Idea Behind Weak Primitives
From the conclusions drawn in section 2.2, CSG modelling
has a number of advantages: correct surface topology is
enforced by the primitives themselves, one has not to deal
with a confusing number of constraints because they are
implicit, and a handling of generalization is more straight-
forward since CSG primitives are associated with an in-
terpretation. The resulting CSG tree is certainly a more
valuable outcome than a collection of boundary patches,
e.g. when different levels of detail of an object are to be
derived afterwards. Furthermore, CSG modelling is less
sensitive to errors in measurement data and even to data
gaps, due to the strong implicit constraints.
The drawback is that those strong constraints cannot be
“relaxed” when needed, since they are a inherent property
of the primitives. However, real-world man-made objects
often have deviations from the idealized shape, which are
cumbersome to model using ideal primitives.
The second drawback is that the different CSG primitives
which make up an object have to be aligned properly.
When primitive parameters are estimated by a fit to real
data, this alignment is usually not fulfilled. Performing a
"snap" operation afterwards will align properly, but will
loose the best fit property. Thus, a single process is de-
sirable, which enforces alignment and a best fit simultane-
ously.
The idea of weak primitives is to combine the best of CSG
and "faces and constraints". Weak primitives are a set of
unknowns and a set of constraints, packaged as a single
"primitive". Using a weak primitive is just as using a "real"
primitive, although internally, the constraints are enforced
by equations rather than by an implicit model. The differ-
ence becomes obvious when constraints are to be relaxed:
weak primitives allow to "switch off" constraints and thus
are able do deviate from their ideal shape.
In order to enforce regularities between different primi-
tives, additional constraints have to be imposed. To achieve
this, weak primitives expose an interface consisting of
fields. Fields of different primitives can be connected by
constraints.
One can see the similarity to scene graph concepts out-
lined in section 3: Node fields correspond with weak prim-
itive fields, engines connecting fields correspond with con-
straints connecting fields, and weak primitives are similar
to node kits in the sense that they contain a number of “pre-
wired" objects which can be turned on or off.
4.2 An Example in 2D
A rectangle in 2D will serve as an example to illustrate the
approach. A “CSG representation” of a rectangle involves
the parameters (x; Ye) for the position, an angle à for the
rotation and the width w and height h of the rectangle, for
Intern
Figur
paran
a tota
eters,
Ther
edges
tices ¢
Using
d
dicul:
apply
consti
projec
tained
as we
equati
Wang
strain
Four
(T c:
ramet
norme
leadin
Three
lines,
summ
Tot
Table
rectans
seat [a
43 I
If one ‘
itives,
forcing
respec!
change
come |
The po
which
about t
they ar
met. H
mated
points «