Etree: A Database-Oriented Method for

Generating Large Octree Meshes

¡ ¢

Tiankai Tu David R. O’Hallaron Julio C. Lopez´ £

Computer Science Department, [email protected] ¤

Computer Science Department and Electrical and Computer Engineering Department, [email protected] ¥ Electrical and Computer Engineering Department, [email protected] Carnegie Mellon University, Pittsburgh, PA, U.S.A.

ABSTRACT

¦¨§ ©      §    © !"$#%© & ' & (© )*$#%*+,**' -.© )"/)0¨§ +13254113#67 .(*8 * 9:)*© ;<& § )=>0?)@'A.!"

)"- 9:)*0B9:C)D)C3D&  §E!"(© )*$FG¦¨§ H&I*©  ©A©A J)&I*  )CH)K(8* L M- C3-L* E 0?)&N'A' )C

)" 3(© )" K8OQP- 3O© !R+- S .©  !I§  (*8 * "F@T/U* 'VOQXW¨)Y M(*(Q .(*8 EC(§  ©AP-  #Z§E' ©  ;.)C

* /§ Y[G9\"#6)+©A ]^*^ M)Y§ I)C( E)"_© `F^¦¨§^W¨Y©A)= - CIaWb)QWcC(§ ©AP=- #J*- )*9:;,=© !d.©A)*

* Y' )C;'e8'f C© !# )E" =  g§   C©A*'%; L)0h&  §Y!"(© )"ZF¨ih' © & © OY,**' -.© )"7 -!"!" M L§ g§ j3

& §)=k© D*R3lSC© ,dWgOY)*0h!* 3(©  ! ,d3OY'A.!"j)C&  § g)"7 `)" Y&I*C(§ ©   F mRn=oZp@qr"uvqZw"xr.n=n/y

1. INTRODUCTION 0B)*& ;I8OIP- O ©  !K* k- S .©A!K§ j(*8 *  F

T¡©V§ §©A @*  )"*C(§$#h&I©A & & )*OQ ,d U U7C;C3§

†

§O © C;*'g © &U-'A© )"_!"(*' 'VO‡© =,d)"' ,d @§k M ˆ

0?)@§  .(*8 * "F>¦=O M& WH©V§/'A!*U& & )*©  jWH© 'A'

‰MŠ.‹gŒ

13MŽU13134‘*25’\“ #=WH§ © C(§k& )= ' bjC)*©A=-)"- G )*89

- ‡05 MI§¢ MO M& UWH©V§_ &I*' ' I& & )©A #¨8 - 

‰:™*‹

' &” )"&I©A•WH©V§N–© C3— M- C- "˜ 3“"š ›;’?=*#

)*!*(& 6WH© ' '' W¨O 6- U© 0§g© G )"-!"§  © `@  *C"F

WH§ © C(§E © &U-'f. J )"& g §O © C;*' )C  G8O@*  );] © &I9

©  !H§ G )"' -© )"@)*0L e)*0 ©A*'  © lS3©f'=;P-© )*

¦¨§ b .(*8 ¨ )"*C(§@3] ' )"©V hH -&U8$)*0 ' )" !9\&

‰\œd‹

j§U!©fQ )"©  j)*0G§ U&  §$˜%* ›;’B(‘"š ’ ž.‘25’\“* #

C(§ )"' )"!O­  F¯®© `ªC;* *C©VXO°© +] ' )=© !¡* 

WH§ © C(§EC;. ¨D, © - *'  (.©A)* )*0§g ©A&@- 'A© )*

© CR k8 ©VI© ' - & & © !#JWH© §Ÿ!"© !d8=O= I)0j M)*9

 -'  F

†

*!*/;,**© 'A*8 ' +0?)>-  Y/§ )*- * ª)"' 'A F Y§

†L²

*& @©A& *#$&I.-@± ®¨© `7C(§  )*' )"!*O<!"!*!d

¦$(*©V© )"'h*' !*)*©V§ & H0?)v §=O © C;'$ © &U-'A© )"+.@ 9

²M³

§

8)*§Y M)*(!"*  8=WH©f=§k)U ).,=©f v§=-   ;

© !";Ÿ) - Ÿ©A¡C)*"#D* ¢§=- E§> )"8' &£ ©A¤Q©

)*0U!"© !d8O  7)¢(8=O= R)*0U0?* M+ M)(*!"/0B)*+)* 'VO­

' © & © ‡8OQ§ k © ¤R)0D§k&I© ^& & )*OF>T¡§^O)"-

†L² ²³

§

0?3W¡§ )"- *  b)0h )"' 'A FG¦JO © C;'± ® §)*- !*§9

k)"- E)0D& & )*OQO)"-‡.Y)*-@)*0D'A-C3`¥ ¦ )>© ‡)*( 

‰MŠ;™*´Ÿµ ‹

³

-  [ © 7 © & © 'A7)‡aO ©AC*'&I©Aª& & )O

)E )*'A,"K'A.!"K )"8' & # C©A=© M D* R !*©   L&U- M

‰MŠ¶"¶Kµ ‹D·VŠ¸

³ †

§)*- !*§ -  [ F 0B3bO;. b)0$ M(!" © )"Z#

)"& § );WŸ!*b*CC  b)j ,d J)*b - C)"& -  hWH©V§

µ œ*¶ µ

† ³

®± © C v§;,dK ' - & & Z# 0B)"&º¹ [°)I'  

'A!*K& & )*©  F

¶ Š µ

³

§E¹F [D#"WH©V§@&I*© @& & )*O © ¤ h)"@XO © C;*' MO M9

§

-b!")"*'S© G) C- D C© © M g* I !"©  b0f)"&¨§

& $©AC; ©A!v8O@)(h)0 &I!"© - J).,d%§b * M

- 3C)"& -©  !C G8OK *8 ' ©  !§&©)- E'A.!" †

,d3(*'SO; F Y)0hC)*- "#»¨iJ¼½  ;YC)*©A=- g)

Š;´

© &U-'f.© )" R- ©  !^§ © > `)" ª&IC3§©A F«¦¨§<8 9

)*- 8'AJ,d3O & )"§ #;WH©V§KC' )C3`(. e&@- 'V© ' ¨¾v¿D¤

© C ©A;k©A )k  K*' 'G©  -j*+)"-  -  .(* 

§ v )*&7F

© • .(*8 ‡ M- C-  < M);©)"© © `SF¬¦¨§ _©VlS9

K M )0g§ E §=O © C;'b © &U-'f.© )"/ )C  @ §  ¦¨§ © h * J  C© 8 6v(8* 39X)© ;KC(§ ©AP=-J0B)*

¡  Mv M Q)*0J§ K ©A&@- 'A© )*Q )*9 &  §>!* (.© )"$#Z§  y

8

²

C  F Q © C-'A;#%WbE  j§ >13254113#67 .(*8 * 9

7 )*© ;ª& §)=Ÿ0?)*+!* 3(©  !¢'f.!"/)C3 &  § 6 h m

)"Q ©A `FD¦¨§ KK& §)=7]= D] © M©  !k .(*8 *  5

¢ Cv;P- ©V9 C(§ ©fP- G)K -  )*¨§v

' © C;.©A)*9:  C© 4

e g

† ¨8 "#=W¨v- D§LWb' ' 9 &  J)*0e&  §k!* 3(© )"ZF 3 b j l

d f

’BS1‘*4K“¤£25411KC3§ ©AP- D)E*  © !"+;C3§7)C3(*D `= );WH š 2

- ©AP=-j`dOI§.v C)=  D©V L' )C;© )"QR © ¤"#*RWb 1 a c i k

M)*E§E)C(= © ^IW¨' 'V9:` );WH^ .(*8  M- C-  0

² x

¡¥§¦\254113F U"©V© )"$#*W¨¨§ ;,dg,d' )" ;aWb)

`= );WHE 6 0 1 2 3 4 5 6 7 8

 3W¨C(§ ©AP=- #hC;' 'A¡‘*=2:“¨¦:‘*›;’Ad‘*25’5“*¡Ÿš “¤£‘"š ©(‘*š¢¦

‘* £’?=*#§ v" =  D§  C©A*'e; v)*0J)C@&  § !" (.©A)*$F

Figure 1: Domain representation of an octree.

‰

†

' ')0$§ LC)"& )*  ' ©  g)C #[G9\ # *- )*9

‹

;,=© !d.©A)*$#¨*^' )C;'D8 *'A*C©  ! R© & 'A& ;/© 

†

^»«' ©A8 (O¢C;*' ' ;Ÿ§_1325411<š ’ ©4M‘*4 F —

' © C;.©A)*

-  v§ 0?- C© )"   ;7© +§ K@'A© 8 (O>)k&I9

 © - 'A<*ª)CQ&  §¡ M);¡)"–© `Fc¦¨§<3 h m

' © 8(Ok-)*&I© C;*' 'VOI 0B)*& ¨]= © ,dD)* © & © ¤;© )*

²³

§ §

)j© & ).,d¨-  © !©A& HU; - CL ©A ` F -G]=9

a b c i j k l

© &  j § );W §.KWH©V§ §  & §)=Z#%© (`d

™ 

*8)*- § )"-  J)!* (.vj,d3OU'A!*  ©VH' & 

 œ Šœ  ‹

‰ d e f g

¾[—WH©V§ & © ' 'A© )*7' &  )"7

)Cj&  § : preorder traversal of leafs

Š;™*´Iµ

&I*C(§ © vWH©V§7)"' O [—&I*© Y& & )*OF

™

¦ C© )" 8 ©A O ©A C-   6 © lS3h*  )"*C(§  e0B)*h!*9

œ   C© 8 U§Y3

(.©A!<)C3Y&  §  F/¦ C3©A)* Figure 2: representation of an octree.



& §)=ZF@¦ C© )"   v§ K§ @U' © 8(.OQ* 

©V C)"& )*  FŸ¦ C© )"+,**' -. ,".© )"- I  C

)*0h§jj' © 8(.ORWH©V§>*>39:8 ; ©Vj' & 

§ D  (© )"ZF

&  §Y!"();F

§

C—C)*& )" ©V© )"¨§* ‡ )," )­8¡­ -CC  M9

0?-' M(!OI0?)*H!* 3(©  !K§9X ©A&  © )" *'* * © ,d

§    )d*C(§ W¨ § U'A0H)C(= j)7)*89

2. OCTREE MESH GENERATION &  § F

· œ "¸

(*©  3(*§  (*'J' &  # FY¦¨§  )*§K&I*© / 9

Œ

)"*C(§Y-  b§D' ;.0e)C(= ¨* + ©VD' & = b©VC'VO †

c“¤£25411Ÿ‘"š d“*4(’?2BŽ C- © ,d'VO­ - 8S ©A,=©A Ÿ§ 9

·  ¸

WH©V§ )*-g0?- § ¨& )=©¢ C;.© )" # # , FJ¦%)U -!*))=

© &  © )"'e )*8 ' & )*&I*© 7© )k©A!*§;P-'e © ¤Y“¤£¦

· ™;¸

' & HP- *' ©VaO#=8)*§k& §)= GP=-©Vv§.¨§ D)C

2:‘*25 - © 'v  ©V;Ÿ )*' -© )"¡' ,d'v© RC3§© ,d; F

8¡©‘"š ‘* £31- *FG¦¨§ J© #daWb)j'A0Z)C(* J §.©A!D05CL)*

 )@XW¨)*9X ©A&  © )" *'¨ )"&I©A #J*‡*' )*!")"- ‘! *2541(1

‰/.

Œ

*Q; !" .E )k& )*K§*+aWH© CE* j'A!*E)* &I'A' ¦

‘"š d“*4(’?2BŽ C- © ,d'VOY - 8S ©A,=©A H§)*&I*© R© )U0?)*-

‹ Š

2:“¨¦102£“* 254‘’? 2 F3 )*j3] & ' "#§@)C3U© 4e©A!*-

‘!*4M‘* 25F #"v- "= E.Y* © E)+=(;Wc* /-  9

™ Š

) G)*G © M0BOE§ 9\)*9 C)* M(*© G8C;*- g§ H;!*

M(* 7§*+)C #% )IW¨WH© ' 'J- @§& WH§ ,dvWb

'  !§7)*0$57©A g0B)"-H© &  H'A!*D§ *k§H)076dF

 ;Q)7© ' ' - M(.k8 * © CIC)"C  FR¦¨§EC(§  ©AP-  Wb

 C© 8¨© @§ © h * 6!* (' ©A¤H)v*' '© &  © )* F$)*

²

 §©A b * 3;#W¨v0B)C- ¨)*Y§);W—)@!* 3(j8'f C

© & ' © C©VaO#.W¨GWH©A' ' 0?6)* 'VO)D)C3(* J*)C #"9

&  §Q§@-  § ' ;0L)C(= @©VC3' O * K' &  #

!d.('   L)*0J ©A&  © )" *' ©VaOF

Œ

WH§ © C(§RW¨WH© ' '$30?H)  D^“¤£25411 13ŽF

§

C JC* 8H (WHE©   ©VlSJ8 -6P=-© ,"'A=hW¨O F

§

C&  § L) § .,"j'A© & ©V(© )* #  C©A*' 'VO>© 7§ ©V

Š Œ

e© !"-  §).WH e§% d“ ‘*’? 41'&413132:‘*25’\“*)0*@)C"#

*8© 'A©VXO )7& )= 'GC)"& ' ]

