outline
play

Outline Building Parametrizations The Users Perspective Results - PDF document

A Manifold-Based Construction for Surface Fitting Lecture 6 - February 5, 2009 - 2-3 PM Outline Building Parametrizations The Users Perspective Results Conclusions Suggested Readings 2 Building Parametrizations Recall


  1. A Manifold-Based Construction for Surface Fitting Lecture 6 - February 5, 2009 - 2-3 PM Outline • Building Parametrizations • The User’s Perspective • Results • Conclusions • Suggested Readings 2 Building Parametrizations Recall the big picture... M ⊆ R m θ 1 θ 2 ϕ 12 Ω 1 Ω 21 Ω 2 Ω 12 ϕ 21 R n 3

  2. Building Parametrizations Our goal now is to define a family, ( θ v ) v ∈ I , of parametriza- tions. M ⊆ R m θ 1 θ 2 ϕ 12 Ω 1 Ω 21 Ω 2 Ω 12 GIVEN R n ϕ 21 4 Building Parametrizations To define ( θ v ) v ∈ I , we specify a family of shape functions and a family of weight functions , both of which are described as follows: 5 Building Parametrizations For each u ∈ I , we define the shape function , ψ u : � u ⊂ R 2 → R 3 , associated with Ω u , as the B´ ezier surface patch of bi-degree ( m, n ) , � � b u j,k · B m j ( x ) · B n ψ u ( p ) = k ( y ) , 0 ≤ j ≤ m 0 ≤ k ≤ n where 6

  3. Building Parametrizations • � u = [ − L + 2 · l ( u ) , − L ] × [ L + 2 · l ( u ) , L ] , with L = � � b u j,k · B m j ( x ) · B n ψ u ( p ) = k ( y ) cos( π/m u ) , ( x, y ) are the coordinates of p , 0 ≤ j ≤ m 0 ≤ k ≤ n [ − L + 2 · l ( u ) , L ] [ L + 2 · l ( u ) , L ] p = ( x, y ) Ω u (2 · l ( u ) , 0) L = cos( π/m u ) [ − L + 2 · l ( u ) , − L ] [ L + 2 · l ( u ) , − L ] 7 Building Parametrizations j,k ) ⊂ R 3 are the control points, with 0 ≤ j ≤ m and • ( b u � � b u j,k · B m j ( x ) · B n ψ u ( p ) = k ( y ) 0 ≤ k ≤ n , 0 ≤ j ≤ m 0 ≤ k ≤ n Ex: R 2 m = 2 and n = 2 p 2 , 2 = ( L + 2 · l ( u ) , L ) p 0 , 2 p 1 , 2 R 3 b 0 , 2 b 1 , 2 b 2 , 2 b 0 , 1 b 1 , 1 b 2 , 1 p 0 , 1 p 1 , 1 p 2 , 1 b 0 , 0 b 1 , 0 b 2 , 0 p 0 , 0 = ( − L + 2 · l ( u ) , L ) p 1 , 0 p 2 , 0 8 Building Parametrizations • and � � b u j,k · B m j ( x ) · B n ψ u ( p ) = k ( y ) � r − t � t − s � l − i � i � l � 0 ≤ j ≤ m 0 ≤ k ≤ n B l i ( t ) = · · i r − s r − s is the i -th Bernstein polynomial of degree l over the affine frame [ s, r ] , where [ s, r ] = [ − L +2 · l ( u ) , L +2 · l ( u )] (or [ s, r ] = [ − L, L ] ), for every i ∈ { 0 , . . . , l } . Note that B l i is a scalar function, and recall that the following holds: � � B m j ( x ) · B n k ( y ) = 1 , ∀ x, y ∈ [0 , 1] . 0 ≤ j ≤ m 0 ≤ k ≤ n 9

  4. Building Parametrizations So, the convex hull property holds for p ∈ � u . R 3 b 01 R 2 b 11 2 b 21 1.5 p 2 , 2 p 0 , 2 p 1 , 2 1 1 y b 22 0 0.5 0 0 4 4 0 p 0 , 1 p 2 , 1 b 00 3 3 1 p 1 , 1 2 2 2 z z x b 10 1 1 3 p 0 , 0 p 1 , 0 p 2 , 0 0 0 4 � u b 20 ψ u ( p 1 , 1 ) = ψ u ((2 · l ( u ) , 0)) 10 Building Parametrizations Very nice, but how do we pick the control points? We use a least squares fitting procedure . The idea is to create a large collection, ( p j , p � j ) j ∈ J , of pairs of parameter points and sample points, where p j ∈ R 2 and p � j ∈ R 3 . We can think of p � j as the image of p j under an unknown function, f : R 2 → R 3 , we wish to locally approximate using our ψ u ’s. 11 Building Parametrizations We can create ( p j , p � j ) j ∈ J by placing the p j ’s in the T u ’s and the p � j ’s in S T . But, since S T is piecewise linear, it is better (for the sake of visual quality) to place the p � j ’s on a “curved” surface that approximates | S T | . Which “curved” surface? 12

  5. Building Parametrizations Good choices: • PN triangle surfaces • Subdivision surfaces PN triangle surfaces are cheap to construct and evaluate, while subdivision approaches usually yield pretty good-looking sur- faces. We now describe the computation of the parameter and sam- ple points in a way that is (almost) independent of the choice of surface. 13 Building Parametrizations The idea is to assume that we have a surface, S � ⊂ R 3 , which is the union of finitely many parametric patches, b σ : R 2 → R 3 , each of which is associated with a triangle, σ , of S T , and all of them are the defined in the same a ffi ne frame, say � ⊂ R 2 : S � = � b σ ( � ) . σ ∈ S T b σ ( � ) R 2 R 3 σ b σ ( � ) � 14 Building Parametrizations S � | S T | It is desirable to define S � continuous (at least!) 15

  6. Building Parametrizations How can we compute the control points? First, sample the a ffi ne frame of ψ u in a uniform manner: HEURISTIC! We choose m = n = m u + 1 and sample the above frame with 4 · m 2 points, where m u is the degree of vertex u in S T . 16 Building Parametrizations Second, for each triangle s u ( σ ) of T u , map the sample points in s u ( σ ) to � . s u ( σ ) R 2 � u σ st ( u, S T ) 17 Building Parametrizations To map from s u ( σ ) to � , we simply use a barycentric map- ping: Choose an order, � a, b, c � , for the vertices, a , b , and c of s u ( σ ) . Now, every point p ∈ s u ( σ ) can be expressed as p = λ · a + µ · b + ν · c , where λ , µ , and ν are the barycentric coordinates of p with respect to s u ( σ ) and associated with the vertices a , b , and c , respectively. 18

  7. Building Parametrizations √ Assume that � = [(0 , 0) , (1 , 0) , (1 / 2 , 3 / 2)] . Finally, the point q ∈ � corresponding to p ∈ s u ( σ ) is given by q = λ · a � + µ · b � + ν · c � , √ where a � = (0 , 0) , b � = (1 , 0) , and c � = (1 / 2 , 3 / 2) are the vertices of � . � b c � s u ( σ ) p q a c b � a � 19 Building Parametrizations Third, we compute p � = b σ ( q ) . b σ ( � ) � c � σ q b � a � p � = b σ ( q ) 20 Building Parametrizations Sampling s u ( σ ) b s u ( σ ) p a c Barycentric Mapping b σ ( � ) � σ c � Evaluation of b σ q b � p � = b σ ( q ) a � 21

  8. Building Parametrizations Now, we have a collection of pairs, ( p, p � ) , of parameter and sample points associated with each vertex, u , of S T , as shown below: 22 Building Parametrizations Let M be the number of elements of the collection of pairs, ( p, p � ) , associated with u . We assume that M is larger than m × n = ( m u + 1) 2 . We can assemble three linear equation systems, AX = B l , with l = 1 , 2 , 3 , each of which has exactly M × ( m u + 1) 2 equations. The l -th system is derived from the equations of the form ψ u ( p ) = p � � � b u j,k · B m j ( x ) · B n k ( y ) = p � l = l , ⇒ 0 ≤ j ≤ m 0 ≤ k ≤ n where p � l the l -th coordinate of p � . Since M � m , the systems are overdetermined! 23 Building Parametrizations The unknows are the m × n = ( m u +1) 2 control points, ( b u j,k ) , of ψ u . We have a typical setup for using least squares, and that’s what we do! Once we compute the control points, we have ψ u . 24

  9. Building Parametrizations Ultimately, we want to compute θ u : M ⊆ R m θ 1 θ 2 ϕ 12 Ω 1 Ω 21 Ω 2 Ω 12 GIVEN R n ϕ 21 25 Building Parametrizations Why not let θ u = ψ u ? First, the domain of θ u is Ω u , while the domain of ψ u is R 2 . 26 Building Parametrizations Second, θ u ( p ) and θ v ( q ) must be the same point in R 3 if q = ϕ vu ( p ) . M ⊆ R m θ 1 θ 2 ϕ 12 Ω 1 Ω 21 Ω 2 Ω 12 GIVEN ϕ 21 R n 27

  10. Building Parametrizations It is EXTREMELY unlikely that ψ u fullfils the second condi- tion. So, what can we do? Answer : use cutoff functions! 28 Building Parametrizations For each u ∈ I , we define a weight function , γ u : R 2 → R , associated with Ω u is given by γ u ( p ) = ξ ( � p − (2 · l ( u ) , 0) � ) , for every p ∈ R 2 , where � · � denotes Euclidean distance, and p Ω u (2 · l ( u ) , 0) � p − (2 · l ( u ) , 0) � 29 Building Parametrizations ξ : R → R is such that, for every t ∈ R ,  1 if t ≤ H 1  ξ ( t ) = 0 if t ≥ H 2 1 / (1 + e 2 · s )  otherwise , where H 1 , H 2 are constant, with 0 < H 1 < H 2 < 1 , and � t − H 1 � 1 � � 1 � � s = H = . √ − √ and H 2 − H 1 1 − H 1 − H 30

  11. Building Parametrizations ξ ( t ) G1 1 0.8 0.6 0.4 0.2 t 0.2 0.4 0.6 0.8 1 L 1 = 0 . 2 and L 2 = 0 . 8 31 Building Parametrizations L 2 = cos( π /m u ) L 1 = 0 . 25 · L 2 HEURISTIC! Ω u 32 Building Parametrizations The problem “the domain of θ u is Ω u , while the domain of ψ u is � u ” can be solved by defining θ u as θ u ( p ) = ψ u ( p ) · γ u ( p ) , but the above does not solve the problem “ θ u ( p ) and θ v ( q ) must be the same point in R 3 if q = ϕ vu ( p ) ” 33

  12. Building Parametrizations Well, let us use another trick: � w ∈ J u ( p ) [ ψ w ◦ ϕ wu ( p )] · [ γ w ◦ ϕ wu ( p )] θ u ( p ) = , � z ∈ J u ( p ) γ z ◦ ϕ zu ( p ) where J u ( p ) = { v ∈ I | p ∈ Ω uv } . J u ( p ) has at least one vertex (i.e., u ) and at most three. 34 Building Parametrizations θ u ( p ) ψ v ◦ ϕ wu ( p ) ψ w ◦ ϕ wu ( p ) ψ u ( p ) w J u ( p ) = { u, v, w } u v T w r v,σ ϕ wu ( p ) T u T v p r v,σ ϕ vu ( p ) 35 Building Parametrizations In � w ∈ J u ( p ) [ ψ w ◦ ϕ wu ( p )] · [ γ w ◦ ϕ wu ( p )] θ u ( p ) = , � z ∈ J u ( p ) γ z ◦ ϕ zu ( p ) the term ψ w ◦ ϕ wu ( p ) can be viewed as the contribution of Ω w to θ u ( p ) , which is weighted by γ w ◦ ϕ wu ( p ) . The θ u ’s are all C ∞ ! 36

Recommend


More recommend