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 12/*#3 © ./4.56§ 87:9<;77:%=> -,$? @A.$© B 0()§!.+ 85C.$D*#-"/

./3@A.$5C@AE.F.EG() §4"/!,© .$&HJIK3!D( © L©# BM© .8( $ L$L.EG.18 -,$? F N3 E:3!F O 5C.$(P*#*

.E./ :,© ./! Q?RFS3 :R!© !"§  -,$? $ /HUT03! WV¨.X -,$? $ E:§! ©#S3  ¨YZ§!*#© !BQS+3 / +$ [§!\]@^

.©# !_)$ ) N.`§ a.E,+ 6.$X !© bHcT0a©#.+ 3 EUdV=.WV¨. VJE:§! ©#S3  'Ye$3!.B2+© "f-©#.$F )* .EB$*g?*#$ E©#!"

.h/ +  =§!K  E©#*i!B ).$5j() §)"/ ,-©#.$&H]kc* ©#()©  R 2$$* 3-© ./X 3 "/"$ N ¨§-¨§ a`()§ .+ )© 6GlgE© 2f

V6R>.5m"/!,©  " 2f:RF*#"$h.E() §! hn

{F\6x:H |[}+~ih€‚„ƒ/ K€i†/‡-}+}0ˆM}ƒB‰]Šj}+‡-}}Š'‹CŒŽj}+  €i†/‡-}+}Š'j‡€4&‘&ŒC’!‡BŒC€mŠm‹C€i†/‹¨“„ ‹Cj†fŒŽj’jŠ]”•‡-}+}

1. INTRODUCTION ( $b/a©t= ./  © ? * `. N.`*#"$Q() §! ].$ E./+2f© ./ $*

!© b+ Hm¯j-"/`( $© G()().$R)E$ E©t©  `E$F .2+©# !K5C@

5ŽE© 2f>EB$E,§  X5C.$ § > !,1 N.B J./° !© bH±™` 4© !@

¦¨§ © D© $L_E©t©#!"w()./()5Ž.D§ X() §O"/ ,-©#.$

EB B ›NŸ/I²§!./3!"/§! 3!( $bf ©tD .$  ©#?!* [.M N$(

E.$()(3 !©tdRHa–Q© bFEB $E© WRw© Q_ * .+ !© !"G > !© Eh 

*#"$ $()./3! K.$5¨ -,X© .[()().R>-Q, Q§  !@

? ©tU© a * 3 ()()© !"!%VU©t§F"/© "/$?R+ U.$5' N.$,"/B2/© *—? * 

!./$E,§F( $© G()().$RD, N5C`,- H

5Ž.˜3  !QD§ ./3! $ 8 ./* *# H™¨a§  $()©#()$%g( @

3!wš`™`›W–œ !© bE,§ !./* ./"Rž$"$"$"/ [?.$§s N.$,"/

«K.BV=2fB%/© m© m !©t³)E3!*tm.K©#() !* ()'$./3!@A.5C@AE.$U !@

$ >›Ÿ/I ? VU©# +§F.G .2+©# !§+3  B  `.5="$© "f$?R+

!./$E,§> !3!K.§!˜© "/3 *#-© WRF 3!K.$5'()./ NU() §  H

.,?R 6.$5„5Ž$ N` N.$,$"$˜5Ž.$a.$ *tR  U.$5j§ ./3! $ !

¬ .3 -*tR%f§ a © () * © E©tdRX / !$ !,? © * ©tdR).5j§ a.E@

.$5& ./* *# H]¦mR © EB*š`™`›d–s›NŸ/Is§!./3!"/§! 3!anNuBy$zh{F\6Ÿ ,x

8 N3 E3w"/© 2f G3 [ .$()w§ ./ w§-GV=ME$ž³D@

© [ © ()© *#F.OdR !©#E$*Q( ©#s()().$RL§!./3!"/§! 3!MnNuB¡$¡

E© *tRX N.$$ X© 2f˜.E:˜() §[ N.B [.$> !© bH

{F\6Ÿ- ,x[¢ u:£^H4™a5—DRB- .5K N,"/-© ./&%=–Qš`™Q{P !© E

§B2f * 3 ()() i%i5C./(¥¤q/¡/Ÿ/{F\¦.[*#  § $4¤u-Ÿ/{F\a%

›d˜§!©# j $ :B%V==  j§!Q7:9<;7,7:%f` !,?$ :@W.© B

VU©t§G( © )()().$R ©#§ ¨./)WR! !© EB$* NR N() ]©#!EB ©#!"

()§!.+ 5C.$m"/!,© !"˜*—-"/6.$3!@A.$5—@WE.$6.E6() §  H

?RF>.$, K.5'( $"$ ©t3 ˜.2/`§!˜  NK 2/,$*iRB H

¦¨§ KbfR)©# !h© ¨._+ ,? KE,§  ©#S3  =. 3! !@

™` >.$5¨E./3! $%c¨¨k'©ª  B 8E./© 3! K.[ !./3!? * 2fR

.$j() §˜"/ ,-©#.$&H„T1]3! m§!U´ µŽ¶g7·$;¨¸¹ ·/º$9<;77=E,§!@

uBz˜().$+§! %$VU©t§)E* .E,b, ].-2fau`rK«K§6§!6 .$(F%f$

 ©#S3 h.F$  © "$1.FBE:§M.E,$hG3! ©#S3 b/Rw§!@

yDrK«`§˜( $E,§ ©   UB2$$© *#$?!*#$H

E.+  `©t a* .EB© ./M$ [ © §/%g [ N.§!˜.E,$ a© w

V¨*#*t@Ab+ .BVU ,? [ N3 E:3!)Y»§ F¼a½A9<;77:H4›d4.$@ ¦¨§  XE,§ !./* ./"R1 !  3 "$"/ NDF"/..+ O./ ! .$3 !©tdR

!:K.X/ !   a§   E©#$*c!B >.$5m.Eh() §>"/ @ .)_ * .$© a.$3!@A.$5—@WE.$˜E,§  ©#S3  U5C.$`() §F"$ ,-© ./&H

© .$&%V¨ !2f* ./ dV=.D VsE:§! ©#S3  ]Y¾·$¹+9A¿)¶·$ÀBµ#Áf·$½ ¬ Nm¨¨k'©K c !.-2+©# !'§ ]E./() !3!,© .$$*f§./3!"/§ !3!&.

9<µ^¿$¶0$ 4´ ¿B·/´'÷/´ ·¶ÂµŽ¶ÁG.G 3! .$K.E@A* 2f*c./ @ EB-$ ­!Q§ ˜() §iHm®'_ !*#.+ ©  " !© b EB $E© © 

© .$ H˜™a* *j§  E.$() ./ + `© () * ()B G©#F§! ©t§ ( $EE.$()().+ - j§ ].E]©#§ aÀBµŽ;,9<¹ ·$´ )7 )¿$;¡ $%

7:9<;77 ´ µ^Ã;·$;¡ HD™aM !*#© EB-© ./0EBM© +2f.$bfD* ©#?,R $1./ ,-©#!"F NR N( 5<E© * © WRM§  $? *  0$ ! * © EB@

5Ž3! E© .$GEB* *# 6.h( $ © !3 *#`$G.EQ() § N.B G.$ © ./D.*#* .EB-K(h3 E,§h().a()().$R˜§DVU§- m §R N@

!© bH]¦¨§ ˜˜*#© ?,R>3!.$( © EB$* *tRG 5Ž.() a:_!@ © EB$* *tRB2/©#*#? * /HL¦¨§ G2+© 3 $*6()().R03!  § X §R N@

© 2fK.$ !© ()© §B© .$X.© () !.-2fU§ U3 ! ©  "˜© ()K D@ © EB$*a()().R4³)E© *tRL?+RO©  "0©tX GMEB$E,§ [5C.$

!3!E § G !© b0›Ÿ$IhH]IK3!h_ © ()  §!.-V §hVU©t§ $8$   K  E N.$B >./8 ©# b%b/ © !")./ *tRF§!$E@

§ aa()§!.+ i%©t=,bf =$?./3Uyp v§ .$3! m."$ :, © 2f`B 6©# !§+R © EB*()().$RHj¦¨§ © 6()E,§ © ( V¨.$b+

D2fRX*#"$˜­ ©t˜* ()+U.E:() §0n'o!p q rQ\JVU©t§ © * * R°$ J$3./( -©#E$* *tR%6VU© §!./3[R°© 2f© ./

uBq+p vQ()©#* * © ./)* ()+ ,xj.$)K( E:§!©#!=VU©t§D./!*tRGuBy$z{F\ 5C.$( §!F$ ! * © EB© .$ ./"$,(FH4«K.BV¨2fB%m©t5K§ G$* * .$@

§R © EB$*i()().RH EB-B h2+©t3*()().$RQ5Ž'_EB ! „§!= §R © EB$*+()().R

$ 8§!D -,[EE   h)!.$˜* .EB* ©#§B i%' 2/D NV6 !@

¢

E© ./ yO?!© ¤£!R !© E3!  FdV¨.° !©tlgFV¨R! >.5D"$!@

© !"1.$5Q -,M?WV¨4§ [ !© bL$ 4§![()().R0VU© *#*

¢

,-©#!"O.Ew() §! H E© ./JqO ! E© ?>§ >:

.EE3B%fVU§ © E,§&%+© 3&%fVU© * *§+3!'§ 6 :5Ž.$(  Ea.$5§!

¢

()§!.+ iH E© ./8oG   K§ § h* © ?!,-R8$

© !@AE.G* "/.$©t§!( © "/!©t­EB+*tRH8¦¨§!5Ž./%]$O© !@AE.

¢

©t )E./() .$  H E© ./¦¥w2$$* 3- )2/-© ./3   E

$* "$.$©t§ ( © U !,$E:©#E$* *tRF()().R@A?.$3  gH

.$5c§!˜˜* © ?!,-R[VU©t§>$>:@A? B G­!©t˜* ()

¢

() §G"/!,.BH E© ./FvE./!E* 3  U./3!UV=.$bH

™`O.$3!@A.$5—@AE.$G()§ .+ g%].$O§ X.$§ :D§ g%]3!  h§!

()().R0 © E*tR4$ )>EBE:§!G5C.$D§!G © b+@^ ©# D.E@  H`¦¨§!h © §.$5m§ .E() §>© `§+3! ` © b+@A?.$3 

2. OCTREE MESH GENERATION ©  NB$ F.$5m()().R@A?.$3  gH]¦¨§ E©t© EB$*„©  3!h© U.G @

E©# !˜VU§!©#E,§> -K.5'§ .E § .$3 *# [?EB$E,§  F©#F§!

™` .E˜$* "/.©t§ ( ¢ y-£E3! © 2f*tR 3!?g !© 2+©—  6 !.$?!@

()().RF . §K()./ NQ , EE   EB8 !©tE*tR>B$

* ( !.$( $© F© .D© "/§`BS3$*& © §.E,$ a3 © *&E:,$© 

5C.$(².$aV6©tQ.§ Q()().$RH

 .$*#3© ./1* 2/*c© ˜$E,§ © 2f iH¬„© "/3Guh© ˜$8.E) @

E.$() ./ ©t© ./0.5aGdV=.$@W !© ()! ©#.$*= ./( $© iHwn^¬ .$E.$!@

IK mEB !©# !m ./* 3!© ./h© &.a3 '§ `¿$¹+9^½d¿¨:½d¿$;7¿$µŽ¶!9W7:;

2f!©  E$%$V=63 ¨.EU$ .E,$c.a5Ž'.˜S3 / 

()§!.+ M¢ -£^% § U© %$E,§[© !@AE.˜ ./© a©# U(  B .

$ [S3$ ,+B%+  E© 2f*tR[© [§!© 6 $ :BH x

$w.$3!@A.$5—@WE.$ ./© Q© F§ 5Ž.( .5ºµ ¨·BÁ7¶ ¹ D½

Ã,7:; ¿ ! 7:9¨":H4¦¨§ X./ ,-© ./L.$5U5Ž.$*#* .BVU©  "O> .$©#© 

$>© @WE.$$* "/.©t§ ( ©# U,$! N5Ž.()B G.) b+©  "XF.$l@

˜.$1G !© b> "/$ >© 2f§  , ./?#NEBHD¦¨§! $ ! * © EB© .$X ./",$() m § ./3!*# ( bfU, "$()'.!@

h m 3!w§-F§ 8./3@A.$5C@AE.1 .$©# [M .$[ EB:B

,$ !.$()* R[./8 !© bF $"$ HI`§!VU© /%§  5Ž.( $!E *#!ERH6¦¨§!© K()§!.+ i%

a b c i j k l VU© * *„? !./()©  B [?R[ !© bX›Ÿ/I

§ .$3 "$§XE./ E !3 $* *tR) © () * /%+© ¨ .¨B NRD.©#() !* ()BH ™` X§!K 3 *ta© U.$5C>$ ! * © EB© ./@A  E©t­E/H d e f g : preorder traversal of leafs

3. THE ETREE METHOD

Figure 1: decomposition of a domain. ¦¨§ F ! © "/"/./$*a.$5K§!F[©# D.M !.-2+©# !F8"/!,$*

()§!.+ w5C.$h³)E© *tR8"/!,©  ">*#-"/ .E)() §!

./3.$56E./HFIK3!$ ! !./$E,§0© .[*#2f,$"$X$ 8_+

›dF§!B .$5]() §F"$ ,-© ./&%i.ED !E./() .$ © © .$

-,$? $ OE,§  ©#S3  w.ž$ +  8§!4  E©#$*D!B .5

§ [?ž0 3 EE  N5Ž3 *˜ N,-"$R°5Ž.$["/!,© !"L§@

() §)"$ ,-© ./&Hm™a ¨Q 3!* B% !*#© EB-© ./ =EB$ ( $!© !@

!© ()! © ./*¨3 ! N3 E3B 1() §! H8›dO ,$E© E/%'§!

3 *#-Q$ .EK() §)?RD © () !* R)S+3!R©  "Q§ ` -,$? $ 

dV=.G ©tlg`V¨R! K.$5m3 ©  " § .ED -,) N3 E@

©  NB$ [.$5„E:§ $ ©  "D§!Q ./©  H

3!$H8IK )V6R1©# .FV6- 4§!)* B5`.E,$ .w./?!,© 

,§ B +,$*+* () ¨¢ q!%-o/£^H„¦¨§ ¨.§ cV¨BR© „.`3 ]§!

¬„© "/3[y[ §!.BVU §!) !.E  .$5U"$ :,©  "wF() §M3 N@

* B5j.E,$ 6 =­!©t`* ()+ = !©tE*tRDVU©t§!./3!=5Ž3!§!

©  "§ a`()§ .+ gHc›d)§ h¿$¶ 9<;,¹!Â9¨ N i%  .E

().+ !©t­ EB© ./ž¢ ¥%'v-£^HO¦j.w! 3!X"/..+ 4* ()DS3 $* ©tdR%

© ˜E./! N3 E w© w§ h $()hV¨R8$ ˜© 1M© @WE.$D* "/.$@

?.$§h()§ .+  jBS3 ©t=§ c§!=.E6?QÃ,·$´ ·$¶Â,7º$%f§ 

©t§ (F%!_E a§ a©tK© a? 3!©#*t`$ [ N.$ F./w !© bH6¦¨§!

© %cdV=.8* B-5a.E,$  §© !"M[5Ž$EX.$$O !"/G !.

!E./() .$ © © .$ ).$5`§ F.E:,$ >   !D.$L§!

().$Q§ $FWVU©#Eh K*#"$h.K ( * *=n¨§½^9A¿/½ ©[¿$¶ 9<;·µŽ¶ 9Nx:H

"/./()R>. §R © E Q?©  "X().+ !*# iH¦¨§  3 *t˜© 

›dL§ ©  B%6V¨F5C.E3 X./J§!.BV .1"/!,81() §

3 +? $*#$!EB [.E/H%$K:_B%§  ÷/´ ·¶Â,7 N FE3! © 2f*tR

§-Q3!  K§ * B5=.E,$ ˜ ©tE*tRw$ K* () %VU§ © E,§

!E./() .$  c$* *f§!`n

V¨QVU© * *&:5Ža.D K0¿BÂ9<;77 )7 H

E.$ N,$© `3 © *j .©#* * "/$*cE.$ !©t© ./! K_© NBH6¬„©  $* *tR%© 

™`.E=() §EBh?]E./! N3 EB  ?$*# EB 3 © !" § D9<;N·$¶ &¿; N &% () §!@A  E© ­ EQ© !5C.$( © .$> 3 E,§>$

©t§ :]© @WE.$6.$]./3@A.$5C@AE.6()§ .+  Hc™aD© !@AE.$U* "/.$@ § * ()@A .+ !*#© ./! § © O 8§!D .+  '&E..$, © @

- ma !:©#2/B 5—./( § 6? $*#$!EB .E/%+$  N.$

© FdV=.G !,?$  %g./ ˜5C.$K§!() §F* () %$ [§! Application

.$§!U5Ž.a§!˜() §X .+ ! H Etree API

n g e o r application-specific input n l i e i t r a o a c t t element a e c n d u g n o i a i database a l A v L L u a a q b n construct unbalanced balance balanced transform octree octree etreelibrary etreelibrary etreelibrary B- node database Etree library

Figure 2: Etree method of generating octree

meshes. Figure 3: Etree architecture.

¨=./!E 3$* *tR%f 3!E:§` .E  mEB$h?6©#() !* ()B QVU©t§ 3! ©#S3 )bfR8EBO?

[,/ ©t©#.$*6 -,$?  NR! N(FH>™ 4.1 The etree API

$  © "$ B G.hB$E,§X.E,$6§-U E.+ ! ¨§!K* .EB© .$>$

¦¨§ G ( $* *a™Kk'›h.5K§!GF* ©#?,R4© ) § .BVUL© J¬„© "$@

© §>.$5˜$°.E:,$BH ¦¨§ L§ F.E:,$ )EB$°?[B

3!ho!HD¦¨§ )™`km›a© ˜©#!  ©tB w?Rw©K ©t_>­ *#h›Ÿ$I $ wEB

$ G;7¿$;º F$ 0 N.$B 4© O9A·fô#7G§ DE.$  .$ ! h.

?˜EB-"/.©#§B F© +.h§!QE*—   H

¢

§ a.E$H ©  EU§ U N3!E3!,*©#5Ž.( © ./ © ¨* / R

!E.+ !B >© >§ bfR>2$$* 3!/%§ © +:$*j.E,$ %gVU§ © E,§

2fw5Ž.>§ wB2+© "f-©#.$ !3! ./ $%KEB±?8./ © ./* * R

›d!© ©#*#© §B-© ./ $ E*#$+3 ¦ ™` ¦E$œ?

_E* 3 B h5—./( § ¨,? * /HmIK ,-© ./ m./D§!6.EUEB

./ !B Ÿ-EB-B ž$ JE*#.$ B $ [©t5©tGV=0s.$@

¡£¢¥¤

?˜,$! *—-B F. S3!©  %gD§ © "$§!@A* 2f*j !E*#-,© 2f

!© -R ­* /H

S3 RX*#$!"/3 $"/$% .§!˜ -,$? /H

IKE,$@A* 2f*./ ,-©#.$ §¦ ¦¨§!°° !.-2+©# ! 0

«K.BV=2fB%iV¨D.$? 2/§-Q§ D 3!E:§M[ ©tE -,$? $ 

E./() !* K ¨.$5„.$ ,© .$ ¨.( $ © !3 *#a.E,$

$ ! !./$E,§>©#.+ 3 E U,/ @A.$lg H`IKF§!˜./ § g%_+@

N.$B ./G !© bH'¬ .6_!$() !* /%+ BE,§ © !"5C.$a$X.E@

* © E©t ./© )E,§ ©  "0© B2f./©# B iH™`* *U./ :,© ./! 

,$). ©#! ©  "1M :V².E,$BH°®]E:§.E,$)©

!.$ §!.$3 "/§w3! ©t5Ž.( S3 :©# `.)§ h -,$? /%gVU§ © E,§

/ !   B w?Rw$M$?! N,$E !,)dR    %

/ ! ! ] ©#() !* ©#E© WRHmIK)§ a.$§!¨§ $ g%$ _ * © E©t6.$ ,@

¢

VU§ © E,§[V¨QVU© * *j_ !*—© F©  E© ./FoH yH

© ./>§!©# N.R% 3 E,§w$ KD N,$E,b%§ `.)?( $© ,$©   [.

bf w,E:b>.5]VU§!© E:§8.E,$ ˜§ -2/h?M .E  B 8$

IKE@A* 2f*Q./ ,-© ./ §¦J¦¨§ © F© [§!1 ©# N© !E© 2f

VU§ © E,§F§B2fK .$BH]¦¨§!©# a$ ! UE.$() * _©tdR).§!˜$ ! * © EB@

5ŽB-3!M.$5§!M:1()§!.+ iH ›d N/ s.$5h 3! §!@

© ./F ./",$(FH

©  "1§!FV¨.$b+* .f$ °.0§ > !*#© EB-© ./ %a§ >:

›d ., !1.±B2f.$©# §!4 "/© 2fJ  EB%DV=3! L§!

* ©#?,R1 3 . .E@A* 2f*]./ ,-© ./  !©tE*tRH

-,$? $ ¨E,§ !©—S3!¨$ '.$ ¨.5§ =?!3 © *# !©  "K? * .E:b+ c© h§!

¬ .$:_ () * /%i§ 5Ž3 !E© ./MEB$* *   

$%m$ 0:_ M§!)E.$G -,$? X5C3 !E© ./* © WR0?R

$3./( © EB* * RGEE./() !* ©# §! 6§ )¿$¶ 9<;:¹!Â96 N G© 

© .+ !3 E©#!"F :VªE,§ !©#S+3! Q§- 3 ..E@A* 2f*

¬„© "/3!hyH¨¦¨§!˜./ *tRG©  365C.$( §!$ ! * © EB© ./>©

./ :,© ./! H

Q5Ž3 !E© ./D§ m§ UU* © ?!,RDEB$)3! U. @ ()©  Q§!.-Vž.D .E  a$[.E,$BH

4. THE ETREE LIBRARY

¦¨§ © U™`km›m$* * .BVU U3  ¨.( $!©# !3 *#a.EK() §  ¨

¦¨§ QE:§! © EB$*j !,© *# a.$5c§!˜()§!.+ GEBF?˜? N

!©tlg+h* 2f* Hw›A* .M§!©—  § )E.$() * _©t©# h.5a§!

_ *#©#!B ?R±$ -./(hR .5 ©  8© () * (),-©#.$žY

˜©  $*i()E:§ $!©# () ¨$ G./ !© ()© §B-©#.$ H

§ M7:9<;7,7F´ µ^Ã;N·$;¡ $H1¬„© "/3!Gq> § .BVU §!XE./() ./! h.5

§ hD* © ?!,-RHD™a1 !*#© EB-© ./OEE   ˜§!D* ©#?,R §!.$3 "$§s1 © () * FV¨*#*t@W !:­  J™` ! * © EB© ./žkc./",$(D@

()©  "O›W+:5<$ELn^™`km›Nx:H6¦¨§!M* © ?!,-Rs© [ ©#2+©# ! J©#J§! 4.2 Linear quadtree

›dX.$, ¨.h( $ X$X.EQ.h !,$? $ Q N3!E3!$%V= 5Ž.$* *#.BVU©  "w().+ 3 *  §¦ u/H]´ µŽ¶g7·$;X¸¹!·fº9<;77:%][ .BV¨5C3 *=!@

3 )§!8´ µC¶g7·$;G¸¹!·fº$9<;771¢ z$£]E:§! ©#S3 /%mF():§ .+ M§  E.+ ©#!" E,§ ()a.D  ©#"$FbfR =.h.E,$ §¨y+H&·$¹+9A¿D¶·$ÀBµŽ½

$  © "$ QD3! ©#S3 ˜bf:RG.)BE:§>* B-5m.E,$BHU¦¨§!b/R[!@ Áf·$9<µ^¿¶ %$6()E:§ $!©# (s5C.$„,B2f © !"U§!'.E¨3!.$( @

E.+  a§!Q* .EB© .$M [ © §˜© 5Ž.$( -© ./>.$5c§!Q.E,+BH © EB$* *tR©¨mqH]´ ¿B·/´mÃ,·$´ ·$¶ÂµŽ¶Á ¦XE:§! ©#S3 §  B ! 3

T0XEB3! F8 ,? [ N3 E:3![ 3!E:§L § [\]@^ .EK?$*# E©  "./ :,© ./! §¨ o!H¼a½^9<;77:% -,$? $ 

¢

n<  E© ./FoH ¥/x=.D©  _ § ˜bfR H ©  _X N3 E3K.D N.$ FEE  a.E,+ U.$> !© bH /* Initialization and cleanup */ e‘sleft-lower corner (2, 3) etree_t *etree_open(const char *path, int flag, ...); int etree_close(etree_t *ep); binary form (010, 011)