WH§ 3b§ ¨)C3g© G=(WHE* 6U] 'A© C©VGC)"& )* © © )*

& )*< )" § © M© C;;–C3§ ©AP-  R - C(§½* >- M-C-;

™

)*0 )*& 6C(*!"- 'A.6)*&I*© $F(e© !"- § );WH hj;P- © ,*9

(§ ;=(*'Q&  §  —© ;;SF [b- ª M© 'A'5# )C

' ¨25411¨41'&41313 2:‘*25’\“ #WH§ © C(§U  © C $§ Gb©  - C;

&  § G  HY© & )*(¨C'A*  g)0%&  §  b0B)*H 9

Š

8O §R C)"& )* ©V©A)*¢© )e© !"-  F^[b)*§^  (9

' © C;.©A)* HWH©V§7 © & ' H!")"& ©  F  )*H§ j*  ' © C;9

© )" b.L- 0?-' © I©VlS=JC)*]= F* )*J]& ' "#"§

© )" #h§ I)Ck&  §  @ ),=©AI>!*))=‡C)"& )*& © 

‰  ‹

©A;K)*0h' )C;'%8 *'A*C©  ! ¦=C© )" F © g& )" MH; © ' OY]=9

8XW¨Y§  M-C-jY§& )='A© !U );W¨;F

§

'A©A;- ©  !H§ b)"&I©   (.©A)*$F j§b)*§

‰  œd‹

†

)Cb&  §C;@8GC)" M- C;8*'A C;- © ! §S#©A ;* L - C(§7 D-)9X ;, © !"© )" ¦=C© )" F * 

†

©V§ 3@©  9XC)* )*@)"- 9:)*0B9:C) & § )= F /©  9XC)*I*'V9 )*(3G(;,d ')*0Z' ;.0$)= J© b8 MG] 'A©A;E- © !

!")©V§ & *CC)*& & )= . L§)CK©A>,=©V-'%& & )O# © UaWb) .(*8  #=)"¨0?)G§g&  §E' &  #*§ g)*§

WH§ © C(§R© H*Y)" (.©  !U MO M&N& C3§ *©A & §.g8 '  0?)H§ j&  §k )=  F *—* ' ©AC© )"—)^' 'A)CQ&U- C(§_& )*7& & )O^§

©  §O ©AC*' 'VO/;,**© 'A*8 ' "FR¦¨§  ,=©V-'G& & )*O+-  § application-specific input

element

&I*© & & )Ov¡ EC© ' O8OD;©  !L©V6* eLC;C3§G0B)*6

database "   v  *CE M)*;+)"<© `#Z`d ©  !I)"' O>§EC© ,d

* b© E&I© E& & )*OF%¦¨§ © J& C(§*© &½W¨)*`= J © 'A='VO construct unbalanced balance balanced transform

octree octree § * 7*- )"&I.©AC*' 'VO# WH©V§ )*-v*OR© ,d=© )*R0B)*& etreelibrary etreelibrary etreelibrary

node *  ' © C;© )*¡ )"!(*&7F°¿v);W¨,";#H©V0j§ +*' ' )C;.;–,=©V9

database

-'g& & )*OQ05. ] C U§Y&I©A‡& & )O © ¤R* 

§ R .( *CC   Y7)* ' )C;' ©A¤;Z#H ,"7 MWg ©A! )*0b .( 8aWb>§ @© `>7§ & & )ORWH© ' 'h)CC-;#

* > 0?)&I* CU !*(* j=(* M© C;'A'VOF¦¨§=- #S©A+ (*C9 Figure 3: The etree method of generating octree

© CR©  9XC)*Y*' !")© §& Y' ©A& ©V;/)>§ k © ¤R)0D§ meshes.

&I*© Y& & )*OF

»b)"C -*' 'VO#§ © e )C  hC)"-'AK8G©A& ' & ;- © !

†

^)*-9:)*0f9:C)*Y& § )=S#G)*^§ k)*§ 3E§S#G-  @§

†

R(" ©V©A)*'g .(*8 I MO M&7F - ©AP-  `dOQC;^8

& & )O/ © C'VO‡* >C;C3§Y0B)*E§Y © `=9\ ©A E)C9

*  © !* ;Y)@;*C(§k)C(*g§.H C)= ¨§v' )C;© )*>* 

 F ¦¨§ E © ¤E)0¨§ @)C &  §Q© §=- ' © & ©V;<8O

© ¤>)*0j*Ÿ)C3(*;F–¦¨§ _§ 7)C3(* C;*Ÿ8R;

§ > © ¤>)0j§ + ©A `‡©  M"Ÿ)0j§ > © ¤+)*0§>&U-C3§

* Y41-£“*4-*7* / M)*;‡© ¢^2:‘ !©šA1Y§ EC)*  )* @)

&I*' ' K&I*© Q& & )*OF@¦¨§ C©V©AC*'J©A  - © )RC©f 

§ L)C*FG¦ ©  CH§ H M-C-('©A 0?)&I© )"I© ¨' " O

WH§ © C(§ .G)0§ g)CD §)"- 'AU8gC*C(§ ;E© U§g& &E9

C)=;7© 7§K`"O7,**' - *# § )"9:' ;.0G)C3(* #WH§ © C(§

)*OY )E§.H& )" MD .(E*CC   DC;*> ©VC'VOY"Y0f)"&

,d+0?)>§ +;,=© !d.©A)*° - )" *#vC;­8Q)" © )"' ' O

)*HWg©V)U§j&I*© R& & )OF

§

] C' - ;@0f)"&©§ ¨(8 ' "F (.© )" J)"E§g)CHC;

§

 JC;©AJ )"' -© )"@© $)L- 6§ D“*=2 ¦a“£¢¦1£“*417& “*’?2X134

8j(* 'f.;7)/P-©  #SE§ © !*§9:' ,d'%C'A.(© ,d

· ´*¸

& §)= WH§ g;C3§U©A 9:C)*H )"© J© 6&I* K)j

P- Ok'A*!"- *!"*# )U§j .(*8 "F

Œ

)"- 9:)*0B9:C)E )"© © +§ @0B)*&º)0¥¤ *’B§¦ & ‘;1U  ©3134©¨

¿v);Wb,d;#"v © C6 .(*8 * g )"*C(§U© )=-C %(*9

“£ g132§ 3Fb¦¨§ j)* (© )">)0h0?)*'A' );WH©  !kU )*©AL© >R© 9

§

)*lS F °§/)"_§ * Z#] ' © C©VQ )"© 

C)<' !")*©V§& © I(* M0?)*& Ÿ© =)^ `=©A!^*Ÿ)*lS 

†

;,d)"©A ;ZF ' '@)* (© )* /._)"/§)*- !"§°-  ©V0B)*&

)"Ÿ  ©A `^ *!*+*^§ _© ,=©  !Q§ >(Q)"8 MC;F

§

P- ©  )/§+ (8 "#HWH§ © C3§—"  I ©A& ' ©AC© XOF 

¦¨§  'A© C;.© )"> )*!*(& &@- MH&I`dj( !*&  g)

§ )§ v§* Z#S>] ' © C©V)* (© )"Q§ © M)O# - C(§+*

 -j§.D§K)*-9:)*0f9:C)*K )"©  .@)*D C;3;

Y M(C3`#$&U- M8U&I© =(©  ;>)YC)*(QWH§© C3§Q)C(*

§

(* )*& ' OR)"Q© `7 *!* F §WH© "#§ K 0?)&I*C

§;,d 8 )C  ;‡* QWH§©AC(§^§;,dU )*;FR¦¨§ © @"

²³

§

WH© ' 'e8K)"& ©  ;R8OR© ` 'ACOFg¦¨§© v& §)=Z#

²

C)*& ' ] ©VaO^)<§>*  ' © C;© )*— )*!*(*&7F _)*( I)

§ )*- !*§kC)" C - *' 'VO © & ' "#=© ¨ )¨; MOE)K©A& ' & ;F

;,d)"©A¢§ + !"© ,dQ*  C #HW¨+- +(*8 * +C(§9

†

 k§v - 'VL© H)*0B>*  ' © C;© )" 9:  C©¢ C"F

 ©AP-  * D)"@)0G§@8- © 'A©  !I8 ' )C(`= v)*0J§ "#Z*  ]= I§vC)j .(*8 0?- C© )" *' ©VaOk8OI© =)= - C© !

3. THE ETREE METHOD  3W–C3§ ©AP-  ¨§ H -  )*L)C39X' ,"'$)* (© )* F

¦¨§ 7 © !"¢!")"*'L)*0v§7R©A E)< ).,=©A7Q!"(*'

¡ C© 'VOQ!"(©  !>'A.!"I)C &  §

& §)=+0B)*@ 4. THE ETREE LIBRARY

§

)"- ^)*0RC)**F - ^*  )"*C(§¨' ,d3(*!" ¢•]=



e© !"-  §).WH §RC)*& )" = @)*0§R7' ©A8 (OF

 .(*8 * +C3§ ©AP-  I)‡"   k§ +  C©A'j ; Y)0

†

°*  ' © C;© )" CC   +§ ^' © 8(.O°§ )"- !*§½— © &E9

&  §Y!"(© )"ZF

† ²

' ^W¨'A'V9X    ' © C;© )"•ih)"!(*& & ©  ! 05C

‰ ‹

† ²

i FG¦¨§>'A© 8 (O¢©A Y© ,=©A;_© ¢§ 70B)"' ' );WH©A!‡& )= 9

œ

e© !"-  §);WH K§ )C  K)*0H!* 3(©  !+7&  §<- M9

‰ ‹

- '  ˆ  š ’?S1‘*4K“¤£254113#ZE ).Wb0?-'eC)=©  ! C(§ & )

²

©  !§ LD& § )=SF  § 3£“* 254(£2¨ M Z# I)C

‰ ‹

*  © !* `dO L)Y)C( ˜ 8 ‘*=2:“¨¦\‘*›;’Ad‘25’\“* #ek& C3§ 9

© jC)" M- C+© +§ @ *& @W¨OQ* j©  <©  9XC)*E' !")*9

‰ ‹

 © &«0?)v(;,d © !I§j)C@*- )"&I© C;' ' OS˜ C š “¤£‘"š

©V§ &7#] C L§ L©Vv© L8 -©A'VD* R M)*7)"+© `Fg¦¨§

©‘"š ‘* £’?=*#=LC3§ ©AP- J§J   6- @)Cg8'A* C©A!

C)"& )* © © )* )*0D§ 7)C3(* I>   E)*_§

‰ ‹

)" 3(© )" ˜  ¥§¦\254113#(*8 * D©A ]U M- C- 

!")"& O>) §O © C 8©  !k& )='AZFK¦¨§ K - 'Vj© 

0?)L M)*©  !IRCC  © !k)C3(* H)"> ©A `F

- =8 *'A*C;R)C"Fv3] ;# §  ©‘"š ‘ £(1K M 7C- © ,d'VO

‰ ‹ ™

C)"& )*  g*' '§ 8©A! )C( b§.¨,=© )"'AL§  9\)*9

Š

C)" M(© =-©A'h)R© ' ' !d'bC)*©V© )" j] © M;F e© ' ' O#

Œ

¢“*4 M $#&  § 9:  C©¢ C© 0B)*&I© )*> - C(§

© 7§  254‘  4.1 The etree API

† ² ²M³

§

IC;*k8 ¦¨§ D i © g©   ©V;I8O ¼v©V] '  * G§ L' & 9: )=H'A© )* § © Y* I§D)=LC))*( © 9

C;.!")©A¤;7© =)@§C'f   ˆ . g.3©A,";E0B)"&¨§ L8*'A C;k)Cv*I M)* /* Initialization and cleanup */ Application etree_t *etree_open(const char *path, int flag, ...); Etree API int etree_close(etree_t *ep);

n g /* Octant-level operations */ o r n l i e i t a o a c e t a e r c int etree_insert(etree_t *ep, location_t loc, const void *value); n t u g n o i a i c l A v L L o

a int etree_search(etree_t *ep, location_t loc, location_t *hitloc, void *value); a b n int etree_update(etree_t *ep, location_t loc, const void *value); int etree_delete(etree_t *ep, location_t loc); B-Tree int etree_append(etree_t *ep, location_t loc, void *value);

Etree library /* Octree-level operations */ typedefint decom_t(location_t loc, const void *value, void *childvalue[8]); int etree_construct(etree_t *ep, location_t rootloc, const void *rootvalue, decom_t *autodecom); Figure 4: Etree architecture. int etree_balance(etree_t *ep,decom_t *baldecom); int etree_sprout(etree_t *ep, location_t loc, const char *childvalue[8]);

int etree_initcursor(etree_t *ep, location_t loc);

†

 ’?25’5‘"š ’Až;‘*25’\“*¯‘ £šA1‘* &ˆ   C;*¯8

¢¡ int etree_getcursor(etree_t *ep, location_t *loc, void *value);

³ C;.;ª*—C'A)* ;–* R©V0K©VYWb/¡)*9

)" ; int etree_advcursor(etree_t *ep);

© .O ' "F

