• No se han encontrado resultados

Six permutations of S2 Orientation Example: < v2, v0, v1>

< v0, v1, v2> < v0, v2, v1> < v2, v0, v1> < v2, v1, v0> < v1, v2, v0> < v1, v0, v2> + + + − − − v0 v1 v2 + < v0, v1> + < v2, v0> − < v2, v1> ∂ < v2, v0, v1>= + < v0, v1>− < v2, v−1>+ < v2, v0> Figure 4.4: The six permutations of simplex S2 and their orientation. Permutation

< v2, v0, v1>is illustrated in more detail

triangles of S3 have the same orientation.

Proof: First the so-called zero homomorphism (∂2=0) needs to be proven when

applied to any oriented n-simplex. Now: ∂2S n= ∂P n i=0(−1) i< v 0, . . . ,ˆvi, . . . , vn>= Pn i=0(−1)i Pn j=i+1(−1)j−1< v0, . . . ,vˆi, . . . ,vˆj, . . . , vn >+ Pn i=0(−1)i Pi−1 j=0(−1)j< v0, . . . ,vˆj, . . . ,vˆi, . . . , vn>

All terms in this expression cancel in pairs, since each oriented (n − 1)-simplex < v0, . . . ,ˆvi, . . . ,vˆj, . . . , vn>appears two times, the first time with sign (−1)i+j−1 and

the second time with the opposite sign (−1)i+j.

Now consider ∂2S

3. The boundary of a tetrahedron consist of four triangles, and

the boundaries of these triangles consist of edges. Each of the six edges of S3appears

two times, as each edge bounds two triangles. The zero homomorphism states that the sum of these edges equals zero. This is the case if and only if the edges in these six pairs have opposite signs. The edges of two neighbouring triangles have opposite signs if and only if the triangles have the same orientation, i.e. either both are oriented inwards or both are oriented outwards. As this is true for each random combination

of two neighbouring triangles, all triangles have consistent orientation. ⊓⊔

4.3

Combining simplexes: simplicial complexes

As most volume features will be represented by more than one tetrahedron (as can be observed in figure 4.5), operations on sets of simplexes will be useful. A simplicial complex is such a combinatorial object of a number of simplexes. A formal definition (Giblin 1977) is given below:

64 Chapter 4. Theoretical foundations: Poincar´e simplicial homology

Definition 4 A simplicial complex C is a finite set of connected simplexes that sat- isfies the following two conditions:

• Any face of a simplex from C is also in C

• The intersection of any two simplexes from C is either empty or is a face for both of them (note that ‘face’ refers to a face in general dimension, as introduced in observation 2 in section 4.1)

The dimension of C is the largest dimension of any simplex in C (Giblin 1977). A simplicial complex is said to be of homogeneous dimension n if all simplexes of lower dimension than n in C are proper faces (refer to observation 3 in section 4.1) of n-simplexes in C.

Figure 4.5: Topographic features will be represented by multiple simplexes: simplicial complexes. In this example a building is represented by eight tetrahedrons

Up to this point only simplexes and simplicial complexes are discussed. A special case of simplicial complexes in 3D is the Tetrahedronised Irregular Network (TEN). Definition 5 A Tetrahedronised Irregular Network (TEN) is a simplicial complex of homogeneous dimension of three that consists of face-connected 3-simplexes, where face-connected indicates that two 3-simplexes are connected through a shared 2- simplex.

Although this definition is short it implies several important characteristics:

• There are no self-intersections in the TEN (due to the second condition for simplicial complexes in definition 4)

• There are no dangling edges or faces in the TEN (as it is of homogeneous dimension)

• There are no dangling tetrahedrons in the TEN (since these tetrahedrons would not be face-connected)

In addition to the requirements following from this definition, a TEN is also supposed to consist of positively oriented 3-simplexes within the scope of this dissertation. As

4.3. Combining simplexes: simplicial complexes 65

a result, two neighbouring tetrahedrons share a triangle from a geometrical point of view, but due to the positive orientation of both 3-simplexes, the boundary triangles will have the same geometry, but opposite orientation. Within this dissertation, a triangle with the same geometry but opposite orientation will be referred to as an opposite triangle.

