Semi-discrete optimal transport Aurenhammer, Hoffman, Aronov ’98 Merigot ’2010 µ = probability measure on X ν = prob. measure on finite Y = � with density, X = manifold y ∈ Y ν y δ y T − 1 ( y ) y Transport map: T : X → Y s.t. Cost function: c : X × Y → R ∀ y ∈ Y, µ ( T − 1 ( { y } )) = ν y � C c ( T ) = X c ( x, T ( x )) d µ ( x ) � = � T − 1 ( y ) c ( x, y ) d µ ( x ) in short: T # µ = ν . y Monge problem: T c ( µ, ν ) := min {C c ( T ); T # µ = ν } 5
Weighted Voronoi and Optimal Transport We assume (Twist) , i.e. c ∈ C ∞ and ∀ x ∈ X the map y ∈ Y �→ ∇ x c ( x, y ) is injective. y Y finite set, ψ : Y → R 6
Weighted Voronoi and Optimal Transport We assume (Twist) , i.e. c ∈ C ∞ and ∀ x ∈ X the map y ∈ Y �→ ∇ x c ( x, y ) is injective. y T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) Y finite set, ψ : Y → R 6
Weighted Voronoi and Optimal Transport We assume (Twist) , i.e. c ∈ C ∞ and ∀ x ∈ X the map y ∈ Y �→ ∇ x c ( x, y ) is injective. y T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) Vor ψ c ( y ) = { x ∈ R d ; T ψ c ( x ) = y } Y finite set, ψ : Y → R = generalized weighted Voronoi cell 6
Weighted Voronoi and Optimal Transport We assume (Twist) , i.e. c ∈ C ∞ and ∀ x ∈ X the map y ∈ Y �→ ∇ x c ( x, y ) is injective. y T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) Vor ψ c ( y ) = { x ∈ R d ; T ψ c ( x ) = y } Y finite set, ψ : Y → R = generalized weighted Voronoi cell NB: Under (Twist) , (Vor ψ c ( y )) y ∈ Y partitions X and T ψ c well-defined a.e. 6
Weighted Voronoi and Optimal Transport We assume (Twist) , i.e. c ∈ C ∞ and ∀ x ∈ X the map y ∈ Y �→ ∇ x c ( x, y ) is injective. y T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) Vor ψ c ( y ) = { x ∈ R d ; T ψ c ( x ) = y } Y finite set, ψ : Y → R = generalized weighted Voronoi cell NB: Under (Twist) , (Vor ψ c ( y )) y ∈ Y partitions X and T ψ c well-defined a.e. Lemma: Given a measure µ with density and ψ : Y → R , c is a c -optimal transport between µ and T ψ the map T ψ c # µ . 6
Weighted Voronoi and Optimal Transport We assume (Twist) , i.e. c ∈ C ∞ and ∀ x ∈ X the map y ∈ Y �→ ∇ x c ( x, y ) is injective. y T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) Vor ψ c ( y ) = { x ∈ R d ; T ψ c ( x ) = y } Y finite set, ψ : Y → R = generalized weighted Voronoi cell NB: Under (Twist) , (Vor ψ c ( y )) y ∈ Y partitions X and T ψ c well-defined a.e. Lemma: Given a measure µ with density and ψ : Y → R , c is a c -optimal transport between µ and T ψ the map T ψ c # µ . ◮ Note: T ψ y ∈ Y µ (Vor ψ c # µ = � c ( y )) δ y . 6
Weighted Voronoi and Optimal Transport We assume (Twist) , i.e. c ∈ C ∞ and ∀ x ∈ X the map y ∈ Y �→ ∇ x c ( x, y ) is injective. y T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) Vor ψ c ( y ) = { x ∈ R d ; T ψ c ( x ) = y } Y finite set, ψ : Y → R = generalized weighted Voronoi cell NB: Under (Twist) , (Vor ψ c ( y )) y ∈ Y partitions X and T ψ c well-defined a.e. Lemma: Given a measure µ with density and ψ : Y → R , c is a c -optimal transport between µ and T ψ the map T ψ c # µ . ◮ Note: T ψ y ∈ Y µ (Vor ψ c # µ = � c ( y )) δ y . ◮ Converse ? 6
Back to the Reflector Antenna Problem Lemma: With c ( x, y ) = − log(1 − � x | y � ) , and ψ i := log( κ i ) , κ ) = { x ∈ S 2 PI i ( � 0 , c ( x, y i ) + ψ i ≤ c ( x, y j ) + ψ j ∀ j } . y 1 P 3 µ PI 3 ( � κ ) y 2 o P 2 o P 1 y 3 7
Back to the Reflector Antenna Problem Lemma: With c ( x, y ) = − log(1 − � x | y � ) , and ψ i := log( κ i ) , κ ) = { x ∈ S 2 PI i ( � 0 , c ( x, y i ) + ψ i ≤ c ( x, y j ) + ψ j ∀ j } . y 1 P 3 Optimal transport formulation κ ) = Vor ψ ◮ PI i ( � c ( y i ) . µ PI 3 ( � κ ) y 2 ◮ T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) o P 2 o P 1 y 3 7
Back to the Reflector Antenna Problem Lemma: With c ( x, y ) = − log(1 − � x | y � ) , and ψ i := log( κ i ) , κ ) = { x ∈ S 2 PI i ( � 0 , c ( x, y i ) + ψ i ≤ c ( x, y j ) + ψ j ∀ j } . y 1 P 3 Optimal transport formulation κ ) = Vor ψ ◮ PI i ( � c ( y i ) . µ PI 3 ( � κ ) y 2 ◮ T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) o P 2 o P 1 y 3 c is a c -optimal transport between µ and T ψ The map T ψ c # µ . 7
Back to the Reflector Antenna Problem Lemma: With c ( x, y ) = − log(1 − � x | y � ) , and ψ i := log( κ i ) , κ ) = { x ∈ S 2 PI i ( � 0 , c ( x, y i ) + ψ i ≤ c ( x, y j ) + ψ j ∀ j } . y 1 P 3 Optimal transport formulation κ ) = Vor ψ ◮ PI i ( � c ( y i ) . µ PI 3 ( � κ ) y 2 ◮ T ψ c ( x ) = arg min y ∈ Y c ( x, y ) + ψ ( y ) o P 2 o P 1 y 3 c is a c -optimal transport between µ and T ψ The map T ψ c # µ . Problem (FF): Find ψ 1 , . . . , ψ N such that T ψ c # µ = ν . 7
Supporting paraboloids algorithm’ 99 Cafarelli-Kochengin-Oliker’99: coordinate-wise ascent, with minimum increment 8
Supporting paraboloids algorithm’ 99 Cafarelli-Kochengin-Oliker’99: coordinate-wise ascent, with minimum increment Initialization: Fix y 0 ∈ Y , let δ = ε/N and compute ψ s.t. µ (Vor ψ ∀ y ∈ Y \ { y 0 } , c ( p )) ≤ ν y + δ While ∃ y � = y 0 such that µ (Vor ψ c ( y )) ≤ ν y − δ , do: decrease ψ ( y ) s.t. µ (Vor ψ c ( y )) ∈ [ ν y , ν y + δ ] , Result: ψ s.t. for all y , | µ (Vor ψ c ( y )) − ν y | ≤ ε . 8
Supporting paraboloids algorithm’ 99 Cafarelli-Kochengin-Oliker’99: coordinate-wise ascent, with minimum increment Initialization: Fix y 0 ∈ Y , let δ = ε/N and compute ψ s.t. µ (Vor ψ ∀ y ∈ Y \ { y 0 } , c ( p )) ≤ ν y + δ While ∃ y � = y 0 such that µ (Vor ψ c ( y )) ≤ ν y − δ , do: decrease ψ ( y ) s.t. µ (Vor ψ c ( y )) ∈ [ ν y , ν y + δ ] , Result: ψ s.t. for all y , | µ (Vor ψ c ( y )) − ν y | ≤ ε . 8
Supporting paraboloids algorithm’ 99 Cafarelli-Kochengin-Oliker’99: coordinate-wise ascent, with minimum increment Initialization: Fix y 0 ∈ Y , let δ = ε/N and compute ψ s.t. µ (Vor ψ ∀ y ∈ Y \ { y 0 } , c ( p )) ≤ ν y + δ While ∃ y � = y 0 such that µ (Vor ψ c ( y )) ≤ ν y − δ , do: decrease ψ ( y ) s.t. µ (Vor ψ c ( y )) ∈ [ ν y , ν y + δ ] , Result: ψ s.t. for all y , | µ (Vor ψ c ( y )) − ν y | ≤ ε . ◮ Complexity of SP: N 2 /ε steps 8
Supporting paraboloids algorithm’ 99 Cafarelli-Kochengin-Oliker’99: coordinate-wise ascent, with minimum increment Initialization: Fix y 0 ∈ Y , let δ = ε/N and compute ψ s.t. µ (Vor ψ ∀ y ∈ Y \ { y 0 } , c ( p )) ≤ ν y + δ While ∃ y � = y 0 such that µ (Vor ψ c ( y )) ≤ ν y − δ , do: decrease ψ ( y ) s.t. µ (Vor ψ c ( y )) ∈ [ ν y , ν y + δ ] , Result: ψ s.t. for all y , | µ (Vor ψ c ( y )) − ν y | ≤ ε . ◮ Complexity of SP: N 2 /ε steps ◮ Generalization of Oliker–Prussner in R 2 with c ( x, y ) = � x − y � 2 8
Supporting paraboloids algorithm’ 99 Cafarelli-Kochengin-Oliker’99: coordinate-wise ascent, with minimum increment Initialization: Fix y 0 ∈ Y , let δ = ε/N and compute ψ s.t. µ (Vor ψ ∀ y ∈ Y \ { y 0 } , c ( p )) ≤ ν y + δ While ∃ y � = y 0 such that µ (Vor ψ c ( y )) ≤ ν y − δ , do: decrease ψ ( y ) s.t. µ (Vor ψ c ( y )) ∈ [ ν y , ν y + δ ] , Result: ψ s.t. for all y , | µ (Vor ψ c ( y )) − ν y | ≤ ε . ◮ Complexity of SP: N 2 /ε steps ◮ Generalization of Oliker–Prussner in R 2 with c ( x, y ) = � x − y � 2 ◮ Generalization: MTW + costs Kitagawa ’12 8
Concave maximization κ solves (FF) iff � Theorem: � ψ = log( � κ ) maximizes � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i with c ( x, y ) = − log(1 − � x | y � ) . Aurenhammer, Hoffman, Aronov ’98 9
Concave maximization κ solves (FF) iff � Theorem: � ψ = log( � κ ) maximizes � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i with c ( x, y ) = − log(1 − � x | y � ) . Aurenhammer, Hoffman, Aronov ’98 ◮ A consequence of Kantorovich duality. 9
Proof of concave maximization thm 10
Proof of concave maximization thm Supdifferentials. Let Φ : R d → R and λ ∈ R d . ◮ ∂ + Φ( λ ) = { v ∈ R d , ∀ µ ∈ R d } . Φ( µ ) ≤ Φ( λ ) + � µ − λ | v � 10
Proof of concave maximization thm Supdifferentials. Let Φ : R d → R and λ ∈ R d . ◮ ∂ + Φ( λ ) = { v ∈ R d , ∀ µ ∈ R d } . Φ( µ ) ≤ Φ( λ ) + � µ − λ | v � ◮ Φ concave ⇔ ∀ λ ∈ R d ∂ + Φ( λ ) � = ∅ . ◮ In this case : ∂ + Φ( λ ) = {∇ Φ( λ ) } a.e. ◮ λ maximum of Φ ⇔ 0 ∈ ∂ + Φ( λ ) 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i For all ϕ ∈ R d min 1 ≤ i ≤ N [ c ( x, y i ) + ϕ i ] ≤ [ c ( x, y T ψ ( x ) ) + ϕ T ψ ( x ) ] 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i T ψ ( x ) = i ⇔ x ∈ Vor ψ c ( y i ) For all ϕ ∈ R d min 1 ≤ i ≤ N [ c ( x, y i ) + ϕ i ] ≤ [ c ( x, y T ψ ( x ) ) + ϕ T ψ ( x ) ] 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i T ψ ( x ) = i ⇔ x ∈ Vor ψ c ( y i ) For all ϕ ∈ R d min 1 ≤ i ≤ N [ c ( x, y i ) + ϕ i ] ≤ [ c ( x, y T ψ ( x ) ) + ϕ T ψ ( x ) ] ≤ [ c ( x, y T ψ ( x ) ) + ψ T ψ ( x ) ] + ϕ T ψ ( x ) − ψ T ψ ( x ) 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i T ψ ( x ) = i ⇔ x ∈ Vor ψ c ( y i ) For all ϕ ∈ R d min 1 ≤ i ≤ N [ c ( x, y i ) + ϕ i ] ≤ [ c ( x, y T ψ ( x ) ) + ϕ T ψ ( x ) ] ≤ [ c ( x, y T ψ ( x ) ) + ψ T ψ ( x ) ] + ϕ T ψ ( x ) − ψ T ψ ( x ) � S d − 1 Φ( ϕ ) + � i ϕ i ν i Φ( ψ ) + � i ψ i ν i � S d − 1 ϕ T ψ ( x ) − ψ T ψ ( x ) d µ ( x ) 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i T ψ ( x ) = i ⇔ x ∈ Vor ψ c ( y i ) � S d − 1 ϕ T ψ ( x ) − ψ T ψ ( x ) d µ ( x ) − � Φ( ψ ) − Φ( ϕ ) ≤ i ( ϕ i − ψ i ) ν i 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i T ψ ( x ) = i ⇔ x ∈ Vor ψ c ( y i ) � S d − 1 ϕ T ψ ( x ) − ψ T ψ ( x ) d µ ( x ) − � Φ( ψ ) − Φ( ϕ ) ≤ i ( ϕ i − ψ i ) ν i �� � � ≤ d µ ( x ) − ν i ( ϕ i − ψ i ) Vor ψ c ( y i ) 1 ≤ i ≤ N 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i T ψ ( x ) = i ⇔ x ∈ Vor ψ c ( y i ) � S d − 1 ϕ T ψ ( x ) − ψ T ψ ( x ) d µ ( x ) − � Φ( ψ ) − Φ( ϕ ) ≤ i ( ϕ i − ψ i ) ν i �� � � ≤ d µ ( x ) − ν i ( ϕ i − ψ i ) Vor ψ c ( y i ) 1 ≤ i ≤ N = � D Φ( ψ ) | ϕ − ψ � � � µ (Vor ψ with D Φ( ψ ) = c ( y i )) − ν i 10
Proof of concave maximization thm � Φ( ψ ) := � c ( y i ) [ c ( x, y i ) + ψ i ] d µ ( x ) − � i ψ i ν i Vor ψ i � S d − 1 min 1 ≤ i ≤ N [ c ( x, y i ) + ψ i ] d µ ( x ) − � = i ψ i ν i T ψ ( x ) = i ⇔ x ∈ Vor ψ c ( y i ) � S d − 1 ϕ T ψ ( x ) − ψ T ψ ( x ) d µ ( x ) − � Φ( ψ ) − Φ( ϕ ) ≤ i ( ϕ i − ψ i ) ν i �� � � ≤ d µ ( x ) − ν i ( ϕ i − ψ i ) Vor ψ c ( y i ) 1 ≤ i ≤ N = � D Φ( ψ ) | ϕ − ψ � � � µ (Vor ψ with D Φ( ψ ) = c ( y i )) − ν i ◮ D Φ( ψ ) ∈ ∂ + Φ( λ ) ⇒ Φ concave. ◮ D Φ( ψ ) depends continuously on ψ ⇒ Φ of class C 1 . ◮ ψ maximum of Φ ⇔ µ (Vor ψ c ( y i )) = ν i ∀ i 10
2. Implementation 11
Implementation of Convex Programming ( − Φ ) ◮ Quasi-Newton scheme: Computation of descent direction / time step LBFGS: low-storage version of the BFGS quasi-Newton scheme 12
Implementation of Convex Programming ( − Φ ) ◮ Quasi-Newton scheme: Computation of descent direction / time step LBFGS: low-storage version of the BFGS quasi-Newton scheme � c ( p ) d µ ( x ) Vor ψ ◮ Evaluation of Φ and ∇ Φ : � c ( y ) c ( x, y ) d µ ( x ) Vor ψ Main difficulty: computation of Vor ψ c ( y ) 12
Implementation of Convex Programming ( − Φ ) ◮ Quasi-Newton scheme: Computation of descent direction / time step LBFGS: low-storage version of the BFGS quasi-Newton scheme � c ( p ) d µ ( x ) Vor ψ ◮ Evaluation of Φ and ∇ Φ : � c ( y ) c ( x, y ) d µ ( x ) Vor ψ Main difficulty: computation of Vor ψ c ( y ) 12
Computation of the generalized Voronoi cells Definition: Given P = { p i } 1 ≤ i ≤ N ⊆ R d and ( ω i ) 1 ≤ i ≤ N ∈ R N P ( p i ) := { x ∈ R d ; i = arg min j � x − p j � 2 + ω j } Pow ω 13
Computation of the generalized Voronoi cells Definition: Given P = { p i } 1 ≤ i ≤ N ⊆ R d and ( ω i ) 1 ≤ i ≤ N ∈ R N P ( p i ) := { x ∈ R d ; i = arg min j � x − p j � 2 + ω j } Pow ω ◮ Efficient computation of (Pow ω P ( p i )) i using CGAL ( d = 2 , 3 ) 13
Computation of the generalized Voronoi cells Definition: Given P = { p i } 1 ≤ i ≤ N ⊆ R d and ( ω i ) 1 ≤ i ≤ N ∈ R N P ( p i ) := { x ∈ R d ; i = arg min j � x − p j � 2 + ω j } Pow ω ◮ Efficient computation of (Pow ω P ( p i )) i using CGAL ( d = 2 , 3 ) 2 κ j � 2 − Lemma: With � κ ) , p i := − y j 2 κ j and ω i := −� y j 1 ψ = log( � κ j , Vor ψ c ( y i ) = Pow ω P ( p i ) ∩ S 2 13
Computation of the generalized Voronoi cells Definition: Given P = { p i } 1 ≤ i ≤ N ⊆ R d and ( ω i ) 1 ≤ i ≤ N ∈ R N P ( p i ) := { x ∈ R d ; i = arg min j � x − p j � 2 + ω j } Pow ω ◮ Efficient computation of (Pow ω P ( p i )) i using CGAL ( d = 2 , 3 ) 2 κ j � 2 − Lemma: With � κ ) , p i := − y j 2 κ j and ω i := −� y j 1 ψ = log( � κ j , Vor ψ c ( y i ) = Pow ω P ( p i ) ∩ S 2 Proof: x ∈ Vor ψ c ( y i ) ⊆ S 2 o κ j ⇐ ⇒ i ∈ arg min j 1 −� x | y j � 13
Computation of the generalized Voronoi cells Definition: Given P = { p i } 1 ≤ i ≤ N ⊆ R d and ( ω i ) 1 ≤ i ≤ N ∈ R N P ( p i ) := { x ∈ R d ; i = arg min j � x − p j � 2 + ω j } Pow ω ◮ Efficient computation of (Pow ω P ( p i )) i using CGAL ( d = 2 , 3 ) 2 κ j � 2 − Lemma: With � κ ) , p i := − y j 2 κ j and ω i := −� y j 1 ψ = log( � κ j , Vor ψ c ( y i ) = Pow ω P ( p i ) ∩ S 2 Proof: x ∈ Vor ψ c ( y i ) ⊆ S 2 o κ j ⇐ ⇒ i ∈ arg min j 1 −� x | y j � ⇒ i ∈ arg min j � x | y j 1 ⇐ κ j � − κ j 13
Computation of the generalized Voronoi cells Definition: Given P = { p i } 1 ≤ i ≤ N ⊆ R d and ( ω i ) 1 ≤ i ≤ N ∈ R N P ( p i ) := { x ∈ R d ; i = arg min j � x − p j � 2 + ω j } Pow ω ◮ Efficient computation of (Pow ω P ( p i )) i using CGAL ( d = 2 , 3 ) 2 κ j � 2 − Lemma: With � κ ) , p i := − y j 2 κ j and ω i := −� y j 1 ψ = log( � κ j , Vor ψ c ( y i ) = Pow ω P ( p i ) ∩ S 2 Proof: x ∈ Vor ψ c ( y i ) ⊆ S 2 o κ j ⇐ ⇒ i ∈ arg min j 1 −� x | y j � ⇒ i ∈ arg min j � x | y j 1 ⇐ κ j � − κ j 2 κ j � 2 − � y j 2 κ j � 2 − y j 1 ⇐ ⇒ i ∈ arg min j � x + κ j − p j ω j 13
Computation of the generalized Voronoi cells Definition: Given P = { p i } 1 ≤ i ≤ N ⊆ R d and ( ω i ) 1 ≤ i ≤ N ∈ R N P ( p i ) := { x ∈ R d ; i = arg min j � x − p j � 2 + ω j } Pow ω ◮ Efficient computation of (Pow ω P ( p i )) i using CGAL ( d = 2 , 3 ) 2 κ j � 2 − Lemma: With � κ ) , p i := − y j 2 κ j and ω i := −� y j 1 ψ = log( � κ j , Vor ψ c ( y i ) = Pow ω P ( p i ) ∩ S 2 Proof: x ∈ Vor ψ c ( y i ) ⊆ S 2 o κ j ⇐ ⇒ i ∈ arg min j 1 −� x | y j � ⇒ i ∈ arg min j � x | y j 1 ⇐ κ j � − κ j 2 κ j � 2 − � y j 2 κ j � 2 − y j 1 ⇐ ⇒ i ∈ arg min j � x + κ j − p j ω j ⇒ x ∈ Pow ω P ( p i ) ∩ S 2 ⇐ 13
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. 14
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. ◮ boundary representation: a family of oriented cycles composed of circular arcs per cell. 14
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. ◮ boundary representation: a family of oriented cycles composed of circular arcs per cell. ◮ lower complexity bound: Ω( N log N ) . 14
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. ◮ boundary representation: a family of oriented cycles composed of circular arcs per cell. ◮ lower complexity bound: Ω( N log N ) . Algorithm: for each cell C i = Pow ω P ( p i ) ∩ S 2 14
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. ◮ boundary representation: a family of oriented cycles composed of circular arcs per cell. ◮ lower complexity bound: Ω( N log N ) . Algorithm: for each cell C i = Pow ω P ( p i ) ∩ S 2 1. Compute implicitely the intersection between every edge of C i and S 2 . Set vertices V := { } . 14
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. ◮ boundary representation: a family of oriented cycles composed of circular arcs per cell. ◮ lower complexity bound: Ω( N log N ) . Algorithm: for each cell C i = Pow ω P ( p i ) ∩ S 2 1. Compute implicitely the intersection between every edge of C i and S 2 . Set vertices V := { } . 2. Scan the edges of every 2 -facet in clockwise order and construct oriented edges E between vertices. 14
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. ◮ boundary representation: a family of oriented cycles composed of circular arcs per cell. ◮ lower complexity bound: Ω( N log N ) . Algorithm: for each cell C i = Pow ω P ( p i ) ∩ S 2 1. Compute implicitely the intersection between every edge of C i and S 2 . Set vertices V := { } . 2. Scan the edges of every 2 -facet in clockwise order and construct oriented edges E between vertices. 3. Extract oriented cycles from G = ( V , E ) . 14
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. ◮ boundary representation: a family of oriented cycles composed of circular arcs per cell. ◮ lower complexity bound: Ω( N log N ) . Algorithm: for each cell C i = Pow ω P ( p i ) ∩ S 2 1. Compute implicitely the intersection between every edge of C i and S 2 . Set vertices V := { } . 2. Scan the edges of every 2 -facet in clockwise order and construct oriented edges E between vertices. 3. Extract oriented cycles from G = ( V , E ) . 4. Handle circular arcs without vertex separately. 14
Computation of the generalized Voronoi cells P ( p i ) ∩ S 2 can ◮ in general, the cells C i := Pow ω be disconnected, have holes, etc. ◮ boundary representation: a family of oriented cycles composed of circular arcs per cell. ◮ lower complexity bound: Ω( N log N ) . Algorithm: for each cell C i = Pow ω P ( p i ) ∩ S 2 1. Compute implicitely the intersection between every edge of C i and S 2 . Set vertices V := { } . 2. Scan the edges of every 2 -facet in clockwise order and construct oriented edges E between vertices. 3. Extract oriented cycles from G = ( V , E ) . 4. Handle circular arcs without vertex separately. Complexity: O( N log N + C ) where C = complexity of the Power diagram. 14
Numerical results (1) ν = � N i =1 ν i δ x i obtained by discretizing a picture of G. Monge. µ = uniform measure on half-sphere S 2 N = 1000 + drawing of (Vor ψ c ( y i )) (on S 2 + ) for ψ = 0 15
Numerical results (1) ν = � N i =1 ν i δ x i obtained by discretizing a picture of G. Monge. µ = uniform measure on half-sphere S 2 N = 1000 + drawing of (Vor ψ c ( y i )) (on S 2 + ) for ψ sol 15
Numerical results (1) ν = � N i =1 ν i δ x i obtained by discretizing a picture of G. Monge. µ = uniform measure on half-sphere S 2 N = 1000 + rendering of the image reflected at infinity (using LuxRender) 15
Numerical results (2) ν = � N i =1 ν i δ x i obtained by discretizing a picture of G. Monge. µ = uniform measure on half-sphere S 2 N = 15000 + drawing of (Vor ψ c ( y i )) (on S 2 + ) for ψ sol 16
Numerical results (2) ν = � N i =1 ν i δ x i obtained by discretizing a picture of G. Monge. µ = uniform measure on half-sphere S 2 N = 15000 + solution to the far-field reflector problem: R ( κ sol ) 16
Numerical results (2) ν = � N i =1 ν i δ x i obtained by discretizing a picture of G. Monge. µ = uniform measure on half-sphere S 2 N = 15000 + rendering of the image reflected at infinity (using LuxRender) 16
3. Complexity of paraboloid intersection 17
Complexity of the paraboloid intersection (PI) Theorem: For N paraboloids, the complexity of the diagram (PI i ( � κ )) 1 ≤ i ≤ N is O ( N ) . 18
Complexity of the paraboloid intersection (PI) Theorem: For N paraboloids, the complexity of the diagram (PI i ( � κ )) 1 ≤ i ≤ N is O ( N ) . Complexity: E + F + V , where E = # edges V = # vertices F = total # of connected components 18
Complexity of the paraboloid intersection (PI) Theorem: For N paraboloids, the complexity of the diagram (PI i ( � κ )) 1 ≤ i ≤ N is O ( N ) . Proof: ◮ F ≤ N 18
Complexity of the paraboloid intersection (PI) Theorem: For N paraboloids, the complexity of the diagram (PI i ( � κ )) 1 ≤ i ≤ N is O ( N ) . Proof: Lemma: The projection of ∂P i ∩ P j onto the plane { y ⊥ i } is a disc. ◮ F ≤ N { y i } ⊥ P j P 3 { y 3 } ⊥ R ( � κ ) ∩ ∂P 3 ( κ 3 ) PI 3 ( � κ ) o P 2 o P 1 P i 18
Complexity of the paraboloid intersection (PI) Theorem: For N paraboloids, the complexity of the diagram (PI i ( � κ )) 1 ≤ i ≤ N is O ( N ) . Proof: Lemma: The projection of ∂P i ∩ P j onto the plane { y ⊥ i } is a disc. ◮ F ≤ N { y i } ⊥ P j P 3 { y 3 } ⊥ R ( � κ ) ∩ ∂P 3 ( κ 3 ) PI 3 ( � κ ) o P 2 o P 1 P i κ ) ∩ ∂P i on { y i } ⊥ is convex ⇒ the projection of R ( � = 18
Complexity of the paraboloid intersection (PI) Theorem: For N paraboloids, the complexity of the diagram (PI i ( � κ )) 1 ≤ i ≤ N is O ( N ) . Proof: Lemma: The projection of ∂P i ∩ P j onto the plane { y ⊥ i } is a disc. ◮ F ≤ N { y i } ⊥ P j P 3 { y 3 } ⊥ R ( � κ ) ∩ ∂P 3 ( κ 3 ) PI 3 ( � κ ) o P 2 o P 1 P i κ ) ∩ ∂P i on { y i } ⊥ is convex ⇒ the projection of R ( � = = ⇒ PI i ( � κ ) is connected. 18
Complexity of the paraboloid intersection (PI) Theorem: For N paraboloids, the complexity of the diagram (PI i ( � κ )) 1 ≤ i ≤ N is O ( N ) . Proof: ◮ F ≤ N ◮ Every vertex has 3 edges ⇒ 3 V ≤ 2 E . 18
Complexity of the paraboloid intersection (PI) Theorem: For N paraboloids, the complexity of the diagram (PI i ( � κ )) 1 ≤ i ≤ N is O ( N ) . Proof: ◮ F ≤ N ◮ Every vertex has 3 edges ⇒ 3 V ≤ 2 E . ◮ Euler’s formula V − E + F = 2 implies V ≤ 2 F − 4 and E ≤ 3 F − 6 . 18
Complexity of PI computation: lower bound Proposition: Computing (PI i ( � κ )) i requires at least Ω( N log N ) operations. 19
Complexity of PI computation: lower bound Proposition: Computing (PI i ( � κ )) i requires at least Ω( N log N ) operations. Proof: reduction to a sorting problem 19
Complexity of PI computation: lower bound Proposition: Computing (PI i ( � κ )) i requires at least Ω( N log N ) operations. Proof: reduction to a sorting problem t i ◮ Let t 1 , . . . , t N ∈ R 19
Complexity of PI computation: lower bound Proposition: Computing (PI i ( � κ )) i requires at least Ω( N log N ) operations. Proof: reduction to a sorting problem t i ◮ Let t 1 , . . . , t N ∈ R ◮ y i = ϕ ( t i ) ∈ S 2 and κ i = cste . ϕ y i 19
Complexity of PI computation: lower bound Proposition: Computing (PI i ( � κ )) i requires at least Ω( N log N ) operations. Proof: reduction to a sorting problem t i ◮ Let t 1 , . . . , t N ∈ R ◮ y i = ϕ ( t i ) ∈ S 2 and κ i = cste . ϕ κ ) = Pow ω P ( − y i ) ∩ S 2 ◮ PI i ( � with p i = − y i and ω i = cste . p i y i 19
Complexity of PI computation: lower bound Proposition: Computing (PI i ( � κ )) i requires at least Ω( N log N ) operations. Proof: reduction to a sorting problem t i ◮ Let t 1 , . . . , t N ∈ R ◮ y i = ϕ ( t i ) ∈ S 2 and κ i = cste . ϕ κ ) = Pow ω P ( − y i ) ∩ S 2 ◮ PI i ( � with p i = − y i and ω i = cste . p i y i 19
Recommend
More recommend