£2:‘*2 ¦XšA13›*1š>“ &134‘*25’\“ ˆ ¦¨§ ¡3ª ).,=©f  ¢

¤£ C)"& ' v ¨)*0e)* (© )* ¨)K&I* © - 'AL)C(*

Figure 5: Etree API.

M)*;I)"Y© `F* )g]*& ' "#= ;C(§ © !K0B)*L*k)C9

(* )I©A ©  ! < 3W«)C(*;F¦¥GC3§¢)C(* ©

"   ;+8O+*<*8 M(*CK( aO ¨§ ©  ©  #

µ

)*0H§k)C3(*@)7§ )*)"‡C)= Y© ^)(K)+© M© 9

 ™

WH§ © C(§RW¨WH© ' '%] 'f© 7© >¦ C© )" F F

!"-© §ª§+)C(*k0B)"& *O—* C M)* k§R §.+§

*& ' 0f9X' );W¨3C) ;FH¦¨§j - 'VD©A DE- ©AP=-j`dOR* M9

£25411¦:šA13›*1š “&134M‘*25’\“*(ˆ©¦¨§ © <© +§ ‡ ©A M© C© ,d

¤£

© !"& L0B)*v;*C(§>)C(*;#WH§© C3§>© L- -' ' OY0?3;7)

²

0?;.-<)*0U§<3 & §)=ZF  M"¡)*0@ - §9

· ™;¸ 

* h§jš “¤£(‘25’\“*‘*š £“¤ 1 F7)*6]*& ' "# e© !"-  § );WH

©  ! §7W¨)*`=' )d*Ÿ)/§ > 'A© C;.© )" #L§ >3

¶*¶ Š*Š;¶ Š*Š"Š 

§ );W_W¨HC)*& -¨§g' )C;© )" *'C)=  0?)¨)C9

' ©A8 (O - ) )C9:' ,d'G)" (.© )" U©VC'VOF

Š

(*%6@©  e©A!*- F¥D)*© C§.v§ -3 C)*K© +§

 )*3] & ' "#Z§ K0?- C© )"

' )C;© )**'C)=g© K§  !"- ¨© e0?)*J© ' ' - M(© )* - )* 

*- )"&I© C;' ' OYCC)"& ' ©A § g§  £“*2543£2g M Y© 

)"'VOZ˜ U' )C;.©A)*'eC)=j© M- MDU8 © .Ok M©A!F

œ

e© !"- F6¦¨§G)* 'VO©  -Z0B)"&­§ G* ' ©AC© )"@©A e 0?- C© )"7§ H§ j3'A© 8 (O7-  H)I& © 

§ );Wª)E )C  vR)C(;F e‘sleft-lower corner (2, 3)

e© !"-  @' ©A M H§ v  C©¢ C0B-  C3©A)* F  binary form (010, 011)

interleave the bits to

4.2 Linear Octree obtain Morton code ²

k)*( ¨)@&I* k*k)C)@U(*8 *  M-C-*# Wb 010 011

· ¸

- I§ IW¨'A'V9:`= );WHªš ’?S1‘*4Y“¤£2541(1RC(§ ©AP=- F ¦¨§ ©

& §)=R*  © !* DU- ©fP-v`dOI)E*C(§7' ;06)C(;Fb¦¨§ 00 11 01 `dOR C)= 8)§7§ K' )C;© )" * >§ ©A¤U)*0J§ K)C9

(*;F7T IC;*/§/- k>(*8 * k M- C- I - C(§^* append the level of e

‰  ‹

K¦ C© )" F  )@© 3]k§j`dO F

§ [G9\ 001101_11

§

C(=    ©A!* ;<`dO - © !7Y,*©A=)*0¨§@W¨'A'

µ ·VŠ¶*¸ µ

†

`= );WH ))"^C)=  F ))"^C)= k&I Kd9

© &  © )"'H )"©  )/ )* 9X© &  © )"'H C;*'A;F–¦¨§ Figure 6: Interleaving bits and appending level to

&I*  ©  !C;R8DC)"& -;IP- © C(` 'VO 8O © ' ;;,=©  !@§ obtain the locational code.

8 ©V J)*0§g8 © .O@  (© )* b)0§ gC))(© . b)0

d9X© &  ©A)*'Z )*© =;F

¦%)j© )"'A.D-  J0f)"&•§ H (*© ' G)0S§ g8 ©V9:© ' ;;, © !

* >'A,d'h  ©  ! #W¨@  K*Q8 M(*C3 .( XO  ¦¨§ D`dOI  )C©A;kWH© §Y*I)C(g© gC)"& -;  b0?)*' 9

µ

²

E§LC;78j- Y)I"   L*R)C(*;F  § ©   © ' );WH F8e©V MjWb C)"& -@§ )*)*/C)=  )*0¨§E' 0B9

œ

C)* © M b)0Z§ ®ªC))*( ©  ¨)*0$* )C3(* ! b' 0B9:' );W¨ ' );W¨DC)*L)*0e§j)C(*;Fv3] ;#=Wb* k§j' ,d'

! G' ,d'© U§g)C"#= G §);WHE© 

C) G* @§ g)C3(* y

8

e© !"- ¡,=FhT¡©V§I§ © ¨- ©AP- L`dO#dWbC;*  I*k)C(*

7 ©VC3' OF ¦¨§ 0B)*"#hWb )"' OQ M) 'A0H)C(= © <§

6 (8* *F 5

4

¡ £¢£¤ £¥   ¢§ ©   ©§¦©¨

3

     ¤ § © ¢§©  

2

  ¢§£  §

1



§ ©   ©§¦

0 x

0 1 2 3 4 5 6 7 8

 

Figure 7: Definition of § ©   © .

µ

† ))"°C)=/© R§ 

ª© & )*(7 )* aOª)0U§ Figure 9: Z-order curve through the domain.

§ U)*(3©A!R)0g' ;0g)C3(* 8* <)"Q§ ©V' )C;.©A)*'

C)=  © 7]*C3' O¡§< )*( 7(;,d 'j)*0@§ Q)C

‰\¶=Š;¶*¶"¶"¶ ¶ Š ;‹ ´

5@WH§)" ¨`d3O©A FeT/GC;*@ b0B)*& e© !"- 

´

' ;0e )= F7 )*H]& ' "#e© !"- § );WH g§ D)*( ©  !#

§. 5 ! ¨`"O ,**' - L© b§ L&I] © &U-&•*& )"!K*' '§ L`dO

™

8 ;Y)*R' )C;.©A)*'eC)= #0B)*H§ )C3j© 2e© !"-  F

‰\¶ Š*Š;¶*¶"¶ Š"Š .‹

§.L'   g§Y§ j C(§7`dO F

² ª§ / )*(  a b c d ¦¨§ © +)CC-  C/© > )*QCC©A=('5F

000000_10 000100_10 001000_10 001100_11 (;,d '\#E - 8))v© v*'VWgO D,=© ©V;7;.'A© D§

*OR)*0J©V  C* FL¿vC"#§@`"OR,**' -"#©5F "FD§

e f g h ' )C;© )**'SC)= "# )*0Z§ L - 8 g))*g© g' W¨O b'A  b§ ¦¨§0?)"#K§ /' )C;.©A)*'

001101_11 001110_11 001111_11 010000_01 § )* ^)*0 ©V Q C* F

C)= >)*0§7 - 8 7))*k© § 7' );W¨k8)*- ‡0?)k§

² + !* 3( i j k l m © ,"'$§ DC).,d H§  `dOY,**' -  F

100000_10 100100_10 101000_10 101100_10 110000_01 C; UWH§ @§ U -8K))*© Y' ;.0¨)C(;#%©V j' )C;9

© )" *'hC)= @C;>8@,=© Wb;+* D§'A);Wbj8)"-R0B)*v§

`dO+© ,**'h§.jC).,d §E )*9:] © ME›;’?4(25‘"šb -89

²

"F Ÿ)§  Wb)*( #L—.& E)4 _*Ÿ)C(*

Figure 8: Leaf octants in Figure 2 sorted according © k§v,=©V-'Z -8LWH© 'A'Z ;.C3§k§ (8* v- ©  !U

! `dO

to their locational code. ' )C;© )**'bC)=E§ j05' 'A K© <§ , ©V- *'6 - 8 

© ,"'5Fg¦=©ACj )U)C(* H© 7§ ,=©V-'$ -8C-9

*' 'VO+] © Mj© Q§U(8* *#$§@' )C;.©A)*'GC)= @§ ©

¦¨§ 3^ XW¨)¢©A& )(*+

' © C;.©A)* +)*0U§ © > )* 9

‰MŠ.‹

§ I&I.]© &@- & *& )* !+'A'¨§Y`"O K§ UR'   K§

XOª©A–§ </' © 8(.OZˆ C' - M©  !—;8Oª)C9

‰:™"‹

§ H ;.C3§I`d3OUC)  )"  J)§ H' ).Wb¨8)*-  U0?)*G§ ©

(* >)*½© `ª !" ˜  ©  !¢*­)C(*+WH©V§ )*-

© ,"'5F ¦¨§ 30?)**#W¨ /8 ' <)#  ¡*ª)C(=;#

`= );WH©  !7©V K]*CK' )C;.©A)*'¨C)=*F7¦¨§  MK*  ' © C;9

- C(§  G§ g© !"§=8)*b)C(* 5 ©A )*-G]*& 'A*#"WH©V§ )*-

© )"¡] 'A)*©V Y§ >0?*CY§I§Q )*( k(.," *')0

`= );WH©  !E©V H]*C3D' )C;.© )"'eC)= "F

§ j' ;.0J)C(*D©AY§ jC)  )" ©  !k)*&I*© R0B)"' ' ).WH 



« 3$#g § );WH_©A e© !"- F—¦ - C(§¢*_)*(3©A!

·VŠ"Š Š.™.¸

© UC;' 'A^§(¦X“*4/ 134 # #6WH§ © C(§/ j)QC'A- M

 .©A*' 'VOEC' )" D .( )"©  6©A@§ ©VG)" 39a © &  © )" *' )*9 4.3 Auto-navigation

·VŠ;œ*¸

3©A! F>¦¨§0B)*"#6W¨IC;/ M)*I§  ' ;.0H)C(* ¦¨§ <' ©A;Q)C/ © C'VOª )*'A," 7§ < )"8' & )*0U§ );W

;P- =©A'A'VOI)*k§© ` *!" H*CC)(©  !K)K§©Vg' )C;9 )/* =  E©  ©A,=©A- *'H)C(= F¢¿v);Wb,d;#b©  ) )*

).,=©AL )*!*(& & ©A!j& )='=0?)¨)CDC)* M-C© )"$F

© )" *'bC)="#hWH§©AC(§^.-('A'VOQ - 'V @©A<§  C' - M3©A!

†

)*0e ;.8=Ok)C( F 'V§)"- !*§Y©VH© g )"  © 8'A0B)*L7*  ' © C;© )*Y)UC)" M-C

*I)Cv8OE ;.;'VO ©  ©  !@*I ' ©  !)C(*

¦¨§ D C)*R 'A© C;.© )"R© g& )D -8' j* I*I© g8 M

0B)*& §Ÿ(*8 * "#U§ ¢* ' ©AC© )"¨ )"!(*& W¨)"-'A

] 'A©A;QWH©V§^/]*& ' "FI¦%)8 >§ E© !"§=8)*K)*

§;,dE)R`d C)*( @)0gWH§ © C3§^)C3(* @§ ;,dE8‡ 9

Š

§  )*-§7 ©AK)*06)C3(*%6K©  e©A!*- # W¨@*  - & §

C)*& )" ;* vWH§ © C(§K§ ;,dG)*;FZT/) "#"&IOv©  3©A)*

 ©A!*§=8)*G©A G)*0Z;P-' © ¤D* +6L*  © ,dg§L© !"§=8)* !

H© E05C¨- C  .OU8C*- H§ )* H)C(* GH'A

‰\¶"¶=Š"Š;¶*¶ Š*Š ;‹

' )C;© )**'ZC)= "# FG¦ C(§ ©  !j§ D .(*8 * 

C)"& )* ;RY& ).,dI0f)"&c§ (8* *F

WH© ' '63->)C(= #S ©ACK©  v`dO7&I.C3§ D§ ;C(§

`dOFv¦=©A& © 'A'VO#)  R§ K © !*§ 8))0+6U)*>§  )§ ¦%)Y"   L§ © v )"8 ' &7#§U )., ©A   § © !*§ 9



Š"Š ‹ ‰\¶=Š"Š¶"¶"¶

Fe¿v);Wb,d;# ;.C3§©A! ©A"#W¨G3©A,"¨g`dO ' ,d'k8 M(*C3©A)*¨)­ - )‡*- )"&I.©ACŸ)C—C)*9