Such a structure contains several topological relationships, thus enabling both topological querying and, perhaps even more important, validation tools in order to maintain data integrity. These operations will be discussed in section 4.4. Note that usually many features (each represented by a set of tetrahedrons, i.e. a simplicial complex) exist within a single TEN. In other words: the complete TEN can be seen as a simplicial complex of homogeneous dimension, but smaller subsets of the TEN as well. An interesting application of the boundary operator, as introduced in definition 2, is joining or merging two simplexes of equal dimension into a simplicial complex. The boundary of this simplicial complex can be derived by adding the boundaries of the separate simplexes. Since volume features will be represented by 3D simplicial complexes, this operation will result in the volume feature boundary when applied to the topographic data model:

Definition 6 The boundary of simplicial complex Cn, consisting of m+1 simplexes

of dimension n (with m>0), is defined as:

Simplicial complex Cn=< Sn0, . . . , Snm> has boundary ∂Cn= m

X

i=0

∂Snm

For example, if we join the two neighbouring triangles S20=< v0, v1, v2>and S21=<

v0, v2, v3>into a 2D complex C2, adding the boundaries result in (see also figure 4.6)

< v1, v2>+ < v0, v1>+ < v2, v3>− < v0, v3>.

Note that the shared boundary < v0, v2>is removed from the boundary description

as it appeared once with positive and once with negative sign. This appearance with opposite signs relies on the assumption of consequent orientation of simplexes in the simplicial complexes. As long as this consequent orientation is ensured, the zero homomorphism (see lemma 3) will also apply to simplicial complexes: ∂2C

n =

Pm

i=0∂2Snm= 0.

As stated earlier, joining simplexes into simplicial complexes and deriving its outer boundary can be very useful in our modelling approach. If for instance a building is modelled as a set of eight tetrahedrons (see figure 4.7), the building’s boundary representation can be obtained by merging the boundaries of all eight tetrahedrons. The 16 triangles of C3are the boundary triangulation of this building. This boundary

triangulation might be used in the visualisation process. It is already a polyhedron, but if one is interested in a polyhedron with a minimal number of faces, merging boundary triangles with identical (within a tolerance) normal vector direction into flat polygons will result in seven flat boundary faces for this building.

A related concept with respect to topological relationships in a TEN structure is the coboundary, although its definition is not limited to TENs. Intuitively a cobound- ary is the opposite of a boundary:

66 Chapter 4. Theoretical foundations: Poincar´e simplicial homology − < v0, v2> − < v0, v3> + < v0, v1> + < v1, v2> + < v0, v2> + < v2, v3>

v

0

v

1

v

2

v

3 = (< v1, v2>− < v0, v2>+ < v0, v1>) +(< v2, v3>− < v0, v3>+ < v0, v2>) =< v1, v2>+ < v0, v1>+ < v2, v3>− < v0, v3> ∂C2= ∂S21+ ∂S22

Figure 4.6: Merging two simplexes into one simplicial complex

v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 S31=< v0, v1, v3, v4> S32=< v1, v2, v3, v6> S33=< v1, v3, v4, v6> S34=< v1, v4, v5, v6> S35=< v3, v4, v6, v7> S36=< v4, v6, v7, v8> S37=< v4, v5, v6, v8> S38=< v5, v6, v8, v9> ∂S31=< v1, v3, v4>− < v0, v3, v4>+ < v0, v1, v4>− < v0, v1, v3> ∂S32=< v2, v3, v6>− < v1, v3, v6>+ < v1, v2, v6>− < v1, v2, v3> ∂S33=< v3, v4, v6>− < v1, v4, v6>+ < v1, v3, v6>− < v1, v3, v4> ∂S34=< v4, v5, v6>− < v1, v5, v6>+ < v1, v4, v6>− < v1, v4, v5> ∂S35=< v4, v6, v7>− < v3, v6, v7>+ < v3, v4, v7>− < v3, v4, v6> ∂S36=< v6, v7, v8>− < v4, v7, v8>+ < v4, v6, v8>− < v4, v6, v7> ∂S37=< v5, v6, v8>− < v4, v6, v8>+ < v4, v5, v8>− < v4, v5, v6> ∂S38=< v6, v8, v9>− < v5, v8, v9>+ < v5, v6, v9>− < v5, v6, v8> C3 ∂C3=− < v0, v3, v4>+ < v0, v1, v4>− < v0, v1, v3>+ < v2, v3, v6> + < v1, v2, v6>− < v1, v2, v3>− < v1, v5, v6>− < v1, v4, v5> − < v3, v6, v7>+ < v3, v4, v7>+ < v6, v7, v8>− < v4, v7, v8> + < v4, v5, v8>+ < v6, v8, v9>− < v5, v8, v9>+ < v5, v6, v9> +

Documento similar