/* Octant-level operations */ int etree_insert(etree_t *ep, location_t loc, const void *value); interleave the bits to obtain Morton code int etree_search(etree_t *ep, location_t loc, location_t *hitloc, void *value); int etree_update(etree_t *ep, location_t loc, const void *value); 010 011 int etree_delete(etree_t *ep, location_t loc); int etree_append(etree_t *ep, location_t loc, void *value); 00 11 01

/* Octree-level operations */ append the level of e typedefint decom_t(location_t loc, const void *value, void *childvalue[8]); 001101_11 int etree_construct(etree_t *ep, location_t rootloc, const void *rootvalue, decom_t *autodecom); 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); Figure 6: Interleaving bits and appending level to int etree_getcursor(etree_t *ep, location_t *loc, void *value); obtain the locational code.

int etree_advcursor(etree_t *ep);

¦j. © ./*#¦§ ª !,©#* .5§!ª?!©t@W© * BB2+©  " $

* 2f*w  !©  "%wV¨ ­!  $? N,E -, WR 

  D§aEBF?˜3  G. / !   a$[.E,$BH]›W

E..$, ©# .$5mF.E,+ U* 5C@A* .BV¨

Figure 4: Etree API. E.$ © N `.5c§ q–

E. ]$ h§ 6.E:,$ ]* 2f*!© §!6.E/%+ ] §!.BVUD© 

¬„© "/3+HcTs©t§ § © ¨3! ©#S3 abfR%fV=QEB$ ­ $X.E,$

IK  .$5O§ ±V¨* *t@Ab!.BVU  E.+ !©  " E,§ () s5Ž.$ * © !@

!©tE:* RH)¦¨§ 5C.$/%cV=)./!* R8 N.)*#5U.E,+ © M§!

B-¥S+3 / + © § ¡ 8¿$;:9A¿¶¾Â¿Bº7:H ¦¨§! {[.$@

 !,?$ $H

./œE.+  ¢ ¢$£0( $ ¤£¦¥a !© ()! © ./*0 ./©  ±. .$ @

<¨=¨>¨?    A@CB

!© ()! © ./* EB$*#- Hm¦¨§ =(  !©#!"UEB$?¨ ./ =S3 © E:b+*tR

  D2> 9D 9DFEHGI

?R©#* BB2+©  "Q§!6? ©t ].5iQ ./©  ]E.., !© -nŽ§ 6? ©t@

  ¨M NL

-R  ! +,-© ./x:H

O

 A@HL

y

8

    7 Figure 7: Definition of . 6 h m

5 IK m© () .$,+j !.$ dR˜.5 §!6{[.$.$hE.+ !=© „§ j§! 4

e g .$, ©  "h.$5„* B-5c.E,+ 6? $ B ./ § © U* .EB-© ./*jE.+  3 b j l

d f © ˜_!$E*tRF§! .$, Q,B2f *m.5=§!h.EFn<* B5C ,x:H

2 ¬„© "/3Qz § .BVU ¨§ a.$, ©  "?$  X.$X* .EB-© ./*&E.+ !

1 a c i k 5Ž.U§ ˜.E˜© [¬„©#"$3!zH]¦¨§!˜˜WV¨.)

* © EB-©#.$

0

©¦žnNuBxXE* 3 N:©#!" x .$5§ © G !./ :dRJ© s§ w1* © ?!,R

0 1 2 3 4 5 6 7 8

 ?R4.E,$ ./° !© b4 "/ §¨nAy/xh­ !©  "M$°.E,$ VU©t§ .$3!ab+ .BVU©  "D©t U_!$Ea* .EB-©#.$*„E.+ !$H

Figure 5: A domain decomposition. a b c d

000000_10 000100_10 001000_10 001100_11 T0]/ ./ j§ © & E:§!()m$ Q, N5Ž.(±§!]* 5—@W* .BV¨:'E.$@

 :¨.$5jB$E,§X.E,$¨.§ K{[.$.$GE.+ /Hm¦j. !© N©  "/3!© § e f g h ©t `$ E N.$ U§-` § ˜§ ˜ ()˜* 5C@

$[.E,$a5C./( 001101_11 001110_11 001111_11 010000_01 * .BV¨KE.$!B%V¨h$ !  [§!* 2/*j.5¨>.E,$K.D§!

{[.$.$OE.+ ! .5`©t * 5C@A* .BV¨E.$!BHw¦¨§ ) 3!*th©  i j k l m 3 !©#S+3!hb/Rw$  © "$ ()Q5C.$BE:§8.E,$B%gVU§ © E,§M© ˜3! 3!@

100000_10 100100_10 101000_10 101100_10 110000_01

$* *tR5Ž .˜$ c§ ˜´ ¿B·$9<µ<¿$¶·/´Â,¿Bºf7¢ y£^H'™a_!$() !* ¨§ © U § .BVUF© >¬„© "/3vH

§ © ¨ ¨   ¨  !"!# $   &%'(  )!" Figure 8: Leaf octants sorted according to their lo-

  + ,.-0/1  !"!# ¦ 2 3(456!87¨9!#,:¨;- * * cational code.

¦¨§ >­! N[ !*#© EB-© ./ž_ * ./©t § F5Ž$EG§ §!8 @ ©tQ© K .$  © ? * h. E.$ N3 E:˜$>.E:?R[ BB *tRF© !@

.$, 6,B2f *&.5j§ K*#5c.E,U©#X§ `E.$  .$ ©#!" ©  "4 J * ©  "O.E, 5—./(P§ w !,?$ $%a§!

!.$( $© J5Ž.$* *#.BVU 8¡ :&%K$ [ §!.BVU±©  ¬„© "/3! ¢H $ ! * © EB© .$[ !.$"$,() %+§ .BV¨2/B%+§B2fU.hb/ DE., X.5

¢

3!E:§F$>.$, ©  ")© aEB$* * B F§ £¢&½d¿;º7:;>¢tu¡!%ju$u£^%VU§ © E,§ VU§ © E,§F.E,+ a§B2fK?> E./() .$ B F XVU§!© E:§>§ -2/

 ! j.aE* 3 N„  ©#*#*tRE* ./ ¨ ,U ./©  „© § ©tc.$ @  .BH'IKK§!'.$§ :j§ $ g%-( $R`©#! © ./! „m© Q5<E„3!!@

!© ()! © ./*.$, ©  " ¢tu-y£^Hm¦¨§!5Ž./%+V¨aEB$) N.a§!  E  RX?E$3 `§ ./ K.E,$ aQ*#-a !E./() ./ 

* B5U.E:,$ h S+3!©#$* *tR1.$1§  ©# b8 "/ h$EE.$, ©#!" $ X().-2f X5C.$( § ˜ !,?$ $H

.˜§ ©t6* .EB-© ./*gE.+ !/%+VU§!©#E,§ -3!,$* *tRD 3!*t ¨©  §! E* 3 N:©#!"D.$5'!B?RX.E,+ H

y 8

7

6

5 : octants not yet

4 processed (in memory)

3 : non-leaf octants being 2 decomposed (in memory)

1 octants that can be : leaf octants (flushed to 0 database) x flushed to the database 0 1 2 3 4 5 6 7 8

Figure 10: Auto navigation through an octree being

Figure 9: Z-order curve through the domain. constructed.

¦¨§ > E./ J$ ! * © EB© ./s+,© *# X1().> 3 ?*#[_ *#@

¦j.Q .$* 2f=§ © c ./? * (F%§ =¨ .2+©# ! 'K§ © "/§!@A* 2f*

-© ./&HXT0DVU© * *=© * * 3 N,-G.$3! ./© ?+Rw§!5Ž.$*#* .BVU©  "

$?! N,$E© .$M. 3 ! .$3!./( -© Eh.EDE./! N3 E© .$

_!$() !* /Hc¦j.˜­  §!U © "/§+?.=.$D§ 6 ./3§) ©# !U.$5i.E@

§!.$3 "$§M§ 5Ž3! E© ./MEB$* *     !HX¦¨§ D3!!@

,$¥¤Q© [¬„©#"$3!¥%!V=˜$  3!()`§!K ©#"$§+?.$U© 6.$5cS+3 $*

!:* R©  ")E,§ !©#S+3!©# `VU§`V¨hEB$* * B L·$¹+9A¿[¶·$ÀBµ#Áf·9<µ^¿$¶ H

© §h$ ¦¤h$ > © 2f§  © "$§?. K* .EB© .$$*'E.+ Y

¢

¦¨§ 6? $ © EU©# !BK.5i$3.QB2+© "f© .$D© ]2f:R ©#() !* /H © !E

¢

n^¡/¡+u/u¡/¡ u$u¨§Bx:H BE,§ © !"G§  -,$? DVU© *#*'31.E@

§  ., !©  "w.5`:_! $ !©  "wO.E[3! E./! N3 E@

¢

,$6£% ©  Ea©t =bf:RD( E,§  m§!a E,§Xb/RH ©#()© *#*tR%

© ./s© X©# !  !+ .5˜§ >E.E!  [.5˜§ F 3!* B%

.D­ [§  ©#"$§+?.$`.$5©¤h.$F§  .§> ©— /%V¨ © 2f

§ .E,B2f © !")*#.$"/© EE$>? !E./3 !* B G5C.$( §!

)bfR1n^¡u/u¡/¡$¡ u/u §-x:HK«`.-V=2fB%g E,§ ©  " §  -,$? $ 

$ ! * © EB© .$  *#.$"/© EX$ 8©  E.$ .$,-B 1© .X§!D*#©t@

5Ž.'§ © 'bfR !. ]!.$c3D$h_!$Em( -E:§ ©  E¨§!

?!,-RH

© =!.˜ 3 E,§)*#5i.E,$=©#D§!a !./( © &HmIK?! 2f¨§-]§!

™`3.M B2© "/© ./J© )© () * ()+ 4© L§ [:>* ©#?,R

_ E L!© "/§+?.$)© E3*#*tRL.E,+ VU§ .$ FbfRO©

§!.$3 "$§>) -, N3 E3˜EB$* * B F§ D¶·$ÀBµ#Áf·$9<µ<¿$¶0¿BÂ9<;77:%

n^¡u¡/¡$¡/¡ ¡+u¨§Bx:HQT1hE$w h5—./( ¬„©#"$3!z § ¦  KbfR

VU§ © E,§0© $1© @WE.$).ED§ ©  R()© EB$* *tR8"$.BVU

2$$* 3 U© ]§!a( -_©#(h3 ( ()./!"h* * § UbfR '§-¨-`*  

$ J !3! B J© s§ w( $© s()().R%a$ F §!.BVU ©  ¬„© "$@

§

§G§!Q BE,§>bfRwn^¡+u/u¡/¡/¡ u/u x:H

3!XuB¡+H)¦¨§ D$ !* ©#E© ./0 .-2©#  ˜X5C3 !E© ./M.G"/3!©— 

¦¨§ © ˜.EE3!!E)© ˜ .$EE©# !+,*

§ K./ ,-©#.$>.$5„§!˜B2+© "f© .$F.E/H

..$© * V¨R! § )­  Nh./!X$()./!"w$* *=§!X.E:,$ h.5

›d!©t©—* * R%'§!X B2© "/© ./4.EX./!*tRO§ §! ..).E@

§  3 ?©#>§! .$, K,B2f: $*

,$BH ¦¨§!w$ !* ©#E© ./J5C3  E:©#.$J© ©#+2f.$bfB 4.O !E©— 

3 ?wn<_E 5C.$h§ ) 3 ?)..$:x !.  .hB* * R

VU§-„.a !.6VU©t§§!c..$BHc›A5 a !E./() .$ © © .$© „!B B i%

_© NB%=§!©# h*#© ./! § © J N© * *a§!./*# ! H°¦¨§ :5Ž./%6?R0@

© "/§KE:§!©#*# +w.E,$ Q-D*#* .EB-B 8$ >* ©  bf [. §!

3!!©  "h§!˜.E,$UVU§ .$ ˜bfRX© 6§ ˜( _© (3!( ()./!"

..$h3 © !"F.$, ©# RM© !@AE.$) .$© +: H[¦¨§!© h .EB !3

$* *„§!hbf:R! a§-˜h*   K§>§  BE,§8bfR%V=EB

© G§!JEB-©# ž.$s© J§ 8 ! §!@^­  N ., !BH¦™¨[$R

$*tV¨BR U­ §!Q 3 ?Q..$U5Ž.U§ ˜ B-E:§Fb/RH'¦¨§+3 %

()./()+>VU§! $ .E:,$O . M!.$M  .s?45C3!@

V¨U-6$?!* ¨­ $.E,$B%f 3!E:§h$ c§!¨ © "$§?.m.E,$

§ :) !E./() .$ B i%m©tD© E,$©  *tRL>* B5`.E,+)$ 0©

© M.$3!_!() * /%VU©t§ .$3!b+ .BVU©  "G©  K_!$E* .EB-©#.$*

!3! B w.$lO5—./( §!B2+© "f-©#.$0.E  £3 §!B >.

E.+ /H

§ L !,$? $ /HPTJ© §±§ L ! §!@^­  Nw:_! $! ©#.$ $

!3! ©  "%&V=)EB$M"/3 ,$D§ Q§!D()().RFBS3 ©t@

K£ © K?./3! B G?R

4.3 Auto navigation ()U.$5mD B2© "/© ./>.Eh.5m ! §

n^z £x:%©#E.$,$ Nj. n^z$xg5Ž.'6E./() !* ].E:=?© !"

¦¨§ [*#© !BXS3$ G./!* R4 .$* 2f )§ G !./?!* ( .5˜§ .BV

E.$ N3 E:B G© [§!Q( $© [()().$RH

.X/ !   Q©  !© 2+©— 3*j.E,+ %i?!3!K !. ` .$K !.-2+©# !h

Ts©t§±$3!.B2+© "f© .$&%˜§ 1$ ! * © EB© ./! 81* © 2f !.$"$,()()©#!"U().+ !*/5C.$c.E:=E.$ N3!E© ./&H„™`*t§ .$3 "$§ 5C.$(e§!8?!3!, s.$5,B2f ©  "$ž.$3!@A.$5—@WE.$8.E Interactions between blocks 5Ž.U_  © ./i%VU§!© E:§G©# UE.$() * © EBB G$ X.@A !./! are absorbed by the octants

,$ bHXIK8§ D.§ § $ i%j ,? )./ ,-©#.$OEB$M? on the boundaries

Block 2 Block 4

¢

© "/!© ­ EB$*tRw./ © ()©#§B iH ©#!Eh§!h., !Dn< !., !:x`.5