§ < .(*8 * <0B)*7§© R`dO—) R )*Y-––3] C ©   F M- C3©A)*>§)"-!"§>§ 0?- C© )*QC*' '   

&IC(§U © C¨§ g© J ) -C3§@' ;0S)C(b© U§g)*&I*© $F ¦¨§ ‡-3' O ©  !_C(§  ©AP- ^© QC;*' ' ;«‘*=2:“¨¦\‘›;’Ad‘*25’\“*F

§

8 3,dL§ ¨§D3] C;I © !"§=8)g© g*C- *' 'VOk)C(* ¦¨§ I©AR)*0D*- )*9:;,=© !d.©A)*^© @8 * ; )*‡R © & '  © 9

‰MŠ;‹

F © !"§;ˆh ©  CL§D)(©  !)0$3] * ©  ! )Cv- 

C)* M- C3©A)*^© @©    )*0g§ C)*C   K)*0g§

 -' ;#§ G)Cb(;,d3 *'=' )"!"© CgC;U8bC)*- 'A0f)"&

! L' )*!"© C* I© C)* )(;k©A)K§ v3

§ v*  ' © C;© )" 4.4 Local balancing

' © 8(OF

†

^)C3Y)*8(©A;‡0fU§YC)* M-C© )"‡ M ^&U- M

™ Š

8U8 *'A*C;>)RC)*0B)*& )I§  9\)*9 C)" M(*© ;F )*

†

- )*9:;,=© !d.©A)*—© Y© & 'A& ;¢© Ÿ§>+' ©A8 (O

]*& ' "#6§ k©A©V©f'H)*&I*© _C)*& )" ©V© )"‡ § );WH_© 

§)*- !*§>  .(U M- C- jC;*' ' ;7§ E‘*›;’Ad‘*25’5“*/“¤£254113#

Š

e© !"-  ,=© )"'A. D§©A LC)* M(*© D8C;*- )C(*6@§ *

WH§ © C(§/© K* ©  9XC)* )CE§ © K O & © C;*' 'VOQ!*);WH

D© !"§=8)* 5U)*@§¨ )§KWH§)" g; !"¨ © ¤g© h0?)*-h© & 

* — - ;—© ¡§ +&I*© ¡& & )O#L* 7 §);WH–©  e© !*9

†

* h'A.!"g *6 ! F 8'A* C©A!v)* (© )"KWH© 'A'  ©A C),"h§ ©

Š;¶

²

- F K"©V© )"Z#*§b

' © C;.©A)*U ),=©A h &š ’B2525’?=

© ' 'A!d*'= M(.- hC)"& )" J)C(=$50B-§ 3%)L)"8(© 

&41 ’ £‘*2X16§ h(*`" J*E)C(b 6©A - J*U& © 

Š*Š

U' !"*'%)C3&  §R D §);WH7© 2e© !"-  F WH§ 3§ L)*L)*g§ v)C(*L § )*- 'AR8C)"& )* ;ZF

h2 h4 m

h1 h3

e g b j l d f : octants not yet processed (in memory) a c i k

: non-leaf octants being decomposed (in memory)

octants that can be : leaf octants (flushed to

flushed to the database database) Figure 11: A balanced domain decomposition.

¦¨§  3 ' ©A8 (O ).,=©A  0B-  C3©A)* C;'A'

    ¥ §   )”© )"'A. § * ' ©AC© )" 0f)"&

™ Š

§

9\)9 C)" M(*© ;F  Figure 10: Auto-navigation through an octree being §  (© 'A +)0E 0?)*C©A!¢§

constructed. M(*© !*§=0B)*W¨(«WgOc)©© & ' & ‡§ © ‡0?- C© )"«©

)Q© 3(Y§ )"-!"§¢*' 'g§ k)C(* E© ‡§ k- =8'f C

²

©V©f' ' O#=§v;,=© !d.©A)*7)CvC)" ©A M H)0%§ L))*L)C9

)CHKC3§C3`j§©VG© !"§=8)* h)j & ©  JWH§ §

(*;Fe¦¨§ g  ' ©V©  ! ;© C;.¨© 6©A=,d)*`d;j) C©A¨WH§ 

0?- § EC)"& )" ©V© )"‡© EC  .OF T/I0BE)>§ ©

²

)L)HWH©V§§J));F 0LC)"& )" ©V© )"© e;Z#© !"§

*  )"*C(§° Q"š “!©‘"š¡©‘"š ‘* £’B=*F ¦¨§ )*- !"§–C)* C -'A'VO

C(§ © 'A /)C3(* Kk*' ' )C;_ ' ©  `";Q)R§E))*

© & ' "#!*'A)*8'U8'A* C©A!—§ >aW¨)Ÿ&I a)*Q (WH8 *C(` F

- © !D)(© .Oj© 9:C)*G )"©  Fh¦¨§© e )C-G© %§ 

e©V M;#I&U-' © 'A_©V(© )* /§)*- !*§•§Ÿ )"&I©A•&IO

C)*=© =- E©AI  § 9  MJ)*( ;FhT¡§  ,d3J§H  ' ©V©A!

8I ;<)> )" *!d. § I© & *C3@)0LR© =O<)C(=;F

© C;K & ©   g§ v*7)C( ) v)*L R)

¦ C)" Z#;C3§I© !"§=8)*9  ©  !j)* (© )*IWH© ' '©  C- G§

8> C)"& )* ;Z#b§ ‡W¨>`= );W«0B)*kC(©A_§.I© I©

C)* MD)06 ;C(§ © !U§ (*8 * "F

7' ;0L)= §.UC;^8I 0?' O/ - ;<0f)"& § I;,9

© !d.©A)*¢)C3R  - §  )+§k (8 "#6aO © C;'A'VO

© /k8 - ' `>(* M0?WH©V§ )§ ' ;.0H)C(* FET—© §Q§ © Interactions between blocks

are absorbed by the octants

 §9  Mj]  © )" *< - ©  !#ZW¨ C* !*-.(* on the boundaries

§.@§I& & )*OQ;P- ©V& K)*0D>;,=© !d.©A)*‡)C Block 2 Block 4

‰\´ ‹ ‰\´¤£*‹

)*0J  § I©A L8)"- ;Y8O¡  #© 7C)*=( MD)¢

0?)I>C)"& ' I)Ck8©  !+C)" M- C‡© /§Y&I©A & & )OF

Octants in the same block are T¡©V§‡*- )*9:;,=© !d.©A)*$#b*  ' © C;© )" I' © ,d;/0f)"& stored consecutively on disk Block 1 Block 3

§ K8 - (+)0G(;,d © !R<)*-9:)*0f9XC)*U)C3@0B)*]=9 pages in Z-order

 © )"Z#WH§© C3§Y©A LUC)"& ' © C;.;RY3)*9: )* (* `F

 - § ;#$ .(*8 *  )" 3(© )" KC* 8U ©A!* ©¢ C*'VO<)* 9

‰ ‹

© & © ¤;ZF6¦ ©  C¨§H)*(3 )*(  )0 - §©  !v§L' ;.0 )C(= H© H§  & * g§ )(L© & )" R8Ok§' )C;9

© )" *'6C)= #%I 3W©' ;0b)C(*§ ©  - ;>)*l § Figure 12: Local balancing.

;,=© !d.©A)*‡)CRC*‡8k*  )+§I/)0'A'

²

)C(= § EC- 'VO> M)*;Q© Q§U(*8 * "F  T/+;,d)*©AŸ!"' )"8 *'8 *'A*C©  !^8OŸ)"© !¡š “¤£(‘*š ©‘"š ‘* £’?=*#

05C;#¨§7C)"& ' ] © XO^)*0j*—  _)* (© )*—© )" 'VO WH§ © C(§ C)* © M )*0G§E M F e©V M;#$W¨E ©V© )"<§

‰ ‹

WH§ )*'   )"&I*© ¢©A)–1-‘"š¢¦\(’ ž14©š “¤£©¦(F D]=;#¨W¨+C)*9  ©A!*§=8)* )*0P=- *'= © ¤ © G )"¨8O& )=©V0BO ©  !v§g(O

™ Š

-CJ’? 2X134(‘"š©‘"š ‘* £’?=D)H 0?)*CG§  9\)9 C)* M(©A ©  ]  H* 7*CC  ©  !I*7(OR'A& H©VC'VOF

WH©V§ © +;*C(§+8 ' )C(`SF e© 'A'VO#WbU )4©“*= d‘*4 ©‘"š ‘* £’?=

¦%)78 & )  C©¢ C*#eW¨ ©V(.E§)"-!"§ § 8 ' )C(` © !

)Y )"' ,d © (*C© )* 8aWb " M*C=K8'A)C(`= F e© !*9

· ¸

(O+' & =D8O7' & =;F% )*;*C(§+' &  ©  #$Wb

Š.™

- !"© ,d D@C)"C - *'Z,=©A3W°8)"- L§© L C(§ & "F

C(§ C(`_WH§§ 3k§>© R—)C(=R*C3§)*©  !^©V k' 0B9

' );W¨C) K. ¤ ©  * >© 0b )#ZWH§ §j©V © !"§=8)*

WH© ' 'b© !"!"3E©V K0B-§E C)*& )" ©V© )"$FQ¦¨§ 05*C3@§ 

¢¡£¡ ¡

r.q r}B xn©„h|BqZw¥¤Nt;}§¦dnu ¦¨§> © ¤+)*0@ 8 ' )C(`¢©

*k)C(=b  b)8 C)*& )" ; © bC)(;I8 - G§

‰MŠ.‹

C(§ )" E)j © M0BO §¨0?)"' ' );WH©  !@XW¨)C)*©V© )" ˆ ©Vb©

C)"& )* © © )*—©  )*I 30?)*& ¢© & & ;©A.'VOF  )Y

‰:™*‹

;P-' )§¨ © ¤H)*0S )*& g - 8¨))* ! b © ¤"˜ © J© G

C)"& )* ©A!>)C(*;#hWbk© © ©A'A© ¤k§ I.(;O/' & 

' ;* MD g'f.!" H§v'A!* ML' ;0h)C3(*H© Y§ v)*&I*© $F

C)  )" ©  !+)<©V E©A!*§ C3§© 'f=$F v)*© Ck§.E)"

T¡©V§‡§   M C)* © © )*$#G;*C(§¢8' )C3`^© E&I ;/)<

)*0$©V gC3§© 'f=I&U- Mb§ .,"L§v *& L' 0B9:' );W¨HC)* 3H*

‰

- 8 g))*;F T H*  - & ¨§H8 ' )C3`= GL*' © !"; )* 9

· ¸

©V 'V0aFJ¦¨§0?)"#"§G)*'AK © ¤¨,**' -¨ ©  WH© ' '8G).,d9

‹

'VOF T/WH© ' 'e- j§ © HC)*©V© )"7) ).,d§ jC)C9

Wg©V$Fh[GO  )"©  !j ) #dW¨L*'VW¨;O G`d U§g'A Mb)C(*

   j)*0¨§E' )C;*'G8*'A C©  !R C3§& "FUT—© §Q§ E C)" 

²

© 0B)*&I© )*>©A7§8 ' )C3`=©  !I.(OF L § )*- 'A78 )*

C)*©V© )"Z#dW¨HC; !"- (*g§ b*' '§L)C3(* G© U§

§.6 ,d('=© 3(© )" J&IO8G ; ;K)D )* *!"b§

)*&I*©  C; b© ) )"& L8 ' )C(` * U§ - G8L )C  ;ZF

© & CH)*06K©AOk)C(=;F

†

0f> )C  ©  !Ÿ*' 'j§ Q8 ' )C3`= #§<3 )*8(*©  +

™ Š

C)*& ' 7' © MR)0j)C(= § k,=©A)*'A7§  9\)*9 C)*9

²

¨3~Zxn=r~% |–„e |B~%wd}?~%ƒ%u  *'>8'A* C©A!c© — 9

M(*© +' )C;*' 'VO©ª –)Ÿ8<0?-§QC)"& )* ;ZF

0?)& ; ©š “¤£©¦ © ©š “¤£©¦F6T/(;,d v§j©Vj)*&I*© $#

¦¨§  § k*C3-*'b .(*8 I)" (.©A)* @)*0L'A3©A!+* 

)"E8 ' )C(` .KY© & "F  );*C(§/8'A)C(`#%WbU;" *' 'J§

©  © !E)C(* DjC;.© ;R)"- L©AY8.C3§Y& )="F

)C(= @§U8' )"!<)>§ Y8 ' )C3`F‡[b* ;‡)"‡§ k )*9

©V© )"ª* ¢ © ¤+© 0B)*&I© )*—© ,d;S#¨W¨+©  ©V©A*' © ¤<

†

' ) # b§g©A& H)0% )C  ©  !K;*C(§I8 ' )C(`S#"§ H)C(*

M- C3-vC*' ' ;Y§  ©š “¤£©¦’?=I‘*4(4‘ F¨¦¨§C;.(© 'A©VXOY)0

)"§ G8 ' )C(` ! e8)*-   OjbC)*(K© @L  (.¨' ©A M;F

;C3§Y© &  ©A)*I)*0Z§ .(OI©A b ¨)K8L§D © ¤)0$§

8 ' )C(`k© ,=©f ;I8=O §v © ¤j)0e§ D &I*' '  MH)C(*L© k§

)*&I*© $F

²

@q€e~%s% r.o£„e|f~ewd}B~%ƒ%u N§ © _ M $#7Wbª© 3(

§)*- !*§_§Y8)*- O^)C3(*I' ©A M;#bC3§C(` © !<;C3§_)C9

¦¨§ D8 ' )C(` © !E(OI© g©  ©V©A*' © ¤;R© I§ L0?)"' ' );WH©  !E&I9

