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@qrset"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 13MU13134*25\ #=WH§ © C(§k& )= ' bjC)*©A=-)"- G )*89 - 05 MI§¢ MO M& UWH©V§_ &I*' ' I& & )©A #¨8 - :* ' & )"&I©AWH©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 BS1*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:¨¦:*;Ad*255*¡ ¤£" ©(*¢¦ * £?=*#§ 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: Tree 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 § CC)*& )" ©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* 25F #"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 13F § 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'&413132:*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'&41313 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 £ g132§ 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 3WC3§ ©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:¨¦\*;Ad25\* #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); ?255" 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 ¦XA13*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)CC)*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:¨¦\;Ad*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*;Ad*255*/¤£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 ² @qe~%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¨W8)"-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" |Ke |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);WW¨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 ' )#§2543A;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)(&IOC;- +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^¦¨§¡ gA1 13257£¢j¤ 13RC)"' - & @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 WC(§9 ©AP- #U 2: ¦:*;Ad*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 ·V3¸ § [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(*255*" =*=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- ©¢GB ?2X1 gA1 132 132B¤ S1134(?=*# £ ¢*4 H (25£ 7*1 g4M& ;d*25\ JB2B &!& £*25\R2: · *¶.¸kµ *!*©A M(' ¿@F #°®;O¬¦SF #»b'AO=)"£±FA#©¾D(;,d µ L432B ¦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*= <*255* *25\ 134( £*#®C $? £25411¦ ¥D*1- d&25B*1 13M=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* L4"?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£¢U2B1 ¨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¦=