£3! § ©  ")§!h* B-5¨.E,+ K©# `§  () K§ .$, ˜© (D@

./  w?RG§ * .EB© ./ $*'E.+  %& !V * B-5=.E:,$K§  © ' !3 !B h.l § ¨ -2+© "f-© ./).E6E$D?U  !B . Octants in the same block are § ˜ [.5m$* *„.E,+ U§-`E3!+*tRG N.$B F© [§! stored consecutively on disk Block 1 Block 3

-,$? $ /H'›W 5Ž$EB%+§!aE./() * _©tdR.$5j$X$ !  ).$ ,@ pages in Z-order

© ./ © ¨./!*tR nNuBx'VU§ © * Q ©#! © ./X./ ,-© ./X©#+2f.$* 2f

 B-E:§F$* "/.© §!(².D* .EB˜§ `©#"$§` .$ ©t©#.$F5Ž.a§!

©  © .$&%fVU§!©#E,§)( R©#!E3!]$ !©t© ./ $* !© bh›NŸ/I°.QB$ © > -,$? $ ˜ "/ H

Figure 12: Local balancing.

4.4 Local balancing

.G ./* 2f)© ,$E© .$ ?dV=1/ #N$E+?!*#.E,b+ H ¬„© "$@

™`O.E:G.$?!,©#!B 45—§!GE.$ N3!E© ./4 N O(3! N