™ Š

(* ! g ©A!*§=8)* g)E & ©  LWH§ §g§  9\)*9 C)*9

†

 3;F 8!"©  ©A!R)0¨ )C  ©  !7;C3§<8 ' )C(`S#$'A'G(O

M(*© @©A K,=© )"'A;S#6* /©V0H )#h 0B)*& ©  !+> C)*& )*9

' &  Lj 3D)E8 F¨¼D )"R;*©  !EE W–)C(=;#

©V© )"$F@®- ©A!Y*C(§ ©V(© )*$#%Y' © M)*0¨W•8)"-O

W¨<3& ©  >§ + )" ©V© )"ª)0@§Q)C3(* ! R' 0B9:' );W¨

)C(= b©A b!"(;S#=WH§ © C3§I© ¨- ;I* b§D©  -G)§

C) L'A© ,d)E§j'A30B9:' ).WbC)* 3D)0h§ jC)*(*© 9

 3] H©V(.© )"$F

©  !D8 ' )C3`Fh¦ -  )" b§b )* © © )*E© ¤ ©  3#"§ §g(O

· ¸

' &  ©  © b 3¨)@8H§ L © ¤v)0$§D)C3(*H© ,=©A;

v)j§H§)*(*'%C)" MD)*06 ;.C3§©  !I © !*§ 8) D© R§

8OI§  © ¤)*0%§ j &I*' '  ML)C(=L© R§j)*&I*© $F e© !*9

 .(*8 * b0B)*68)"-Oj8 *'A*C©  !v© e&@- C(§jC3§;* 3e§

Šœ

- §);WH @§  C)"U)0H§  8 ' )C(`=©A!Q(O^.0B

§ >C* Q)*0!"' )*8*'v8*'A C©  !‡8C*- >§> -&U8I)0

© ,=©  !E©  0?)*&I.© )"7)0e§ )C3(* H8' )" !*©  !E)@§

8)"-O/)C3(* U© @0? '   @§*/§I -&U8K)0L§

Š

' 0B9:' );W¨D8 ' )C(`Y)0e§  )"&I©AY § );WH7© 2e© !*- F )C(= H© R§©V)"&I© $F

e, 1 g, 1



qr.r.n w"x;~%n t;t+q |BqZw" |K„e |B~%wd}?~%ƒ%u T/  MK M-  O

*>©V

b, 2 d, 1 f, 1 § j'A.©A)* §©A Q8XW¨+ 8)*- OY)C(*

’?2X1343‘"š © !"§=8)* e© § G *& b8' )C3`.0BJ© '8*'V9

™ Š

*C©  !K© g 0?)& ;ZFJ¦=©  CL§  9\)*9 C)" M(© =¨©A g9

a, 2 c, 2 0?)C;_'A)C*' 'VOŸ©  ©A R§ © 8 ' )C(`#b§ 37R)" 'VO^§ 

)"  © 8'AR C.© )" 0?) § R©  *'g ©A!*§=8)* )*0*#b*

Š ‰MŠ;‹ ‰:™"‹

§ );WHY©A8e© !"- ˆ §*'V06 g'A!" *˜  L'A.!"

‰\œ"‹

* ˜ ) aWH© C* L'A!*@ *F

‰\œd‹

C;* )D)CC-;FG[bC*- §   M

Figure 13: Content of the blocking array. ¿v);Wb,d;# C © )

C)*©V© )"I© & )" U)" § g8' )C3`@ ©A¤D;P- ©V 6§.b*C(§

†

8 ' )C(`+&I* )RR - 8 U));#e§=- )C(@&U- Mj8 0f§U8 ' )C(`=©A!R.(O+©A j© © ©A'A© ¤Z#%WbUC;Q )"' ,d

‰ ‹ ™ Š

²

^ C*I)*0§©A I -87)) 8'A)C(` F —)*§ §  9:)9 C)" M(*© vWH©V§ © >§ 8 ' )C(`YWH©V§ )*-vP- O=9

W¨)( #6)C(U&U- M8I7C(§ © 'A )0H )"&  )C(=§  ©  !^§ Q(*8 * "F¨¦¨§+* )"ª© Y§ R*' '§ +© 0B)*9

‰ ‹

© @XWH©ACR U'A!*7* *FQ¿v);Wb,d;#6 ©  CR^)CR© U &I© )*7!d.(©  !k)C(* D©A+ ,=© C©  ©VaO 8 ' )C(` § *'V9

© a)"©  C)"& )* ©V©A)*>)*0h§j)*&I*© $#©Vv© H© & )"  © 8 '  ;* O78>C)*( ;>© +§8 ' )C3`=©  !k.(;OF e©  ©A!k Internal octants Internal octants in the same block not affected by the as b decomposition b b b Decompose octant b (1) (2) (3) b

Figure 14: Three scenarios for internal neighbors A tiny octant on of a boundary octant. the boundary of

another block

0?)¨)C( ¨)j§;,dL ©A *'© !"§=8)*J§.b).,d3'f

Š

§ 6!*©A)*@C),";8O ! % =;# e § );WH©  e©A!*- =F Figure 16: Scenario (1): internal neighbors not af- fected by the decomposition of the boundary oc- tant. Impossible for an octant to overlap

the region covered by b’s parent

)C(= 6§ *'V0S* 6'A!*L* ! h© '© !"§=8)*;FJ¦=©  Cb§

™ Š

9\)9 C)* M(©Ab©A G M© 'A'&I© =(©  ;S# )KC)"& )* © © )*

†

)*0 ! © 'g © !*§ 8) E© E ;;SF !"*© $#J§ I'A9 © )" § © R8XW¨Y§ v Wª8)*- Ok)C(= HI§ ©V

b b

‰:™"‹

© '$© !"§=8)* H© H C.© ) F

Internal octant Internal octant not in the same affected by the Figure 15: Scenario (3) is impossible to occur. block as b decomposition

Decompose

octant b

v);W–W¨C;> § );W°§jC)*C3   D)*06§ j' )C;'h8*'A C9 ©  !Q C3§& "FQT/k ).,d"#J8O/©  - C3©A)*‡)"^§ k=- &U83

b

)*0v©V(© )"Ÿ)*08)*-   O/8*'A C©  ! #¨§.E§ RC)"&E9

)" ©V© )" )*0L*O+8)*- OQ)C(= @WH©A' 'J )@C*- I 9 C)*& )" ©V© )" I)0j©V k©  *'H © !*§ 8) F–¦¨§.Y© #¨§

A tiny octant on

M*C=R8 ' )C(` R<*'VWgO /‘¨©¦

© (*C© )* R83aW¨–" the boundary of

©31- ‡8O/)C(= @)"^§ k8)"-©  E8XW¨_8' )C3`=

3“*4 another block

²

* QWH© ' 'b,d )" !d.k© )Y§ 8 ' )C(` F <§U0?)*' 9

' );WH©A!U ))*0a# W¨v)" 'VOIC)* ©A3g )*9\© , ©A'C;*  gWH§

U8)*- OY)C(* j ) v C)*& )" - ©  ! 7©V(9 Figure 17: Scenario (2): internal neighbors not af- © )"7)0h8)"-Ok8'f C© !F fected by the decomposition of the boundary oc-

tant.

‰

 )L§j8 jC;*  §   ML©V(© )">)068)"- .Ok8*'V9

‹

*C©  ! #e§ E'A.©A)* §©A ‡8XW¨^R8)"-O<)C(*

¦¨§ R©A -C© ,dRC; >© k M(© !"§0?)Wg(Ÿ)< ).,d"F—[b9

‰MŠ;‹

UWH©V§/©V © =3*'J ©A!*§=8)* K©A ©V§K C.© ) )*

‰:™"‹

C;- v C.©A) © b§v)"'VO )"  © 8 ' v'f.© )" §© R89

‰:™"‹

F

aWb>§ 8)*- OY)C(* jR§©Vv© 'e ©A!*§9

Š¤ ‰MŠ.‹

e© !"-  §).WH 6§.b©V0S C© ) § )*'A 60?)*G§ g8 * 

¡

8)* J0?)¨©V(© )* #dWbDC; - g§ H & D.!"-& J0B)*

C; "#d§ ¨C)*& )" ©V© )"E)0 GWH© ' ' -'VG© U0B)"- GC(§ © 'A 

§ U8* UC;* E)7 §);W©§j§E© 'J© !"§=8)* K )

)C(= L)*06P=- *'$ ©A¤) ! D© '%© !"§=8)* FH¦¨§9 ‰:™"‹

 )H k)E8j C)*& )" ;7k C.© ) WH© ' '%§ )*'A

0?)"#)jC)"& )" ©V© )" © J ;0?)* ! J© =3*'  ©A!*§9 Š

¡£¢

0?)L© 3(© )" F

§

8)* F R§ )*§D§* Z# § jaWb) C3§© 'f=7)0 j© R§

Š Š

v)K§ v©A e© !"-   ,=#Z©V© jI (WH©  !Y©V9

8)*)*&c§'V0h8C)*& v§ Wª8)"-OI)C(= gWH§)" 

05C§ v§ 25’? Y)C(*v)">§ K8)"- .O7)0¨ )*§

© 'J© !"§=8)* .U§ ©  ©A8' ©A!" )*0G§ @ *& E © ¤"F

8 ' )C(`^*  ; @)Q8k)"Y0B)"-§‡)0D§Y © ¤Y)*0D)C(*

‰:™*‹

»b)" ;P- 'VO#= C © ) © ¨§ L'A© )" § © R8XW¨

²

*F K & § K)"'VO )*  ©V(© )*_)0H8)"- .OQ8*'V9

§ >W 8)"- .O_)C(* Y*_§ ©Vk© =3*'L ©A!*§9

™ Š

*C©  !vWH© ' ' - C¨)D0B)*C¨§¨C)*  M9X8)*-   O 9:)9

‰ ‰ ‹

8)* F  )KC'A©VaO#$W¨ -  - 'A' ; WH§ ©V P-. j)

C)* M(*© ;FH[b- v© >!* ('5#§ © OR)C3(*vC*>8K9

‰ ‹

  K8)"-   .O<)C3(* U4 ' 'A  .` P-.

8 ©V(.©A'VOY &I*' '5F¨¦¨§=- # &@- 'V© ' ©V(© )* L)*068)"-O

‹

)U  H© '$)C( F

8'A* C©A!DWH© ' '=8G;j)L 0?)*Cb§ JC)"  M9:8)*- O

Š ‰:™"‹ ™ Š

†

e© !"-  , §).WH 6§.b©V0S C© ) § )*'A 60?)*G§ g8 *  9\)9 C)" M(© =;F ' )#§2543’A;134D§.GC*-  J§D 9

C; "#d§ ¨C)*& )" ©V© )"E)0 GWH© ' ' -'VG© U0B)"- GC(§ © 'A  C)*& )" ©V© )"_)*0jQ8)"- .O^)C(= YC;¢8k©V§ 3k

Š

e© !"- © O¢)C3(*k©A—* )§ Y8 ' )C(`Ÿ I § );WH¡©  An array of

pairs in ascending key order Unused space

Š

*  e© !"-  ,#g)*Y WH'VO¢!* 3(;‡©AO_8)"-O

)C(=U© /§ I *& I8 ' )C(`/ *#6)*@ § );WH‡ © C)©f' ' O

key key ¼ key ¼

3 !"- FU¦¨§U ))*0¨!*© ,d<*8).,dU© ,**' ©A>0?)*j§

© Q§ 1 2 m

!" ('%C;  v gW¨' 'e g0?)*L8)§RaO  g)0e© !"!"3 F

²

k - & &I.O#d§ D' )C;*'$8*'A C©  !U C3§& v© gC)CH89

C;- >§ 7© & *Ck8XW¨Ÿ" *CR8'A)C(`= I©A Y*'VW¨;O

‰ ‹

=O *& © C;'A'VOKC(§*!"©  ! 8)*-   O@)C9

*8 )*8;E8O§  Figure 20: B-tree index node.

(* F

[G9\ )=  L&I*  ;Y)  © `Y *!" FH[G9\ & “*’?2 ¦

† [J9:Y©  ]

4.5 B-tree 134(R.RC-' ' O^© `/ !"k=- &U83 F

 )= jC;*Y§;,dK'f.!"=- &@8g)*06 )*© =3 # © RC)"(* M

¦¨§ k[G9\I© §  & )" MK© & )*(@©  ]< M- C-  © 

)+>8 © .O  WH§Y*C(§_©  ]< )= k§ * U@& )" M

·VŠ Š Š Š ¸ Š´

 .(*8 * k*  '  MO M& #  # # , Fe© !"-

†

aWb)7 - CC  )* F KY -' ;#h[G9\E j)78EWH©A

§ );WH v§@ M-C-K)*0bk[G9\"F¦¨§E.@aWb) aO 

* Y §)*L© 7 M- C- "F

§

(.©A)* g)*RK[G9\.j  I© k - C(§RjWgO §  § ¨[G9\g M- C- ¨© J*'VWgO G8 *'A*C;SF6¦¨§.G© #,dO

… Index §Y))*I)Q§ 7' ;.0*'VWgO I§ E§ R &  nodes .§_0f)"&

… '  !§$F‡¦¨§0B)*"#G§ Y)"& ©  *U 30?)*&I Ck05C)*

… … … …

 ©A `< !"Y*CC   #J©A U*'VWgO @§I *&  0?) *' 'b§ '

Leaf ;.C3§7)* (© )* F

nodes

¡

¦ C(§ ©  !g0?)6g`dO M( %0f)"&ª§ G[G9\h))*;#WH§ © C(§



†

© K* ©  ]Q )= "F )*© =3( © j0?)*' 'A);Wb;/ - C(§<§ 

 * 

)! &% 

²

¡

F 0+ ' ;* v)k*+©  ]>)="# 

§ § 3WH©A *#= ;C(§ § H' ;0$ )= L0B)*b§

Figure 18: B-tree structure. § H )C;- "F

OIWH©V§>U&IC(§ © !U`dOI,**' -"F

)*0@ )=  R© ª‡[G9\"ˆ^§‡šA1‘ ¢Q“¤ d13 Ÿ§‡’B 1¡

²

 ©  !^Q W C)*(Ÿ© ) § 7[G9\7&IO_C;*- +

“¤d13(F–¦¨§7' ;0 )= kC)"(*© —(+) 87 ;.C3§;ZF

 ' ©VD)*0GI[G9\ )=© )EaWb) © 06§K)=© L0B- ' 'VO>)C9

¦¨§ Q M- C3-+)*0U^'A0@ )=Q© 7­.(O¡)*0C)(

C- © ;ZF•¦ © & © 'f.'VO#v ' ©  !‡/C)(—&IOŸC;- +aWb)

Š 

¡

WH©V§<§U0?)& ¤ 6£¢ ¥¤¥¦§¤ 3#Z § );WH<©A e© !"- FI¦¨§

‰ ‹

[G9\H )=  J§ g *& g' ,"' )j8H& !*;U©V0S)"L)0

©  @I M)*;/© ^ C ©  !>`d3O )(U* /*' 'G§

¶-,

†

§ U )=! j)CC- * C3O =)"  j8' ).W  F k -' ;#

`dO G©Ak' ;0% )= v© ¨ &I*' ' g§ *k*O `d3O M)*;k© I§

¶-,

 [G9\§ LE& ©A© &U- &N  *CK- © 'A© ¤;.© )"+)*0  * 

 3] H' ;.06 )= "F

., ·VŠ;´*¸

*7.,"(*!*j)*0 F

An array of records in ascending key order Unused space 5. EVALUATION … …

key data key data key data ²

1 1 2 2 n n E§© b C© )*$#W¨D  =J§ L 0B)*&I*CL,"' -© )* )*0h§j"FGT/jC)* - C;RE ©  D)0J] © &  ¨)

Pointer to next

‰MŠ.‹

² S§ JJ& § )=

leaf node * MW¨%§ h0?)*'A' );WH©  !jP- M© )" ˆ

‰:™"‹

0?* © 8 ' ¨/ ¿v);W¢) G§ ¨- ©A!v© & g,".OWH© §E§

‰\œ"‹

§O © C;*'=& & )Oj © ¤¨/ T¡§.6© e§ b© & *Ch)0S*- )*9

‰d‹

;,=© !d.©A)*/ T¡§ h© %§G© & Ch)0 ' )C;'8 *'A*C©  !¥/ Figure 19: B-tree leaf node.

5.1 Methodology

¦¨§ D© 3]I )= gC)"(*© I)"- ©A!U© 0B)*&I.©A)*k)@!"-©f 

²

 )(—)•,**' - ­§­3°& §)=c©  ½;' 9

§ K ;.C3§>0?)I!"© ,d+`dOR,"' - "F¦¨§ K M- C- @)0¨

W¨)'A° C © )#KW¨^ ,d' )* ;°½9:8 * ;–)C

¡

©  ]+ )= U© * (OQ)*0¨ *©V ¤ 6¨¢ © ¥© ¦-6£ 3#% §);WH

&  §ª!" (.)*+§.> )= - C 7_05& © ' Oª)0  ©V 'V9

™¶

©  e©A!*- FN¦¨§  <©A 7<*' )_ M)*;¡© –* M9

& ‡&  § /0?)¡¦ * )°;§ P=- *`d¢Wg;,d9

C ©  !@)*( ;FJ¦¨§  P=- Cv)*0e`dO ¨© RR©  ]I )= 

·VŠ *¸

)* !d© )*> ©A&@- 'A© )* F

‰   ‹

© ,=©A §> ;C(§—  C

 ™=Š

C).,d<8O>§. )=*F ¥GC3§<`dO+,**' -  § * K* * M9 e© !"-  - & &I.©A¤ $§bC(§(C© M© C 6)*0;*C(§U&  §$#



)C©AQ )*©A  #WH§ © C(§Q )*© = L)kI -CC  )j )=  WH§ © C(§ C)"& ©  —* ©f © C;*'>,d)*' - & –)*0# `=&10

 ¶ Š;™

§. C)*=(©  U0B-§ 3 © 0?)&I© )"Ÿ*8)*-I'A'H`d3O  `=&20 —`=&YF ±L)"-!"§' O­  ;` © !#E&  §° M03Ÿ©

  #$ 

"! &%

¡

- C(§Y§  F - EC© ' O4 E)+ )"' ,dYRWg;,d WH©V§¢7 3©A)=^)0

Š¶ ‰ œ ‹ ™ œ

C)* #%-3§    - & ©A)*<)0 &  §Q )=  j  F ¾[ ©A/§ )*( E)0 ) §)"- @*  ; K)>8

Œ

Wg;,d'A !*§ZF^¦¨§¡ gšA1 13257£¢j“¤ 13RC)"' - &  @C)*9 ; )"8 ' "F

‰ ‹

(*© +§ K)*(*'6=- &@8D)*07  ©V )C(* ' & = v* 

¦ C)" Z#g§ >).,d3(*' 'v§)*- !*§ - I©  C;  YWH©V§¡&  §

 )=  U© ‡§ Y)*&I*© $#h  C© ,d'VOF^¦¨§ š ‘›*1¤¢“¤ 13

§

© ¤"F - e© - ©V© )"© %§.e ©  CG§ JG' ©A8 (OjC*C(§ 

C)*'A-& QC)*( §U=- &@8)0¨§ @ )=  j§j ' )*9

&  §K .(D© K©  h& & )*O8-lS;#* h& )*¨(L*CC  h)

C;.;>)"Q*+; !"U)j 05CU)0¨ )*§'A& ;#WH§ © C(§

§ JC;C3§G)CC-;#§ © !"§e§ )"- !*§ -$©A %*C(§ © ,dZFh¦¨§9

© LU - 8 L)*0e§v)*('% )=  H© Y§ j&  §$F

0?)"#'A!*G&  §U!* (.© )" Gg& )¨' © `d'VO@)v8  

0B)*&­§bC;C3§©A!Fe¦¨§ b8))"&­'A© b© %§.%§G§)*- !*§9

µ

 § ¥6' &  D)= ¦ 'A;,d v)= 

- h ) h )hC;* ¨* e§ J&  § © ¤¨©  C3;*  #*WH§ © C(§

Š¶  "¶ Š;™ Š"Š´  "œd™

¦ ,=# # #

© & ' ©  D§ D§ j)*('e-  ©  ! © & K© C;*  jv& )" M

 œ"œ*¶ Š;¶ ´"´  œ  ´ ´

¦* , # =# # 

™ Š ´"œ*´ ™  ™ ™Š;œ ¶*œ "¶ œ*œ¨

' ©  ;.' OR* H§ v&  §R © ¤j©  C3;*  F

¦ # #  # #  ,#

Š Š;œ  Š;™  Š ¶ œ  Š    ´

¦ #  ,=# =# ,=#  # # ¨

¦¨§ ©V(S#d'A'§b] © &  h.¨ 0?)& ;)"@D&I*C(§ © 

Š.™´ µ

WH©V§¢)* 'VO [¨)*0D §O ©AC*'g& & )OF/¦¨§R8 - lS

™ ‡µ [LFg¦¨§=- #

Figure 21: Summary of San Fernando meshes. *' ' )C;.;—8O^§ 7>'A© 8 (O_© k)* 'VO

§ JJ& §)=© %H0B;* © 8 ' ¨ )*' -© )")D!* 3(b'A.!"

¦¨§ k&  §^!* (.© )"_ )C  U©A E © ,d^8O §Y&I.9

)Cj&  §  H)"Y& & )*O=9:' © & © I&IC3§©   F

µ

©A*'e& )= 'e ,d' )* ;78OR¿v)"'A *!*© M(*'  * +¦=,"

· ™¶*¸

®jO– ¦ *–®© !")ª¦(/¼D © ,d ©VXO FºT/ *&E9

' ;/§R&I3©f'g& )='¨*‡ M)*‡§k -'V © Ÿ 5.3 How does the running time vary with the

Œ ‘*2X134(’\‘"š

@ .(*8 * "#WH§©AC(§7W¨WH© ' 'e0?v)I* D§ physical memory size?

´ µ

d‘*2:‘¨©(‘13FG¦¨§¨ © ¤g)*0§¨&I3©f'  (8 g©A ,  [DF

T/H.g )G)* 'VO@©A M;U© U§ blSCJ)*0S& & )*O © ¤

)"¢§ 7-  ©  !<©A& >)0)"- Y& 3§ )=Z#¨8 -Y'A )^© 9

Š

²²²

T/bC)" - C3;U'A'=§ b] © &  e)" Di ¾v¿D¤g&I9

 M;I© R & ©  © !K§L-  © !K© & L)*0e3D'A.;

Š¤"¶

²

C(§ ©  gWH©V§I¼v'V( ¦»g¦ C)*=)*' 'A3H*  © `U-  ©  !

)" 3(© )" U  'A© C;.© )"9:  C© C C)"& -(.©A)*$FET 

™  Š

¥$© =-] F F ,=F¨¦¨§ + §=O © C;'v& & )O^0?)*Y§ >] ©V9

0B)*& *¢] © &  © & ©A'A.Y) §7)"+ C3©A8

Š;™*´<µ ´"´"¶<µ

&  (* !* U0f)"& [ ) [DFG[b0B)*7*C(§

© k§v ,=©A)*- ¨ C© )"$˜ W¨v!"(; § D&  §  bWH©V§

Š

] © & ;#ZW¨ ;P- =©A'A'VO< C;*/XW¨) F >¾[ '  )

§ > & +'A© 8 (O— (&  #L©5F *FA#v[G9\+8 - lSY* 

- §Y§)" (.©  ! MO M&! g8 - lSHC;*C(§ *F

8 ' )C(`=©A!^(O_ © ¤"#H] C  §. § © E© & YWb>,".©A § D*& )*- J)*0$ §O © C;*'& & )OE;,**© 'A*8'AL))" (.©A!

5.2 Is the etree method feasible? MO M&7F

¦%)D* MW¨h§©A %P-  M© )"Z#*Wbb!* (.;&  §  $)*0 ©VlS9

[b ©A  g§ D)(*'S-  ©  !© & "#W¨& * -I§v© & 

D ©A¤ * 7& ;* - ;7§ j© & P=-©V;7)k!* 3(

0?)>§ Q0?)"' ' );WH©  !—)* (© )" +)*0@)"-7&  §­!* 3()*;ˆ

§ &7F7 )*g§©A H] © & gWbjC)" !"- ;k§j §O © C;*'

‰MŠ.‹ ‰:™"‹ ‰\œd‹ Œ ‰‹

£“*2543£25# ©‘"š ‘ £(13# 254M‘* ¢“4 #  134 K* 

Š.™*´µ

& & )Oj)j8 [L#=* 3 ] ;§ g © ¤H)*0§H[G9\

‰ ‹§¦

  *(š ‘*›*13F—¦¨§ 8  ME§7)" (.© )" k.7!"(*'

´Uµ

8 - lSg© Y§vj'A© 8 (OI) [¡* § v ©A¤j)*0%§

¡)* (© )* #7©5F "F #73]C'A- ©  !½* ' ©AC© )" 9X  C©¢ C

Š¤@µ ™"™

8 ' )C(`=©A!U.(Ok) [DFe© !"-  § );WH ¨§ L'A*  ;

C)*& -(.© )"$#© 7§ jC)  )" ©  ! C)" M-C;#8 *'A*C

Wg' 'hC' )C3`R© &  H)I!"(@&  §  D)0b ©VlSv © ¤ F

œ

* 7(* M0B)*& M   C© 8;>© + C© )" F¦¨§ U)* 9

†

'V§)"- !*§k§ v& * -&  ¨v  C©¢ CL)@§ © ¨ 9

(.©A)* G*CC)"- 60?)G§b© & ¨] C- ©  !' © 8(.OUC)= g)

© C- 'A.L* ' ©AC© )"Z#§OI § );W¡§ L - 'VH)0e!" (.©A!

;,=© !d.¨* j ;C(§K§G3"F*"v-Oj© h@ 'A© C;.© )"9

H )" 9\©A,=©A*'5#.;' 9\Wb)*'A@)Cb&  §Z#* 3, © !v hL!*))=

 C©¢ CE)" (.© )"/Q*CC)"-  0B)*j§ K© & K;P-© 