3!hu-y"/© 2f `hE./!E !3 $*i2+©#:V ?./3a§!© a E,§ ()/H

?? $*#$!EB >.[E.$!5C.$( . § Dy-@^.$@uhE./! N,$© BH¬!.$

_!$() !* /%'§ X©#!©t©—*U !.$( $© L !E.$() ./ ©t© ./4 § .BVUL© 

¬„© "/3 ¥2+© ./*#- `§!©# aE.$ N,$© `?EB$3! .E,$ ¤h§ $

¤¦¥§¥ ¥

-€ ŒC!‡}±“„‹C€i†©¨ªƒBŒ f} ¦¨§!F © §>.$5`§ F?!* .E:b+

`!© "/§+?.$© .$h§!¨ .§VU§!./ 6B "/¨ © §6© c5Ž.$3!c© ()

§ .$3 *# 4?[E,§ ./ L.8 © N5CR4§!X5C./* * .-VU© !"0dV¨.8E.$ !©t@

$ c*#-"/6 ¤  H'™4?*#$ E©#!"K.$ ,© ./VU© *#* ©# E.2/c§ ©

© ./! §¦DnNu-xK©t˜ §!./3!*— wBS3*c.X§! © §D.5¨ ./()h 3 ?

© * *#"f$*+ N,-3 c  !E./() ./ m.E,+ 5C3!§ :j.a./?!,© 

..$ X © §¨hnAy/xD©t § ./3!*# ?w * B NF *—-"/w §!

* "/$*j.E:() §[ ` §!.BVUF© F¬„© "/3 u$u/H

*#"$ NK.E:,$a©#G§ ˜ ./( $© iH