©  ©AC© )"^)0LWH§§ 3K§ I& §)= © K0B;* © 8 ' k© 

)—P-O—§ <&I©A'A +(8*  ©A­*' '§ < M 7)0

& g)0e-  ©  !K©A& *Y& & )*OEP=-©V& ;F

§ K&  §>!* (.)*;F¡e©   'A;,d@© j' )R< 'A© C;.© )"9

 C©¢ CE)" (.© )"/Q*CC)"-  0B)*j§ K© & K;P-© 

µ

 § ¥6' &  ®j[— © ¤ ¦¨© &  ¦¨§  - 

³

)/C)*& - Y§ >&I M 'A;,d7'A© )* § © ¡8XW¨

‰:µ ‹ ‰ ‹ ‰ ‹

³

[ 'A&

 )=  F

™ œ  Š  Š;¶  "¶

F  F ¦ ,=#

 œ"œ*¶ ™  Š´¨ ¶ Š¶

¦* , # F

™*œ

e© !"-  §).WH h§b-  ©  !L©A& J0?)J§¨&  §@!"(9

™ Š ´*œ"´ ™  ´"œ Š *œ¨ Š Š.™œ

¦ # #   # F , #

© )"I )C  FJ¦¨§ H - 'V bL  ;E© E0B)"-b!*)*- #

Š Š;œ  Š;™   œ*¶"¶   d´ ´ Š dœ

¦ #  ,=# # # F #

)"U0?)K;*C(§ &  §ZF ¥J*C(§ !)"- <  = §U-  ©  !

© & v0?)@!"© ,d7&  §YWH©V§>©VlS=L §=O © C;'$& & )O

 !*-(.©A)*$FGT¡©V§ © >;*C(§7!)"- 7§-  ©  !U© & ©

Figure 22: Etree-based mesh generator running C)*

Š.™´Rµ [ªC;* *FT/C;Q @§.D§

time and throughput.  )&I*' © ¤;7) § 

‰ Š ,U‹

0B)*&I*CU© & )," D ' © !"§'VO '   §  * v§

§

-  Mg)*8 ,*© )"k© ¨§.¨§ L)*(*'-  © !© & L)

Š.™*´ µ ´"´*¶

§O © C;*'b& & )*O ©A¤R©  C*  U0f)"& [•)

Š ™ 

!" (. )"-'f.!" MK&  §Z#h¦ #$© * );]© &I.'VO F

µ

[DF

†

§ )*- F 'V§ )"-!"§ WbI§;,d  )>8 C(§ &I`7)>C)"& .

Š;œ 

¦¨§  !"-+' )_ §);WH Y- k§ I§ >!* ('>)* 9 )"- Y - 'V #!* (.©  !_ F & © 'A' © )"¡'A& R&  §

² Q*' '60?)"- C;*  #%§ @C)" M- C© )*Q© & U)0

SF10 SF5 SF2 SF1 C(§ ©fP-"F § j3) H)*D Y)*R§ j © ¤)0J[G9\j8 - lS

100% * ' )"!+* j§ 3E© @Y8 -lS3;#e,d<©V0H©VK©A KR &I' 'J)* "F

80% *- )*9:;,=© !d.©A)*/;P- ©V K)"' O &I*' '¨& )"-=K)0H& &E9 )*O 0?))* © =U)QC*C(§ Y§R[J9:Y)= @)"‡§ I .§ e m

i 0B)*&¨§v[G9\H))*¨ )=H)j§ H© !"§& )" Mb[G9\v' ;.0 t 60% g n

i  )= "#WH§ © C(§Y© ¨)& )*H§*kj0?W¡© ` !" F6±L;-C9 n n u R

40% ©  !E§j[G9\8 - lSH © ¤K) L )D© C;* j§j)C C)* M- C3©A)*<© & @* ' )" !R* §U8 - lS© j8©A!Y )*- !*§

20% )E§)"'AY§ © g §$F

™œ ™ 

e©A!*- )e©A!*- §  0% T/YC;*Ÿ*' ) R0B)*& 8 6 2 0 8 6 2 0 8 6 2 0 8 6 2 0

2 5 1 8 2 5 1 8 2 5 1 8 2 5 1 8

§  C)" M-C@ M ^)"' O *CC)"-= 0?) 7,d3O ©  © !* ©¢ 9 1 2 5 8 1 2 5 8 1 2 5 8 1 2 5 8

Memory size (MB) C;=b )*© )"I)0$§L)(*' -  © !© & "Fe¦¨§ © ¨© gj ))0

construct balance transform §.G§L*-)9:;,=©A!"© )"k© b,d3OUlSC© ,dv  ) b)*

query findslave  ,dv0B-§ 3D3lS)*H0?)D)* © & © ¤;© )*$F

Figure 23: Total running time vs. Physical memory 1e+06 size. sf1 sf2 sf5

sf10 *CC)*- 

(.©A)* )*0bC)" M- C;#$8'A* CI*>(* M0?)& 100000

œ*¶-,

0?)Kj&I.] ©A&@- & )0G§@)*('e-  ©  ! © & "F e© !*9

™ 

- &I*!"©¢  b§D-  © !K© & L)*0%§v!* ('$3

10000

†

)" 3(© )" H)@@'A.!"H C;' "F !d© $# § D©A b )U © !* ©¢ 9 C;=H 30?)*&I CjC(§ !** g§ j §=O © C;'Z& & )*OI © ¤

1000 ©  C*  F

Octree construction time(ms)

[b)§/  K)*0g -'   §).W §.§ E& & )O+ © ¤k)

100

 )h§;,dGH ©A!* ©¢ C*h© & Ch)"j-  © !L© & "FZT/b*' )

- CE0B)"& §   -'V K§ K§ II© U)*K'VO© !

! J©A *'C*C(§ ©  !K& C(§*© & )" §L)* (© !@ MO M& 10 1000 10000

) C3§©A,dj©V L 30?)*&I C*F B-tree buffer size(KB)

SF10 SF5 SF2 SF1 Figure 25: Octree construction time vs. B-tree buffer size (log-log scale) 100%

80% 5.5 What is the impact of local balancing?

²

@§  L] © &  hW¨ ] ;@§L*& )"-G)0S§ g §O M9 e m i t

60% © C;*'Z& & )Ok*I§ j[J9:8 - lSH © ¤* Y,*© ;k§ g n i

n

™ 

8 ' )C(`=©A!K(O © ¤"F7e© !"-  §);WH b§ HlSC3¨)*0Z' )C;' n u

R

¡ 9X] © E© U§ Y&I] © &U-&¯8' )C3`=©  !<9

40% 8'A* C©A!F¢¦¨§ 

(OR © ¤' 'A);Wb;7© R§ jj'A© 8 (OFG¦¨§ ¢9X] © g© H§

20% © & g)K8 *'A*CI)C"FJ¦¨§v(9: )*©A G ' )*; )*

Š

§  ¢9a.] ©A #Z©5F "F #¢ ¤£ #$C)  )"  )I§ UC* UWH§

0% ' )C;*' 8*'A C©  !j© G© *8' ;E* U!"' )*8*' 8*'A C©  !j© 6 9 0 2 6 8 0 2 6 8 0 2 6 8 0 2 6 8 8 1 5 2 8 1 5 2 8 1 5 2 8 1 5 2

8 5 2 1 8 5 2 1 8 5 2 1 8 5 2 1

²

0?)& ;ZF /*' 'G§E0?)"- KC;*  #GR © !* ©¢ C;@; - C© )*

Memory size (MB) © I] C-© )*I© & H© g*C(§ © ,"; 8=OU8 ' ©  !§ L8 ' )C(` © !

construct balance transform

(O7*R)"© ! 'A)C*'h8'A* C©A!FH¦¨§  ; 9:- R05C)*

´ ‰ Š;‹ ™*´ ‰ Š;¶d‹

(*!" H0B)*& ] ¦ ) ] ¦ F

Figure 24: Etree operation running time vs. Physi-

† WH§=OQ§ 3 ©A @RWH©Ak© M9

cal memory size. © & ' I*'VO © UC;^ § );W

C *CO^8XW¨^§Y   9:- ^05C)* F_¦¨§R 0B)*9

&I*C¨!"*©  )*0S' )C;'8'f C© !jC)"&  h0f)"&©aWb)*  C ˆ

© !v'A!*)*©V§ &7#d* 

5.4 What is the impact of auto-navigation? § G05* M3b.(O 9:8 * ;U© !"§=8)*9

´"´*¶/µ

²

 ) §  Y] © &  @W¨R&I" [c)*0v §O © C;*' §  )* 9\© & U(;,d 'b)0L§ )*&I*© $F <§  C; k)0

Š¶

& & )OR;,**© 'A*8'AK)E§ )" 3(©  !I MO M& * 7,".©A ¦ #¨§R © ¤7)0v§R&  §_7© &I'A'g )"-!"§_)

§ K © ¤U)0G§U[J9:@8-lSD© +§@3U' © 8(.OF e© !*9 87©V'VO_C;*C(§ ¢© ¢§R>& & )*O^8-lS;#G§ -

™

- R § );WH j§ UlSC© ,d  )*0¨§ *- )*9:;,=© !d.©A)* &U-'V©A ' Q(;,d ' R§)*- !"§¡§  )"&I*© ¡;P- ©V;¡8O 1e+08 §;,d¨*' ),"' )" ;E(8* g& 3§ )= e0B)*J)CH&  §

sf1

©Vk'A& @ )*' ,d /,=© -*' © ¤;.©A)*‡ ,=©AC F )* sf2 sf5 sf10

1e+07 ;C3§ © &  M Z#d§ H)CD&  §E )*'A,"g©V( G§)*- !*§ § v)C&  §$#=© ," L§j©  'fC& H,**' -  H0B)*

1e+06 *' & =Z0B)*&­§G(8* G )= - C;© j§ J , © )*-

© &  M Z#* )*' ,d e§ J' & 9\WH© b' ©  ;.6;P-.©A)* #"*  § R- S ¨§©  'AC& H,**' -  g© R§j .(*8 * 

100000

†

0?)H§ vC-¨© &  M ZF ' 'S© =3& ;©AO  - 'V H* 

 *' -'  h0B)*J§ ¨ © &U-'A© )"Ug M)*E* K© ,d 10000

Octree balancing time(ms)

©VC3' O^0f)"&£(*8 *  F¡¦ © & © 'A'VO#G§R,=© -'A© ¤;.© )" ,=© CKP- ©  H§ j -' v .(*8 * ) ,=©ACP=- M

1000 0?)L©A&I!" F

100 ² 1 10 100 1000 10000 100000  M©A!+P-  M© )" @§ ;,d -0?*C;‡ KWbk© =,d M© !"

Blocking array size(KB)

- C(§^(*8 * 9:)©A=/& § )= F  )U]& ' "#eWH§ 

M(!*Oª § )*- 'A—§ Q )"' ,d>")* 7)‡©V(.<§)*- !*§

§ H)Cv&  § -C3§E§ b§H'A)C*' ©VaOI)*0Z0B CvC;

/¨¦=© & ©A'A.' O#%§ );W¨ § )"-'A

Figure 26: Octree balancing time vs. Etree blocking 8 8 M@] ' )"©V; §, © - *' © ¤;© )"+ ,=© C) 89

array size (log-log scale) ©  D)*0GP- ©  H0B)*&

†

L- D§ jC)*==L'V;"=ORC;C3§; /  )*§H]*& ' 

‰ ‹

© @§);W¨)+-)"&I.© C;*' 'VO/C)*&   §  © & ; ©AO

²³

§

!"' )*8*'h8 *'A*C©  !k) )*D©  C- * ©V© )" *'h © ` FS¦=)

 -' @(*8 *  jWH§  .©f'b)j& )*('G © & © 'A©VaO

§ 'A!*j   9:- 70?*C)j© v&I*© ' O7-) §K0?* M

†

© k© C).,d; / ' 'L§ +P-  M© )* I _)/8> M-  9

(O=9:8 ;Q© !"§=8)*9 © !R'A!*)*©V§ &7#SWH§©AC(§/;,d)*©A

© ;Rk* MW¨;k80?)W¨C*I0?- ' 'VOk -  )*g-  ©  !

§ vC)" M'VOY)" (.©A)* L)*06 ;.C3§©  !U§[G9\"F

'A!*9: C;*' K §O ©AC*'Z ©A&@- 'A© )* H)"R `)" Y&I*C(§ ©   F

Š

§

Y§v)§ L§S#§  © ¤j)0e§ ¦ &  §Yv0?

† R/ -' ;#D&U-'V©A ' 

] C I§ Q+8 - lSR © ¤*F ACKNOWLEDGEMENTS

(;,d 'A >)0U!*' )"8'8*'A C©  !_;P- ©V R_ -8 M(*©A*'

§

T/ !*(.0?-' ' O C3`= );WH' ; !"¡ "*C)*8) [b© 'A*`# &I.

*& )*- K)*0H ;.;‡© `/CC   #¨ §=- 8C)*& 

¾v§.(* J*  ¥6- ©¢ "))"!¤£j© &½0?)*b,d' )" ©A!D§g)C9

§ 8)'A C(`F ¥$)C*'h8'A* C©A!I*C(§ © ,d v©V D  ; 9:-

8 ;% © J' & %& § )=j0?)h- ©  !L)"- e'A!*¨)C9

&I*© ' O@8OU(;,d © !§ L)*&I*© E)"C"#WH©V§E§ L.(;O=9

D&  §  G)*0$§ v¦*  * )¦¥b' 'A3OI©AI§ © b(* M9

8 ;R© !"§=8)*9  ©  !U*' !")©V§ & 'AO ©A! U C)"O

C;'AU!*)"-+& )*© )"Q © &U-'f.© )" .KiJ©V 8-!"§ ¦ - 9

Š

²

8 -  M© ' 'L© & )(*E)"' "F ‡05C;#b0B)*I§ 7¦ &  §$#

C)*& -© !7»b;FUT/ 'A )7§ *`+¦%)"&§ *)*( $#eiJ§©A'

§ G!"' )"8 *' 8'f C© !& § )=(;,d  e§ ¨ )"&I©A0?)*-

µ µ

§

*C3§'A© Z#¨£j© & 'A $#J¦,dE®jO#%¿)*'A *!*©A M(' "#

´

© &  Fh[G-eWb¨!"hD  ;=9:- )*0 8Oj *8 ' ©  !D8 ' )C(` © !

* ©£' £j  ' &I*Z#U)*-

(OF¦¨§U]=( 0B)*&I*CU!"*© QC;*Q8U.© 8 -

‰ ‹

@»¨*' ©V0?) ©A ¥J§ P=- *`dG»b ¦ »¥G» »b)"& &@- © XO

)U§j(O=9:8* R © !*§ 8)9  ©  !F

µ

)='A© ! ¥6=,=© )* & Kih) aC;#60?)U§©V@ -!"!* M© )"

†

* > C)*-(!"& ;F e© *' 'VO#S§ `= L) v(*   © 'A9

7'A)*- )* e0?)*J§' ©  !D- e-3 M(*

6. CONCLUSION &I*`=©=@»b§© M)"

 .©A*'(8*  FJ¦¨§ © JWb)*`Wg G  )* )*E©AU J8O

T/j0B)C- D)">§ );W­)k!* 3(K'f.!"K)CK&  §  D)*-

µ

§  v© )" *'J¦ C©A C3 )"-© )">-3j¾D(= » ¦=9

§

)*0eC)*"F - H )"' -© )"R©A g§"# U(8* 39X)© ;

*´"¶*¶¨"œ ¶=Š.™*™ ! 

* #*E© I .¨8O j!(*¨0B)*& §

& §)=v§$ *8 '  %*K*  ' © C;© )*K)H!" (.G&  §

²

'$»b) )*(© )*$F

8O>P- 3O© !Ik(8* *FvT/K© )=- CXW¨)k W­C(§9

 ©AP-  #U‘ 2:“ ¦:‘*›;’Ad‘*25’\“©* ½š “¤£‘"š ©‘"š ‘ £’?*#D0B)*R0?* M

C)* M- C3©A)*¡* ¢8 *'A*C©  !^)*0KŸ)*-9:)*0f9XC)*+)C"F References

¦¨§ b&I*© @ -'Vh0B)"&©)*-6] © &  e© h§.h§ ¨3

·VŠ3¸ Œ Œ

§

[GO==L±F # ! ¿'A'A.)"+®UF J“ &=2X134  2X1  

& §)=IC*R!* 3('A!*j)C&  §  ¨)*Y& & )*O=9

Œ@Œ ™*¶*¶"œ

g4M“*4‘ 134 L1343 &1-£25’?›*13Fgih© C9:¿' '\#

' © & © Y&I*C(§ ©  g© >@; )"8 ' K*& )*- H)*0e© & "F

· ™;¸

¦& e¿KF+&¨&š ’ £‘*25’\“*g“£¢  & ‘*25’\‘"š‘*2:‘¥ 254( £25=413

²

R - &7#=W¨§;,d & )" M(;I§.D© C)* )(©  !I]=9

Œ Œ

J“ &  2X134¨4M‘&Ž=’£©¨ ‘;1 g4M“¤£313’?/‘*   F

‰ ‹

¡ ¡

© M©  !+ .(*8 * IC3§ ©AP-  ' ©  @)CY* [G9\

Š *¶

†

© )" 9:T  ' OYiJ-8 ' © § ©  ! »b)"& O#

‰

WH©V§¢W 'A!*)*©V§ & *-)9:;,=©A!"© )"¢* _' )C;'H8*'V9

‹ ‰ ‹

*C©  ! ©AY@- ©¢ k  © !"Y C3§&  §vD& § )=

· œ.¸ µ µ

†

¦ § § ( F ¦SF #"¾v)!" F £EF -)"&I.© CG¦¨§ 9

‰

C;—'A© ,d3I W C; 8 © ' © ©  !" (.©A!/'A!*>)C

µ

§

®© &  © )**'  §/¾v (.©A)*<8O7§ e© ©  C9

‹

&  § H `)* R&I*C(§ ©  F

7¦$C3§ ©AP- "F   2X134(‘*25’5“*‘"š =“*=4(‘"š ¢“4¤¢v¦

¡

Œ œd™ Š  Š

²

134(’ £‘"š! 132BŽ“ ¤ *’? ¨=*’:1134(’?=*#,d)*'\F # ¢"©V© )"_)<§ kW¨)`¢  C© 8;_©A‡§ © * ;#¨Wb

· ¸ µ ·VŠ ¸

†

[b FA# ¥J  M© K®UF #=¾v© ' 8 F Mih).,"8 'VOU¾v))= , ¦ © ' 8 C(§¤ FA# £j)*§ ¿@F bF # ¦ -  . §*”¦SF

µ Œ Œ Š*Š µ

 §¡¾v (.©A)*$F  g4M“¤£311- *’?*+“£¢ 0.(2  & “ ¦ K‘*2:‘¨©(‘1 2X1 £“* £(1'&25#C3§ * ZF F C.¾D© ' '%¿D© 'A'

¡

Œ Œ Š 

²

’? “*£¢%“*= d‘*25’\“*¨“ £¢ J“ &=2X134  £’\13 £(13#U  $F »b)"& * ©  # C"F #§©V(Y; $F # ,

™*œ=Š¥¤ ™ Š Š *¶

F

·VŠ;´.¸§¦ ™ œ Œ

†

§

) F »DF  E(* )"& #  F  §£2:‘  ¢“*4 ‘2 ¦

¡

· ¸§¦ µ µ

 Š ¤Š ¶ Š  ´

 )*- !D®UF ieF # 'A,=© K±KF ¾@F #[b© 3&I* F [LFA# ")"§9

’ £‘*#,d)"'5F #  , # ,

†

)" bF ¦vF # ¦ *&I=6¦SF ¦SF #[G-  )"' © F ¥gF  ¥$)C;' ' O

·VŠ .¸

§

[¨*)ª¿KFA#E[b© 'A*` F # ¾v§( F # £' 'A© ,d)*`" ¥6FA#

†

±D  ¢±LC(*!"-'f.+¾D©A e©  ©V ¥6'A& ;ˆ 9

§

! ¿*' 'A)*Y®@FA#=¦ § 3W¨C(§ - ` F #v- F  ¥%!*9: C;*' 

' © C;© )*<)R»b)"& - (© )" *'7e' - ©A+®vO *& © C v* 

¦ © &U-'A© )"<)*0 ¥6'f M© CkT/.," i6)* !d© )*_© /¿D9

Œ

»b)"& -(© )**'viJ§O © C F  =“ 4(‘*š“£¢ J“ &  2:‘ ¦

µ Œ

)"!* )"- ;©A)"kih('A' '$»b)*& -3 F  J“ ¦

d™ Š¨¤¨ Š  Š

25’\“*‘"š GŽ (’£(# ,d)"'5F # #

&=2X134 132BŽ“¤ *>’?  &!&š ’\1 1-£(Ž‘*’ £Q‘* ¨=*’¦

· .¸ Œ

Š *´

T^ ! F £25411¦ ¥D‘*1- ©¢G’B ’?2X1 gšA1 132 132BŽ“¤

S1134(’?=*#

£

¢“*4 Hš ‘(25’£ 7‘›*1 g4M“& ‘;d‘*25’\“ J’B2BŽ  &!&š ’ £‘*25’\“R2:“

· ™*¶.¸kµ

*!*©A M('  ¿@F #°®;O¬¦SF #•»b'AO=)"£±FA#©¾D(;,d

µ

L‘432BŽ‘ ¦d1 b4“*= <“*25’\“ F * M ! H§  © # ®9

±KF M¦¨§ /¦ »¥G»º¦ )*-§­»¨*' ©V0?)*©A—±D0BC

.& U)0»b© ,=©A'L ¥J=,=©V)"& (*' ¥6 !*©A9

µ

¦¨§39X®v©A&  © )" *'L¦ ©A & © C ¥G' )C©VXO )=' ¥J9

µ µ Š 

©  !# »¨. !*©A ' ' )">¼D © ,d ©VaO# O

™ Œ

© )" F  ¥H š?šA1325’?_“ ¢I2BŽ 1 S13’? “"š “*’ £‘"š “¤£(13’?2 <“£¢

· ¸ Œ

Œ ™*¶*¶"¶

, £j© & ¥gF FS134M‘*£(‘*šA1 ¨4M“*= <“*25’5“* ’  š ‘*25’\“

 134(’ £‘*#®C

$’? £25411¦ ¥D‘*1-  d‘&25’B›*1 13MŽ=F_i6§$F ®UFh§9

£

© #"® e)0»b© ,=© '=*  ¥6=,=© )* & (' ¥J!"©  ©  !#

µ ™*¶"¶*œ

»¨!"©  ' ' )">¼v© ,d ©VaO# d$F

· ´.¸ µ

¦'A& )* F #vT^. F ¦SF aih('A' '5#)*-9:)*0f9XC)*

& § )= D0B)* L9X8)==O7 © &U-'A© )"ZF  ¨4“¤£(11 ’?=*E“£¢

2BŽ 1 ¨’A.Ž=2BŽ   J“* ¢13413 £(1j“* L‘4‘"š?šA1š g4M“¤£313 ¦

¡

¦ Œ Š 

’?=* ¢“*4¥ £’:13 25’ £ J“ &=25’?=*F ,

· .¸

² †

¾!"*©  © F   ¥6lSC©A,"NT^Oº) ±D 9

Œ@Œ

 "v-"= F  J“ = ’£(‘2:“*’?  “£¢E2BŽ 1  +#

™ Š;™ "¶ ¤=Š;¶ Š *´d™

,d)"'5F # ) F #  #S®C

·VŠ;¶.¸kµ µ

†

)*)*U¾@F F  C)"& -Z)©A=!*)=3©ACb .(

8 Ÿ©¡ W¯C(§ ©fP-^©A 'A‡ ;P- C© !F 

µ Š ¨ 

²

§

¦%C(§$F  $F # [ # (Wg=#S»¨* " #

·VŠ"Š3¸ µ

† †

§

 M©A F F # U¦vF ¿@F  »b'A*  @)*0H®j.(

†

¦=-C-b0B)*  )C©A.©A,"¦=;C(§ ©  ! F  ¨4“¤£(11-*’?*

Š´ Š¥¤ Š *¶

“£¢     $¦   j#* $F FdT/9

¡ ¡ £

Š *´ 

§

' ))# (© )# »¨* " #

·VŠ.™;¸

†

§

 M©A F F ¦ ©A*' "v- 3O+i6)C  ©  !>© /

§ §

8 aC9 © ;>®j(8  ¦=O M&7F  ¨4“¤£(11- *’?*

œd™ ¤=œ*œ¨

“£¢¨   j#  $F F.T/* § © !*)"j®@F »D#

¡ £

Š *´¨

·VŠ;œ.¸

*' )*- )" J»DF #"±D)* &I*@¦SF /(C(*' h0?)J¦ C)"O

£jOQ±D3©A,"'\F  ¨4“¤£(11 ’?=*k“£¢U2BŽ1 ¨’A.Ž=2BŽ

Œ Œ

   $¦   ¡¦     & “*’? “* g4(’? ¦

¡ ¡ ¡ ¡

Œ Š *´

£’ &šA13“ ¢‘*2:‘!©‘*1  *2X1    ;F

£

·VŠ¸ µ µ

§

[¨O>±F # C.»G©A!*§ ¥HF F  !d*© ¤;© )"°* 

µ

²

§

*©  CL)*0 ¥$!" (3;  © C F  §£2:‘  ¦

¡

Œ Š Š œ¤ Š;´ Š  ™

¢“*4 ‘*25’£(‘# ,d)*'5F # , # ,

·VŠ ¸ Œ

 »b)"& ¨®UF M¦¨§ D- 8©fP-© )*- b[G9X¦b"F   J“ ¦

Š*Š ™ Š.™Š¥¤ Š;œ Š  

&=25’?=  =4(›*1 *#,d)*'5F # )F # ,# "-  ,

·VŠ¤.¸

†

¾D(O F #±L-3 F 4M‘* 3‘!£25’\“ g4M“¤£(13(’? J“* ¦

Š µ

£(1'&25+‘* 1 £(Ž ’  13#LC3§ * $F F )*!"* £*- 0B9

Š d™ &I*Ri6- 8'A© § #S¦=