Ts©t§4§  ­  N)E.$ © © .$&%]B$E,§?!* .E:bO© D(  B 0.M

§

3 ?K.. HcT1KVU© * *j3 `§ © 6E./ !©t© ./[. !.-2f`§!

h2 h4 E.E   D.$5U§  * .EB*6?$*# E©  "8 E,§ ()/H>TJ© §0§!

m E.$ ˜E.$ !©t© ./i%-V¨mEB$"/3 ,+]§-„* *f§ '.E,$

h1 h3 © J§ M !.$( $© JEBž­![© .O ./()8? * .E,bJ °§+3 X? e g b j l !.E  B iH d f

a c i k

:i‡}+j ‹ “„ ‹Cj†fŒŽj’j ›d $*>?*#$ E©#!" © J @

5Ž.()B Oô ¿B¡[ä [ô ¿B¡H`T1,B2f: §!VU§!./* D ./( ©#

./!EU.˜ !.E  =$* *§ 6?!* .E:b+ Hm¬ .=BE:§ ?!*#.E,b%fV¨UB$ $* *§ a.E,+ ¨§ =?* ./ ".§!`?!* .E:bHm\¨ B G.$ §!

Figure 11: A balanced domain decomposition. ./ ©t© ./[$ G © §Q© !5C.$( -©#.$G© 2/B i%V=Q©  ©t©#$* © §

N3 E:3!KE$* * B G§ Dô ¿B¡µŽ¶+Á ·$;,;· H¨¦¨§!QEB-, !© *#©tWRG.5

¦¨§  : * ©#?,R !.-2+©# !  5C3  E:©#.$ EB*#*

BE:§G !© ()! ©#.$ .$5i§ Q-,R ©# = ¨.?a§!` © §Q.5&§!

    .¾© ./*#- §! $ !* ©#E© ./! 5—./(

? * .E,bX !© 2+©— B ?+R)§!K © §˜.5„§ ` ( $* *  NU.E,$a© X§!

¡

§ 1 !,© *# w.5D5Ž.$E©#!"§!Oy-@^.@,u1E./! N,$© BH IK!

!.$( $© &H

N,$© "$§+5C.$V¨, ²V6R . © () * ()4§ © 45Ž3! E© ./²©

¦¨§ `? * .E,b© !"D,R © 6©  ©t©#$* © §B [©  § a5Ž./* * .BVU©  "D( !@

.8© :,G§./3!"/§$* *6§ X.E,$ D© 4§ X3 +?*— E

 :BHD™¨Q?"/©  !©#!"[.5¨ !.E  ©  "FBE:§M? * .E,bg%&*#*],R

.EU E:§!E:b˜§!©t]!© "/§+?.$ c.˜ ()©  mVU§ §!

* () a˜ :`.D?¡+H¨©` ./[B$ !©  "DD V .E,+B%

5Ž3§ D !E./() ./ ©t© ./4© D!E  -RH1T0 5CD.>§ ©

V¨M !:()©  >§ w ./ ©t© ./ž.5h§!8.E:,$ [* 5C@A* .BV¨

$ ! !./$E,§  8Á/´ ¿f÷/´Ã·/´ ·$¶ÂµC¶+Á$H ¦¨§ .$3 "/§ E.$ E 3*#*tR

E. a*#© 2fQ.D§!˜*#:5C@A* .-V=QE.$ :`.5c§ ˜E.$,$© !@

© () * /%"$*#.$?*?*#$ E©#!"J§ >dV¨.°(  #d.$8 ,VU? $E,b H

¢

©  "`? * .E:bH 3 ! ./ =§!= .$ © © .$D© %  ":%/§ §!6,R

¬„©t NB% (3!* © !*#L©t,© .$ 0§!.$3 "$§ §!° ./( ©# ( R

* ()`¢ $£i© = :¨.h?U§ a © §K.5&§!`.E:,$U !© 2+©# !B

?   !B M.> ./ $"f-)§  © () $E:h.5a[© +RM.E,+BH

?R § Q © §.$5j§ ˜ ( $* *  Na.E,+a© [§!˜ !.$( $© &H]¬„© "$@

¢

E./ i%BE:§ !© "/§+?.$@^­ !©  "˜.$ ,© .$ VU© * *©  E3]§!

3!>uqw §!.BVU h§ )E./.5U§ )? * .E,b+©#!"8,RO-5C

E.$ N`.5' BE,§ © !"§  !,$? $ /H

© 2+©  "D© 5Ž.$( -© ./F.5„§ Q.E:,$ U?* ./ "$©  "D.h§!

* 5C@A* .BV¨`? * .E,bG.5„§  ./( ©#G § .BVUF© F¬„© "$3! ¥+H

T0wB2f.$©# °"/* ./? $*Q? $*#$!E©  "O?R° !./© !"s´ ¿BÂ,·$´K÷/´ ·$¶ÂµŽ¶+Á$%

VU§ © E,§1E.$ © N .$5]§!D N H)¬„©t NB%&V¨D ©t© ./M§!

™a5—Q§!? * .E,b+©#!"[-,Rw©# ˜© !© ©#*#© § i%jV=EB8 ./* 2f

VU§ .$* 1 ./( $© ©#. 7¸¹!·/´t½ ,µ£¢7Mô ¿B¡ ,H $`_+B%¨V¨wE.$!@

§ hyB@A.@uE./! N,$© KVU©t§ © >§ ? * .E,bGVU©t§ .$3!KS3 R+@

!3!EmµŽ¶ 9W7:;,¶·/´!÷/´ ·$¶ÂµŽ¶+Á`.U5Ž.$E]§ =y-@^.@,umE.$ N,©#

§

VU©t§ © wB$E,§w? * .E,bgHK¬„© *#*tR%V= .Mÿ$¹+¶ºf·$;¡ >÷/´ ·$¶ÂµŽ¶+Á

3!# 6  37    !# 3!# ;    ,.-

* *

¡

£¢1‹C€i†/ ‹>“„‹C „†fŒŽ&’j T11 § .BV §!

e, 1 g, 1 € -}†/‡B&}!ƒBƒJ€

E.E   h.56§ )* .EB$*=?$*# E©  "> E,§ ()D?RM .-2© !"

#N$E+?!*#.E,b+  $*t@

b, 2 d, 1 f, 1 §-˜§ )© ,$E:©#.$ ?WV¨0/

V6R ·fä :¿$;Ã,7º8?R>.E,$ ˜.$8§!h?.$3  !©  ˜?WV¨ ? * .E,b+ ` VU©#* *& 2f:U !./ $"/© +.h§ Q?!*#.E,b+ H a, 2 c, 2

b b b

Figure 13: Content of the blocking array. (1) (2) (3) ©  "O§ 8 !,$? $ /Hª¦¨§!w$ ./ž© G§ [$* *Q§ w© !5C.$@

( © .$F"f-, !©  "X.E,$ `©#w)2+© E©  ©tdR1n

B$ RF?>E.$, B >© w§!? * .E:b+©  "X-,BRHK¬„©  ©#!"X boundary octant.

 ©#"$§+?.$an<.$5S+3 $*+ © §-xc© ] ./!¨?R().+ !©t5CR©  "K§!6,R

¬„© "/3uo § .BVU m§!¨§!U E© .$ =.$5g§!¨*#© ./! § ©

©  _ U$ F$EE  ©  " $F,R[*#()U !©tE*tRH

?WV¨0[?./3! -Rw.E,$¥¤) M©t )µŽ¶!9W7:;:¶·/´¨ ©#"$§!@

?.$ K©#w§ h $()? * .E,bgH¦¨§!) -bF* ©  h !  K§!

¦j.F?)().)  E©t­E$%„V¨)©t,-D§!./3!"/§1§!)? * .E,b© !"

¢

?./3! !R>.5=§ h? * .E,bgH ©#!Eh§!)yB@A.@uE.$ N,©#˜©

,Rw* ()+`?RF* ()+BHQ¬ .$QB$E,§w* ()¢ $£^%&V=

 .$*#2/B F* .EB$* *tR% §!˜ © "/§+?. `.5¦¤QEB$>.$ *tRG?˜./ ˜.5

E,§ E,bLVU§!§ :X§!>© [J.E,+[$!E:§!.$©  "O©t X* 5C@

§ `5Ž./* * .BVU©  " §!QE$  §¦`nNu-x¨§*t5'$ U*#"$h §¤¨jnAy$x¨$

* .BV¨E. -    "Q$ >© 5= .!%iVU§ §!˜©t Q!© "/§+?.$

*#"$h ¨¤¨!.$n^qfx=dVU© E `*#-"/$ ©¤$H

VU© * *=© "/"/:D©t 5C3!§!D E.$() ./ ©t© ./&H8¦¨§!)5<$E:h§ 

$X.E,+=  ! =.?Q E.$() ./ B )© =E., !B ? 3]§!

«K.BV=2fB%E$ n^qfxm© ]©#() .$  © ? * /Hm\=E$3 U§ 6­! N=E.$!@

!E./() .$ © © .$J© ) .$ :5Ž.$() © ()()B !©#-*tRHJ¬ .G

!©t© ./±© () ./ B ./±§!0? * .E,bž ©#§O©#() !* ©# F§w$E,§

!E./() .$ ©#!">.E,$B%cV=X© !© ©#*#© §X§  -,BR0* ()

? * .E,bw( $ Q.[[ 3 ?..B%„§+3 Q.E, ¤h(3! N˜?

E.  ./ !©  "w.M©t D©#"$§)E:§!© *— +&H $K.$© EX§-D./!

O ! E !$ .$5§!©# 3!?!F..1n

.$5&©t 6E:§!© *— + (3! N=§ -2/a§!K $()a* 5C@A* .BV¨UE.$ :U$

V¨., ! %.E,+ ¤`(h3 N]?QE:§!©#*# .$5& ./()`.E,$¨§ ¨©

©t *t5dHm¦¨§!5Ž./%/§!].$*#  © §¨2$$* 3!¨¨¢ $£VU© * *!?].-2f@

dVU© Eh$ `*#"/h$ §¤$Ha«K.BV=2fB% ©#!Eh$w.E© Q) !© N@

V6©t&Hc\]R) ./©  "˜ .%fV¨a$*tV¨BR ]bf §!6*# N=.E,$

#N.$© +6 !E.$() ./ ©t© ./ .$5i§ ` !.$( $© &%f© ¨©# ]© () ./  © ? * `5C.$

© !5C.$( © .$>©#F§!? * .E:b+©  " -,RHU›Wa § .$3 *# F? .$

.E,+ ¤m.Q§B2f6D© *!!© "/§+?.$'§-'.-2f*#$ ! '§!

§-' 2f,*+© :,© ./! m( R?] B B .` !.$ $"/=§!

"$©#.$>E.-2fB X?R ¤  a B%!$ a § .BVUF© [¬„©#"$3!)u ¥H © () EU.$5'©#RX.E,+BH

Impossible for an octant to overlap

™a5—> .E  ©  "°$* *˜§ 8? * .E:b+ %Q§!M:1.$?!,$© ! w the region covered by b‘sparent

E.$() * F* © N[.5˜.E,+ )§ X2+©#.$*#F§ >y-@^.$@u>E.$!@

N,$© w* .EB$* *tR  ž  .°?M5Ž3!§!8 !E./() .$ B iH ¦¨§ 1§ X$E:3$*= -,$?  ./ ,-©#.$ h.$5a !*#:©#!"w$

©  © !"D.E,$ `˜EB-© B [./3a©#G?-E:§G().+ !/H b b

™`* .%=§!6©#()U.5j .E  ©  "B$E,§ ? * .E,bg%/§ U.E,$

./§ ]? * .E,b  „?.$3  R˜=E.$, ! © ha  ,-¨* ©# NBH

Figure 15: Case(3) is an impossible scenario.

Ts©t§4EB$  >nNu-xh snAy/xh$ §!G .$  ©#?!* F©  ©t©#$*6E.$ !©t@

”€„„‚& -~ “„‹—„†fŒCj’j T1 .EB .¥© :,

© ./85Ž.$§!h­  N©t,-© ./0.5¨?./3! !Rw?*#$ E©#!"!%„V=

§!.$3 "$§F§ ?./3! -R[.E:,$Q* © NB%i$ FE:§!E:bXBE:§w.E@

EB1 !.-2fh?Rw©# !3!E© ./w§˜§!© *'.E,$ ˜VU© *#*

,$ 6 ©#"$§+?.$ 6.D ()©  aVU§ §!6§ yB@^.$@uQE.$!@

 2fm?algE D?+R§ 6© ,E© ./ ]?dV=)$ #N$E

N,$© ]©# ]2+©#.$*#B g%+$ D© 5i .% 5Ž.( ˜ E.$() ./ ©t© ./&H

? * .E,b+ H

›d8§ ©  !.E  %cF V¦* © Nh5C.$h V¦?./3! !R8.E,$

¬„© "/3 uBvh §!.BVU U§ 6VU©t§[E$ )nNu-x¨ ¨§ Q© !© ©#*&E.$!@

© "$ ,-B i%mVU§ © E,§4©# h3 B 4 §  ©  !3!.w§!G!_+

!©t© ./i%§ h !E./() ./ ©t© ./w.5¤QVU© * *c 3 *tQ© >5Ž.$3!KE:§!©#*t@

©t,© .$&H

¢

).E,$ =.5jS+3 $*! ©#§`.¤  =©  $*!© "/§+?.$ H .

$K.˜§U§!Q.$,$*jE./ N`.$5' B-E:§!©  "  © "$§?. `© [§! § :`© ¨!.5C3!§!6© () E=.$X§!`©  $*.E, H¨IK

-,$? $ =5C.$'?./3! !R˜? $*#$!E©  "K© „(h3 E,§˜E:§!B$ :„§ §  .§ §$ i%c§! WV¨.wE,§ © *# O.5¤)© 0§ X?.$.$(

§ >E$ 8.$5"/* .$?$*K?$*# E©  "4?E$3 >§!>3!(? .5 §*t5j?E./()U§ a V°?./3  -R).E,$ mVU§ ./ K©# $*

?./3! !R0.E:,$ © h5Ž)*   h§$0§! 3!(?.5a§!  ©#"$§+?.$ ']§ ©t' © ? * ©  "$ c.$5§!= $()] © §/Hm¦¨§+3 „E$ 

.E,+ U© [§!Q©t !./( © &H nAy/x¨© 6§ Q!V ©  ©t©#$*jE./ ©t©#.$&H

© § ª()./ N © () .$, ©  !:_œ N3 E3 © 

Internal octants Internal octants \]@^

¥%muBv$£^HG¬„© "/3!Fuz in the same block not affected by the -,$? $ X$ 8­* ) NR N() )¢tuBq%]uo %]u as b decomposition

Decompose § .BVU „§!¨ N3 E3=.5K\m@A/Hc¦¨§!6]dV¨.adR  „.5

 .+  ¨© F\]@^¦c§!´#7·¨K¶¿Bº7 Q )§ µŽ¶º7 ¶¿Bº7 H

octant b ¡

b An array of records in ascending key order Unused space

A tiny octant on key data key data … key data … the boundary of 1 1 2 2 n n another block Pointer to next leaf node

Figure 16: Case (1): internal neighbors not affected by the decomposition of the boundary octant.

Figure 19: B-tree leaf node.

¦¨§ =*#5!.+ ! „E./,$© D !,U.K?= E,§ B gH'¦¨§ ] N3 E@

¬„© "/3u U § .BVU „§-„VU©t§hE$ QnAy$xj$ „§!=©  ©t©#$*+E.$ !©t@

3!U.5jQ* B-5i .+ !U© ¨ ,RD.5gE.$,  ]VU©t§D§ 65C.$(

© ./i%f§ 6 E.$() ./ ©t© ./).$5 ¤]VU©#* *  3 *tm©#h5Ž./3=E,§ © *# 

£¢ ¤¥¤ £§¦©¨ ¦ ":%B § .BVU© ¬„©#"$3!1u#¢H'¦¨§!'©# „m N.$

.E,+ a§*t5'$ a*#"/ §¤  U© *j!© "/§+?.$BH]\=3a§!

© F E ©  "Dbf:R .$, !:a$ G$* *g§ Qbf:R! =©#G* B5c!.+ !Q©

¢

y-@^.@,uE./ N,© +K© K N© * *„( $© ,$©   iH .D§ © () $E:`©

( $* * U§F+RXbf:RG N.B [© [§!Q _+U* B-5' .+ !$H

 .K ./ $"f-B F© . §!˜? * .E,b[©t§ :BHa™`"f© &%§!!V ?./3! !R).E, 6§B2fK©  $*g © "$§?. 6.$5&§ K () An array of © §/%!VU§ © E:§[©# UEB )nAy/x:H pairs in ascending key order Unused space

Internal octant Internal octant not key1 key2 ¼ keym ¼ in the same affected by the block as b decomposition

Decompose octant b Figure 20: B-tree index node.

b

¦¨§ `©  !:_  .+ ! 6E./,$©  ./3©#!"© !5C.$( -©#.$X.h"/3!©— 

§  B-E:§>5Ž. "/© 2fwbfR[2/* 3 /HQ¦¨§  N3 E3h.5¨

£¢ ¤¥¤   © £¨ ¤ ":%j §!.BVU

A tiny octant on ©  _w .+ © $1,R8.$5¨ $©t

¬„©#"$3! y¡H ¦¨§  M©# FM$* .L N.$B s©  $ N@ the boundary of © 

another block

E !©  "h.$, BHm¦¨§ Q S+3! EK.$5„bfR ¨© [[©  _  .+ 

§

n£  ppp  x) !© 2+©# ! )§!> BE,§J  E

§  

E.-2f M?R>§- .+ !$H ®]E:§MbfRw2$$* 3 U§ $ $1$ N@

.E©# 8 .$©# %VU§ © E,§8 .$© + a.X 3!EE  .˜ .+ 

Figure 17: Case (2): internal neighbors not affected  

by the decomposition of the boundary octant. §-)E.$+,©  5C3!§ :)© !5Ž.( © ./°$?.$3! *#*Ubf:R!



3 E,§G§  ! " $# H

 §

¦¨§ :5Ž./%&§!© () EK5—./( $ #N$E˜?!* .E:b+ Q© $*tV¨BR

\]@^ .+  a( $ ! B G.) © bG $"/ HU\]@^ ¿$µŽ¶!9^½

$?! .$?B D?R§ n^ +R! $()© EB*#*tRE,§$!"/©  "fx'?.$3  Rh.E@

7:;¡ [-[E3* * RO !© b0 "/X+3 (?: H8™ \m@AG©  _

,$ H

 .+ ˜EB$G§B2f*—-"/+3 (h?6.$5' .$© +: % © ./,$ N .w>? © -R1)VU§!G$E,§L©  !_M .+ X§ $ h()./ N

4.5 B-tree dV=.F 3 EE  .$ H>™` G 3!* B%c\]@^D  ˜.F?DVU©# !

$ G §!.$a© F N3 E3/H IK ,-©#.$ 6.$[\]@^Q-˜ !:­  © X 3 E,§[˜V6R)§ 

… Index § ¨\]@^6 N3 E3¨© m$*tV6R ]? $*#$!EB gH'¦¨§-]© %2fR

nodes §!G..$ .8§ F* B-5$*tV6R § D§ [ () … -§L5—./(

… … … … *  "§&H4¦¨§!5C.$/%]§ G !./()©  $ :5Ž.$(  EX5<E.$ ©# bM "/G$EE   %m©# $*tV6R h§! $())5Ž.)$* *=§! Leaf Y

nodes B-E:§F.$ ,© .$ H

¢

E,§ ©  "65Ž.'6bfR%¢Q N, j5—./(ž§ ]\]@^c..$B%VU§ © E,§

© $1©  !_8 .+ /HX™ª .$© +:& © ˜5Ž.$* *#.BV=B 0 3 E,§M§ 



 '¢  HK›W5( * B$ ! K.X$w©  _>!.+ !/% 

 $#   Figure 18: B-tree structure. §

§ U .EB !3/H]I`§ :VU©# $%+ BE,§)§ U* B5& .+ a5C.$=§! _ © ()B%iV¨) BS3 +©#*#*tRM EB$0WV¨.1u$H ¥>rQ\ ­*  .

R VU©t§>( E,§ © !"bfR 2$$* 3!/H £3! §G§!Q./ ,-©  ") NR N(  6? 3lgUEB$E,§ $H

›d! ©  "O8 V E.$, °© .1§ F\]@^F( RLEB$3! w

 * ©t`.$5] \]@^ .+ !© .DdV=.)© 5'§!!.+ !© a5C3 * *tR>.E@ 5.2 Is the etree method feasible?

¢

E3! © B iH © ()© *—-*tR%K * ©  "40E., J( R°EB3 wdV=.

¦j.`$! NV¨c§!©# jS3  N© ./i%$V=="$ ,-B () §  &.$5 !©tlg@

\]@^U .+  an^m§ 6 $()6* 2/*—xc.˜?U()"$B ©t5g./!a.5

` ©#§ $ F()B$ 3B F§ ˜© ()S+3!©tB F.X"$ :,

§  .+ !  ˜.EE3 $ E:R1 +./ ! ˜?* .-V ¥¡¡ XHX™a X 3!* B%

§ (FHm¬ .$6§!©# U_ © ()6V=˜E./­"/3B X§!˜ §R © EB$*

)\]@^§ aD()©#!© (3 (  $E3© *#© §B-© ./w.$5 ¥¡¡ ²$

()().R˜.˜?Qu-y$z{F\a%+$ h­ _B § 6 © §U.$5§!U\]@^

$F-2/,$"$˜.$5mv¨¢¢ ¢tu £^H

? 3lg6© G§!K˜*#© ?,R .Dz{F\s$ )§ K ©#§˜.$5j§! ? * .E,b+©#!"-,RX. uBvh{F\`H!¬„© "/3y/y § .BVU ¨§ a*#$ ! B

5. EVALUATION V6* *cE* .E:b[© () U. "/!,h() §  `.5= ©tlgK © § H

™`*t§!./3 "$§X§! K()$ 3!() ¨K  E©t­Ea.h§ © ¨ @

›dD§!© = E© .$&%V¨` ! +m§ a 5C.$( $!Ea2/* 3© .$

© E3 *#-a$ !* ©#E© ./i%!§!R § .BVs§ a 3 *tU.5„"/ ,-©#!"

.$5c§!˜/H]T0˜E.$ 3 EB [D ©  `.5m_ © () ¨.

U ./@^©#2+©#$*<%-B* @^V=.$*# h.E=() §i%$ :2© !"K ca"$..+

$! NV¨j§ c5Ž.$*#* .BVU©  "˜S3! N© ./ §¦]nNu-xg›d g§ mm()§ .+

©  ©#E© ./O.5aVU§!§ :§!) ()§!.+ 1© 5CB$ © ? * X© 

5Ž$ © ? * ¤£0nAy/xc«K.BV !. ]§ ¨3! !©#!"K© ()62/-RVU© §D§!

() 6.5„3 ! ©  "©#()Q$ G()().$RDS+3!©t()BH

§R © EB$* ()().$Rh © §¤£1n^qfxcTs§-¨© ]§!`© () $E].$5j$3.

B2+© "f-©#.$¥£Mn

{[ § ®'* () –˜\J © § ¦¨© () ¦¨§ 3

nA{F\¨x n< ,x n<*#(XŸ ,x

¢

¬=uB¡ +% ¢$o/¡ y+H ¥ q¨¢H ¢ u¢2¢

¢

¥ v% q/q$¡ y-o uz/vH ¡ o!u¡

5.1 Methodology ¬

¢

¬'y u/% z$q/z% ¥$yo ¥z/q u$% v$q/v+H  u/% u-yq

›d ., !J. 2$$* 3 ±§!±: ()§!.+ ©   B* @

¢

uBq% ¥ ¢ +% uByo o!% q$¡/¡ ¢+% o$ofz+H z u/% ofq2¢ ¬=u

V¨.*# E © .!%V¨O 2f* .$ B  @A? $ B .E

() §ž"/ ,-.$w§-> !.+ 3 E FL5<()© * Rž.5­  ©t1*t@

¢

$²¬! !. B§ S+3 $bfV6B2f@ ()4() §! 05Ž. Figure 22: Etree-based mesh generator running

!.$ "f© .$> ©#(h3 *#© .$ ¢tuBz$£^H time and throughput.

¬„© "/3Uy+u] 3 ()( -©#§ &§!=E,§,E© N© E '.$5!B$E,§() §&%

IK3!=­  N6.$? 2$© ./X© ¨§-¨§ a.$,$*3!  © !"© ()a.

VU§ © E,§ E./() !©  J$ ©— © EB$*>2f.$* 3 () .$5 ¥¡¦b+(¨§

¢

"/ ,-)./3!Q*—-"/ N() §i% ¬=u/%&© $ .B_!© ( -*tRMy+H v

¥$¡Jb+(©§ uBy+p ¥Jb+(GH ša./3!"/§!* R±  Bb© !"!%D() § N5 °©

§ .$3! Hw™a*t§ ./3!"/§1V= §B2f) .>? E,§ ( bF.>E./() -

3!³DE© * RM­!D.w ./* 2fG[V6B2f)VU©t§F :©#.+ O.5%¢

./3G 3 *t %Q"$ ,-©  "LJuBqH v4()© *#* © ./s*#()[() §

E.$  %j3! !:Q§ )  3 () ©#.$M.5Ku¡G() §8 .+  ˜ 

n§!./3! h$ ! B .>?

V6B2f*# "$§iHO¦¨§! 6´#7 7:¶!9 F ˜¿Bº7 [E./* 3 ()! hE.$!@

B ./? * /H

,$© w§ .$,$*'+3 (h?`.$5m­ ©tGn<.E,$:x`* ()+ K$

¢

E./ i%6§ >.-2f:,$* *K§!.$3 "$§ 3 ©  EB  GVU©t§s() §

¡

 .+  © 4§ G !.$( $© &%c  E© 2f*tRHO¦¨§! ´ ·À$7¿Bº7

© §/HmIK3„© 3 ©t© ./© j§-„ ©  E]§ m]* ©#?,R˜E$E,§ 

E.$*#3!()8E.$,  §!+3 (h?Q.5¨§ h .+  ˜§˜)* .$@

() § -,`© ©  c()().$RQ?!3!lgB%$ c().$¨ !,a$EE  c.

EB-B >./8$wB "/.˜)5<E.5¨ .$§!Q*#()B%VU§ © E,§

§ mEBE:§!].EE3!B%§ © "/§!„§./3 "$§ !3!&©# j$E,§ © 2f iHc¦¨§!@

© a 3 ?! a.$5„§!K.$,*j .+  U© G§ ˜() §&H

5Ž./%*#"$]() §"$ ,-© ./ ]6().¨* © bf*tRh.K? ­!

5C.$(±§!=EBE:§!©#!"!H„¦¨§ =?../(±*#© !=© j§-j§!]§!.$3 "$§!@

¢

{[ § ®'* () $`.+ ! *#B2f $K.+ 

¢

¬=u¡ +% ¢$o/¡ uBy+% u/uz o!% o/qfy

3c . c .c !EB$ ¨$ „§ m() § © §¨©  E:B$  %$VU§ © E,§

¢

v% q/q$¡ uB¡ ¥+% z/z$v q$o!% z ¥$z ¬ ¥

© () * ©  `§ `§ ˜.$,*„3  !©  ")© ()© !EB$  ˜K()./ N

¢

¬'y u/% z/q$z% ¥/y-o y+% yuBq% ¡$q ¥ o/¡ % q$q/v

* ©  B-* R[$ U§ K() §[ © §˜©  E:B$  H

¢

¬=u uBq% ¥ ¢ +% uByo u ¥+% ¡2¢ +% q$v ¥ u$% v$o¢+% z ¥ ¥

¦¨§ ©t, g%f*#*§!=_ © () c-¨ 5Ž.()B ./h`( $E,§ © ! VU©t§.$ *tRsu-yz1{F\ª.$5` §R ©#E$*6()().RH0¦¨§![? 3lg

Figure 21: Summary of San Fernando meshes.

$* * .EB-B J?RO§ F>*#© ?,RL© X.$ *tR°yo4{F\aH6¦¨§+3 %

§ mm()§!.+ © jU5CB$ © ? * ¨ .$* 3!© ./.`"$ :,=*#-"/

¦¨§ X() §O"$ ,-© ./L !.E  ©# D © 2fO?R1§!G( -@

.E˜() §  U./G()().$R+@A* © ()©  ( E:§!©   H

¢

©#$*„().+ *„ 2f* .$ B F?R[«K./*# 8{F$"$© N,$* )$ 2/

¢ ¢

–˜R  $ –Q© "/. ,0©` © 2f ©tWR ¢ u#¢$£^H T01 $(D@

* B 0§![( :©—*6().+ !*¨$ 4 N.$ 4§!X 3!*t)© ° 5.3 How does the running time vary with the

D·$9W7:;,µ^·/´

h -,$? $ /%VU§!©#E,§FV¨VU© * *„5ŽK. $ `§! physical memory size?

ºf·$9A·/Ã,· 7:H]¦¨§!¨ © §6.$5§!¨( :©—* ,? 6©# z ¥Q{F\`H

T0U-6 .].$ *tRh©# NB © § =lgEm.$5g()().$R © §

T0=E./ !3 E:B *#*+§ =_ © () „./)`km›››mu-rK«`§6( @ ./§ F3 ! ©  "M©#()>.5./3G():§ .+ i%¨? 3!G*# .O© @

¢ ¢

E,§ ©  6VU©t§ ©K*t,DuBv/¡ ¨ ›cE.$+.$* *#:U$ ) !© b3 ! ©  "  NB © [ ()©  © !"§!a3!  © !"© ()a.$5„:`*#-B

¯&© +3!_Jy+H oH#u+Hª¦¨§ w !§+R © EB*K()().RO5Ž.$G§ >_ ©t@ ./ :,© ./!  1 !*#© EB-© ./!@A  E© ­ E)E./() !3!,-©#.$&HDT1

() ,$ "$ 5—./( uBy$zM{F\¦.Mz/z/¡M{F\`H]\=5C.$F$E,§ 5C.$( $_ © ()) © ()©#*#-G.1§!F./!w ! E:©#?

© X§!K 2+©#.$3 ¨ E© ./ ¨V¨K"/!,B )§ `() §  =VU©t§ \=.§0  .$56 3!*   §!.-V¦§-§ D()().Rw © §X !.

§ > ()w*#© ?,RJ ,() %a©

? * .E,b+©#!"O,RL © §/%U_E !)§-)§ © D© ()GV=>2/-©# ! !3 ED5C./(œ§ ) 3!*t § §   © !.$*tR!© !"

§ `$().$3 m.$5& §R © EB$*()().RDB2$$© *#$?!*#a../ ,-©#!" ./)§!a.$ ,© !"h NR N(  m©# $*E$E,§ ©  "()E,§$!© (

NR N(FH .)E:§!©#2f˜©t a :5Ž.$(  E$H \= ©#  6§ `.,$*g3 ! ©  "© ()/%V¨Q()$ 3! §!K© ()

SF10 SF5 SF2 SF1

5Ž.>§ 85Ž./* * .BVU©  "J.$ ,© ./! w.$5h./3!F() §±"$ :,.$ ¦

9<;:¹!Â9<%gnAy/x¨Ã·/´ ·¶Â,7:%n^qfx]9<;N·$¶ &¿; h%n

nNu-x¨Â¿$¶ 100%

n ¥/x¡ '¶º ,´ ·$À$7:HJ¦¨§ [­! ND§!F./ ,-© ./ X-F"/!,$*

/H %F:_!E*#3 !©  " $ !* ©#E© ./@W  E©t­E

s.$ ,© .$ %F©

m

$ F,$ N5C.$( N 1  E© ?B >© w E© ./MqH¦¨§! .$ !@ i t

60% g n

i ,-©#.$ ]$EE./3 '5Ž.]§!=© ()¨_E3©  "Q* © ?!,-RE.+ 6. n n

u

B2+© "f-¨$ ˜ BE,§§!]:/H£¢K3!R˜© ch !*#© EB-© ./!@

R 40%  E©t­ ED./ ,-© ./0 8$EE./3  Q5C.$˜§ © ()BS3!© 

.JS3!RJ§ M( ©#*# w !,?$ 1©#±$* *§ M N F.5 20% § () §>"$ ,-.$BH¬„©  ! *#B2fh© ˜* .[M !*#© EB-© ./!@

 E©t­ ED./ ,-© ./0 8$EE./3  Q5C.$˜§ © ()BS3!©  0%

8 6 2 0 8 6 2 0 8 6 2 0 8 6 2 0 .0E.$() 3G§ >(  NGŸM *#B2fF*#© .$ § © s?WV¨ 2 5 1 8 2 5 1 8 2 5 1 8 2 5 1 8

1 2 5 8 1 2 5 8 1 2 5 8 1 2 5 8  .+  H Memory size (MB) construct balance transform

SF10 SF5 SF2 SF1 Figure 24: Etree operation running time vs. Physi- 100% cal memory size.

80% e m i

t 5.4 What is the impact of auto navigation? 60% g n

i

¬ .)§  G_ © () hV¨[( / ![z/z$¡0{F\ .$5K §R © EB$* n n u

R $ F2/-©#

40% ()().R[B2$$© *#$?!*#.D§ ./ :,©  " NR N(

§  © §.5]§!\m@Ah?!3!lg`© w§!h:* © ?!,-RH˜¬„© "$@

¥X §!.BVU §!DlgE:©#2/   ˜.5¨§ $3.[B2+© "f-©#.$

20% 3!)y E,§ !©—S3!/H›d8$* *'5Ž./3EB$  %j§ hE./! N3 E© .$8© ().5

0% § ˜: !. U!.$` !  G.$[§ ˜ © §.5m\]@^˜? 3lg 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 1 2 5 8 1 2 5 8 1 2 5 8 1 2 5 8

Memory size (MB) $ * ./!"w$ ˜§ :D© hG? 3!lg:B%„2fM©t5U©t©# [ ( * *m.$ /H

construct balance transform ™`3. B2+©#"/© ./wBS3 ©t `./!* RF ( $* *c$().$3 `.$5]()(D@

query findslave .$R15Ž..$ © +.8E$E,§ G§![\m@AG!.+ ! h./4§  -§ 5C.$(ª§!K\]@^U..$¨ .+ !U.˜§ U© "/§()./ N=\]@^K* B-5

Figure 23: Total running time vs. Physical memory  .+ /%VU§ © E,§G© ¨!.().$U§$X˜5ŽVs !© b) "/ H'šaB !3!E@

size. ©  "[§!)\]@^)?!3!lg © §X !. !.$©  E$ D§ ):

E.$ N3 E:©#.$M© ()h$ * ./ "[$ Q§!? 3lgQ© ˜?!©#"G .$3 "$§

.D§!./*# G§ © 6 §&H

¬„© "/3ay$qK §!.-VU c§!=3 ! ©  "a©#()m5Ž.m§!¨() §h"/!,@

© ./ !.E  Hm¦¨§ U 3 *t =a ! B D© D5C./3!="$.$3 %

T0GEB$°$* .1 [5C.$( ¬„©#"$3!wyq1 L¬„©#"$3!wy-oM§ 

./!5Ž.B$E,§1() §iH)®m$E,§1"./3 M ! + Q§!3 ! ©  "

§ )E./ N3!Eh N O./!* R1$EE./3!+ 5Ž.)F2f:R1©  © "$ ©t­ @

© ()K5Ž.Qh"/© 2fF() §GVU©t§> !©tlg+a !§+R © EB*&()().R

EB+= .$© ./ .5&§!a.,$* 3!  © !"© ()/H„¦¨§ © ¨© 6˜ !..5

E.$!­"$3!,-©#.$&H]Ts©t§ © >B$E,§F"./3 F§!Q3 ! ©  "© ()Q©

§-=§!`3!.B2+© "f-©#.$G© ]2fRD:lgE© 2f`$ . =!.$

 .( $* © §B F.)§  u-yz[{F\žEB$ $HQT0EB8 h§-`§!

! 2fK5C3!§ :`:lg.$U5Ž.`.$ !© ()© §B© .$&H

5C.$( $!E© () .2/ ` * © "/§*tR4n<*   Q§Ou ¥¢ xK$ K§!

§R © EB$*=()().$R1 ©#§[©  E$  5—./( u-y$z1{F\ .Mz/z$¡

{F\`H 5.5 What is the impact of local balancing?

›dh§  a_ © () cV¨6­ _B h§!a$()./3!].5g§ 6 §R N@ ¦¨§ >­ "/3!w* .L §!.BVU G3! X§  § >"$ ,*Q>.$ !@

© EB$*i()().RX$ § ˜\m@AQ? 3lgU © §$ G2$© B X§! ,-©#.$ .$5=E./! N3 EB%&?*#$ E $ >,$! N5Ž.(œ$EE.$3 

? * .E,b+©#!",R) © §/Hm¬„© "/3˜yv §!.BVU =§ UlgE:¨.$5i* .EB* 5Ž.˜( -_©#(h3 ( q$¡¡ .5]§!h.$,*„3 ! ©  ")© ()/H¬„© "$@

?*#$ E©#!"!H¦¨§ ¥¤ @W_© D© § G( _© (3!(¥?!* .E:b+©  "M@ 3!Qyoh( $"/!©t­ =§!`3!  © !"© ()a.$5j§!K"$ ,*&:

,R[ © §* *#.BV=B F© [§ ˜˜*#© ?,RH]¦¨§  ¤@W_© 6© U§! ./ :,© ./! U.hh*#-"/U EB* /H]™`"f© &%§ `©# = . © "$ ©t­ @

© ()6.? $*#$!EQ .E/Hm¦¨§!K !,@A .$©# ] * .$B ).$ EB+U :5Ž.$(  E˜E,§ "$$ 6§ ˜ !§+R © EB*i()().$R © §

§  ¤@d-_©# %i©

sf2 ,B2f *# >.5"$* ./?*?$*# E©  "LBS3 ©t [L 3!? N,$©#$* sf5

sf10 $().$3 .$5U B-B 4 !© b0EE   %¨ 1§+3 ?E.$()

100000

§ ?.*# E,bH6¯&.E$*c?*#$ E©#!" $E,§ © 2f K©t `  B @A3

( $© !* Rh?R,B2f © !"Q§ a !.$( $© D./!E/%VU©t§D§ a-,BR+@

*#R©#!") E./ !R

10000 ? B [!© "/§+?.$@^­ !©  "$* "/.©t§ (

¢

? 3) N© * *a© () .,$D./* /H°›d45<EB%=5C.$ §  ¬=uF() §&% § ]"/* ./? $*?*— E© !"Q()§ .+ Q,B2f  „§ ¨ ./( ©#5Ž.$3!

1000 © () Hc\]3!„V=¨"/c`  B +@A3 .$5z`?R˜ $? * ©  "`? * .E,b© !"

Octree construction time(ms) ,RH¦¨§!_+,) 5C.$( $!E"/$© 8EB$8?-© ? 3!

100 .§!˜,R+@A?$  [ © "$§?.@^­ ©  "!H

10 1000 10000 6. CONCLUSION

B-tree buffer size(KB) T0˜5C.E3 `./>§ .BV±.X"$ :,*—-"/.E() §  `.$3!

Figure 25: Etree construction time vs. B-tree buffer .$5„E.$/H=IK3U ./* 3!© ./[©# 6§!Q/%  !,?$ :@W.© B

size (log-log scale) ()§!.+ K§& $? *  j$$ ! * © EB© .$.U"/ ,-]() §!

?R>S3 :R!© !" X !,?$ $HKT0© .+ !3 EWV¨.X V±E,§!@

 ©#S3  6Y ·$¹+9A¿X¶·$ÀBµ#Áf·$9<µ^¿¶0 1´ ¿B·/´jÃ,·$´ ·$¶ÂµŽ¶ÁX5Ž.`5Ž$ N

* .EB$* ?$*# E©  "˜© ] !© $?!* B D$ "/* .$?$* ?$*# E©  "˜© ' @

E.$ N3 E:©#.$s$ ? $*#$!E©  "O.$5°.$3!@A.$5—@WE.$w.E/H

5Ž.()B iHG›d0$* *]§!D5Ž./3EB$  %][ © "$ ©t­EBhB 3 E© .$

¦¨§ =( $© h 3!*tc5C./( .$3!'_ © () „© c§-c§ ¨:

©  _E3!© .$ © ()U© 6$E,§ © 2/B )?+R? * ©  "§ a? * .E,b© !"

()§!.+ E$"$ :,¨2f:R*—-"/¨.E:6() §  „© UB@

,RF$ [ !./© !")*#.E$*c?*#$ E©#!"!HU¦¨§!  B @A3! [5<E.$

./ $?!*#G$().$3 .$5U© ()DVU©t§F* .BV ()().$RwBS3 ©t@

¢ ¢

,$!"/ U5C.$( z_Mn ¬=uBx]. y$z-_1n ¬=uB¡fx:H ()BH

1e+08 sf1 sf2 sf5 ACKNOWLEDGEMENTS sf10

1e+07

T0m"$,-5Ž3!* * RhE:b+ .BVU* B "/=§!=E.$+© ?!3!© ./! „.$5¡ f$E./?.

\=© *#$b%jIK( KrK§ ,$ Q$ >®'3 ©¢ /../!"¤£˜© ( ©#F§! @

1e+06

2f* .$ ()D.5Q§ GF():§ .+ iH°¦¨§ © )V¨.b4©# )  .$!@

¢

.$ F©#[ a?R §  $K© ./ $* E©  E¬ ./3! -© ./F3!!@

100000

¢

!:`r`,$K¨6{ @¢¨¢$z/¡/¡$v/q+%g$ [© [ -U?R["$,+U5—./( § K›d*&¨=.$ .,© ./iH

10000 Octree balancing time(ms)

1000 References

¡

¢tu:£ \]R++ašH %gI «Q*#*#-./w–H¦¥m¿ ¹+9W7:; 9W7 ¨§ ©

6;N¿Á$;·  7:;  a7:; !7Â9<µŽÀ$7:H6kc© E@A«Q* *^%y$¡$¡fy 100 1 10 100 1000 10000 100000

Blocking array size(KB)

¢ ¡ ¡

¢ yB£ ()„«H ©  ´ µ^·$9<µ^¿$¶ 6¿¨ ·$9<µ^·/´·$9A· 9<;,¹ Â9<¹+;7 §

¡

¥m¿  ¹9W7:;¨;N· +µ<¤ ¡ ¡ )·BÁ7 6;N¿BÂ:7 µŽ¶Á0·$¶º H

™K ! !© ./@AT1 * RGkm3!? * © § ©  ")¨=./() R%u¢¨¢$¡

Figure 26: Octree balancing time vs. Etree blocking

¢ ¢

q-£ §! § , ˜{MH H %/rK."/ '{MH £DHN™a3!./( -© E]¦¨§@

array size (log-log scale) ¢

–Q© () © .$$*c{[ §0rK ,-©#.$M?RF§!¬„© !© DIKE@

™ © () *  $*tR © EBO § .BV¦VU§+R8§ :)©# h[VU©# !X !© N@

F¦&E:§! ©#S3 /H ,¶ 9W7:;,¶·$9<µ<¿$¶·/´+¿$¹+;,¶·/´ ¿;K¹½

E $!ERO?WV¨O§!G   @A3 O5<E.$ HL¦¨§![ 5C.$@

7:;,µ^·/´¦ 17:9 !¿Bº µŽ¶ ¨¶+Á$µA77:;,µŽ¶+Á$%!2f.$*^H qfy%ju#¢¨¢u

( $!E¨"/$© ).$5g* .EB*?*— E© !"˜E./() c5—./( dV=.$  E §¦

¢ o£ \=D{MH#%f®m ! N© –H %+rK© * ? !H Nkc.-2/? *tRrK..+

§ ]5<$ N:=-,R@A? $ B !© "/§+?.$@^­  !© !"K*#"$.$©t§ (F%f$

¡

{[ §srK ,-©#.$&H  6;N¿BÂ:77º$µŽ¶Á w¿¨"!© ,9 ¿$½

§ ).$ @^© (),B2f *=.5a§!) !.$( $© &HG›dM§ )EB X.5

¡

µŽ¹ ¿$¶$#j¿$¹+¶ºf·$9<µ^¿$¶ª¿¨%¥m¿ ¹+9W7:; µ^7:¶Â,7:% ! &H

¢

¬=u¡%¨§![ © §F.5K§![() §LF© ) ( *#*6 ./3!"/§L.

y$q+u'&y-o!u$Hcu¢¨¢$¡

?F©t*tRLEB$E,§  © §![>()().$RO?!3!lgB%]§3!

(3!*t©# !* 8,B2f * [§!.$3 "/§s§!1 ./( $© sBS3 ©tB s?R

¢ ¥B£)(=.$3 !"`–H k„H %{[*#2+© šH rhH %\=© :( ${MH \aH#%* /./§!!@

¢

"/* .$?$*c? $*#$!E©  "X !.)!.$`©  E3Q$ !©t© ./ $*c © b[›Ÿ$IhH .

¢ ¢ ¢

./¬=H ¦KH % $( + H H %\]3  ./* © !H ®6H+N™¯&.EB* * R

§ *#"$˜   @A3 F5Ž$E.˜© K( $© !* RF !3!.)§!5Ž$ N

š`:­  šaE,$!"/3!*—-wr`©# J¬„©  ©t8®'*#() ¦0™a !@

,R+@A? B 8!© "/§+?.$@^­  !© !"[*#"$.$©t§ (F%gVU§!©#E,§0B2f.$©# !

* © EB© .$M.[¨=./() 3,© ./ $*m¬„* 3 ©# w–KR$()© E K$

§ KE./ N*tRG./ ,-©#.$ a.$5' B-E:§!©  "§!\]@^/H

¨=./() !3!,© .$$*Kkm§R © E H ,+¿¹;,¶·$´Q¿¨-¥m¿  ¹9A·$½

¢

IKG§!K.§ a§ g%§ Q © §˜.5„§  ¬=uQ() §GK5Ž 9<µ^¿$¶·/´.  ,µ<¤ ,% 2f./*

¡ ¢

¢ v-£DTO " !H Â9<;77½Ž¼`· 7º%#]µC¶ µŽ9W7 6´#7 7:¶!9 17:9 !¿Bº ¢tu¢-£X{F$"$©# N,*  «hH % –QBR H % ¨=*#R+./ šH#% r`,B2f

¢ ¢

¿$; 6´ · 9<µ^£¢F·$À$7 6;N¿·BÁf·$9<µ<¿$¶¥¤'µŽ9  ©  ´ µ^·$9<µ^¿¶ šHN¦¨§  ¨¨®]¨ .$3!§!±¨¨$* ©t5Ž.$!©#Jš`5C!E

¢

9A¿ a·;:9 !¸¹!· f7 ¨;N¿$¹+¶ºC M¿$9<µ^¿¶ H»{F N L§!@ ¦¨§!:@W–K©#() © ./ $* ©# ()© E]* .E©tWRL{[.+ !*§m@

¡ ¡

© % ¨=./() !3!,-©#.$* {[E,§$!© E 0¯&$?.$,-.$R%–Q@ © ./Ly+H  ¼U¹´Ž´#7:9<µŽ¶L¿  9  7 7:µ D¿/´ ¿Á$µ^·/´ ¿BÂ,7:µŽ9 M¿¨

-().5¨=© 2+©#*a 4®m+2+©t./!(),$*6®' "$©#!@ © 7:;,µ^·$%!–QEy$¡$¡/¡

©  "!% ¨¨- "$©#{[* * ./>©` © 2f ©tdR%!{FR8u¢2¢¨¢

¢ ¢

¢ B£ *#().$ !H %KTO-±{MH Hdkc,*#* *<%.$3!@A.$5—@WE.$

()§ .+  `5C.$ $a@W?.+ +RF © (3!*#© ./iH  ¨;¿BÂ,77ºµŽ¶+Á D¿¨

¡

9  7 ¨µ#Á +9   ©8 ¥m¿$¶7:;7:¶Â,7˜¿$¶) a·;·/´Ž´#7´ 6;N¿BÂ:7 ,½

¡

µŽ¶+Á ¿$; µA7:¶ 9<µ ] ¥m¿ ¹+9<µŽ¶+Á$H&u¢2¢ 

¢ z-£XrQ"/$©  ©4›:H N™a¥®'lgE©#2/ TOR . š` @

 ¢K3/ + H  ¥m¿  ¹+¶ µ<Â,·9A¿$µŽ¶ )¿¨D9  7 ©¦¥N w%

2f./*

¢ ¢-£X{[.$.$rhH {MH N™OE./() !3!i.©#+ "$.+ !:©#E= -,

? ° s V¥E,§ !©—S3!O©# ­ *#4 BS3! E© !"!H 

¦jE,§&H &H %!›N\6{M%I`,V6+%g¨¨$ / !%ju#¢/v$v

¢tuB¡-£XI` N©# !H ™H %]{[¦KH «hH N™ ¨=*#$  h.$5U–˜-,

¢ ¢

3!E3!=5C.$=™`  .E©#-©#2/ BE,§ ©  "H  ¨;¿BÂ,77º$µŽ¶Á

¡ ¡ ¡

¿¨©¦¥N  ©¦¥§¦c½  6 ˜%$ &H+uzu'& u¢$¡HfT0@

* ..!% IK,© .!% ¨¨$ / !%cu¢$z$o

¢

¢tu/u:£XI` N©# !H ™H  ©#$* ¢K3 :Rwk'.E  ©  ">© 0

¢

IK?#dE@dI`© B >–˜,?  R N(FH  ¨;¿BÂ,77º$µŽ¶Á

¡ ¡

¿¨ ©¦¥N  6 ˜% ! &Hqfy$v &+q$q/vH-T0$ § © !"$./˜–hH ¨`%

u¢$z/v

¢ ¢

¢tu-yB£ ¬$* .$3! ./ m¨`H %/š`.$ ( $ H¢N¬!,E,$* c5Ž. E./ !R

£˜R8š`:©#2/*^H  ¨;¿BÂ,77ºµŽ¶+Á X¿¨9 !7 ¨µ#Á +9 ©¦¥N

¡ ¡ ¡ ¡

 ©¦¥§¦c½   " ½  ©©¨ ¦ ¿ µŽ¹ ª¿$¶ 6;,µŽ¶½

¡ ¡ ¡

µ ´#7 ¿  ·$9A·f÷ 7 9W7  Hju¢$z¨¢

¢tuBq-£ \¨R>šH %{[E-¨]©#"$§w®UH {MH NI`"f$!© §B© ./ $

{F$©  Ea.$5&¯&"/KI`, !:B D›d !© E H "©aÂ9A·¦,¶½

¿$;¡ )·$9<µ<Â,·% 2f.$*

¢tuo£X¨=./()¨–HN¦¨§ `3 ?!©—S3!© .$3 =\]@W¦=/H  ©¦¥N ¥m¿ D½

¡

¹+9<µŽ¶+Á ¹+;,À$7 %2f.$*

¢tu ¥B£Xr`,R !H %ša3!:¨™H¦ ;N·$¶ :·fÂ9<µ^¿¶ 6;N¿BÂ,7 ¡ µŽ¶Á §¦¥m¿$¶ ½

Â,7 9 w·$¶º¦7¡¶ µ^¸¹ 7 %aE:§ $ &Hau ¥H±{[.$"/$ £$35C@

¢

( $!'3 ?!*#© §! %  Mu#¢¨¢fy

¢ ¢ ¢

¢tuBv-£ © * ? E,§§ ™H#% £˜.$§ «hH ¬=H % 3 - §$ H

·$9A·/Ã,· 7 ¡ 9W7 ¿$¶Â,7 9 %E:§ $ iHiu$u/H]{[E-r`© * *j«`© *#*

¨=./() $ ©  %!›d!E/H %!§!©t, GB &H %&u#¢¨¢ 

¢tu B£)(¨.™H ¨`H NIKD,$ ./(ªy+% qK H "©aÂ9A· ,¶¿$;¡ )·9^½

µ^·$%!2f./*

¢tuBz-£ \¨$.ž«H#%D\=© *#$b !H %)rK§, OIhH %)£* *#© 2f.$b/ 0¯'H#%

¢

I «Q$* *#.$G–hH#% § :V¨E,§3! b !H %K3 !Hd¯j"$@A EB$* 

¢

© (3!*#© ./M.$5a®'*— N© EXT0-2/)k'.$ "f© .$L© 0«`@

./"$ ./3 6{[B !©#./Xkc,*#* *&¨=.$() 3!: H  ¥m¿ D½

¹+9W7:; 17:9 !¿Bº >µŽ¶%©  ´ µ^7º 17¡!·$¶!µ^¤ 8·$¶º ¨¶+Á$µ<½

¶g77:;,µŽ¶+Á$%&u¢¨¢$z