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/ Ki/-}+}0M}B]j}+-}}'Cj}+ i/-}+}'j4&&C!BCmmCi/¨ Cjfjj]-}+} 1. INTRODUCTION ( $b/a©t= ./ © ? * `. N.`*#"$Q() §! ].$ E./+2f© ./ $* !© b+ Hm¯j-"/`( $© G()().$R)E$ E©t© `E$F .2+©# !K5C@ 5E© 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 !©tdRHaQ© 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 !© bE,§ !./* ./"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.$55$ N` N.$,$"$5.$a.$ *tR U.$5j§ ./3! $ ! ¬ .3 -*tR%f§ a © () * © E©tdRX / !$ !,? © * ©tdR).5j§ a.E@ .$5& ./* *# H]¦mR © EB*``dsN/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:£^H4a5DRB- .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() §"/ ,-©#.$&HT1]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:H4d4.$@ ¦¨§ 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© © © .$ Ha* *j§ E.$() ./ + `© () * ()B G©#F§! ©t§ ( $EE.$()().+ - j§ ].E]©#§ aÀBµ;,9<¹ ·$´ )7 )¿$;¡ $% 7:9<;77 ´ µ^Ã;·$;¡ HDaM !*#© EB-© ./0EBM© +2f.$bfD* ©#?,R $1./ ,-©#!"F NR N( 5<E© * © WRM§ $? * 0$ ! * © EB@ 53! 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$* *tRB2/©#*#? * /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§!( © "/!©tEB+*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©tE/H d e f g : preorder traversal of leafs 3. THE ETREE METHOD Figure 1: Quadtree 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 N53 * N,-"$R°5.$["/!,© !"L§@ () §)"$ ,-© ./&Hma ¨Q 3!* B% !*#© EB-© ./ =EB$ ( $!© !@ !© ()! © ./*¨3 ! N3 E3B 1() §! H8dO ,$E© E/%'§! 3 *#-Q$ .EK() §)?RD © () !* R)S+3!R© "Q§ ` -,$? $ dV=.G ©tlg`V¨R! K.$5m3 © " § .ED -,) N3 E@ © NB$ [.$5E:§ $ © "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!=53!§! © "§ a`()§ .+ gHcd)§ 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© * *&:5a.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()§ .+ HcaD© !@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-Tree 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 ( $* *aKk'h.5K§!GF* ©#?,R4© ) § .BVUL© J¬© "$@ © §>.$5$°.E:,$BH ¦¨§ L§ F.E:,$ )EB$°?[B 3!ho!HD¦¨§ )`kma© ©#! ©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@ 5B-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§ 53 !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 Q53 !E© ./D§ m§ UU* © ?!,RDEB$)3! U. @ ()© Q§!.-V.D .E a$[.E,$BH 4. THE ETREE LIBRARY ¦¨§ © U`kmm$* * .BVU U3 ¨.( $!©# !3 *#a.EK() § ¨ ¦¨§ QE:§! © EB$*j !,© *# a.$5c§!()§!.+ GEBF?? N !©tlg+h* 2f* HwA* .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* © ?!,-RHDa1 !*#© EB-© ./OEE §!D* ©#?,R §!.$3 "$§s1 © () * FV¨*#*t@W !: J` ! * © EB© ./kc./",$(D@ ()© "OW+:5<$ELn^`kmNx: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 T0XEB3! 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<E3!!@ !© ()! © ./*.$, © " ¢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§ 53! 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 E3EB$* * 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..$BHcA5 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© ./ $* !© bhN/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!}±Ci©¨ª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 Cjfjj 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§ © 453! 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% 53§ 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§! a5Q§!? * .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!# ; ,.- * * ¡ £¢1Ci/ >C f&j T11 § .BV §! e, 1 g, 1 -}/B&}!BJ 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©tE$%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+© " -,RHUWa § .$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 .°?M53!§!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@ & -~ fCjj 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@ ¬© "/3u 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 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.$5bfR ¨© [[© _ .+ § 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' .$© +: % © [E./,$ 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§ '¢ HKW5( * 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 ¥¡¡ XHXa 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©tEa.h§ © ¨ @ dD§!© = E© .$&%V¨` ! +m§ a 5C.$( $!Ea2/* 3© .$ © E3 *#-a$ !* ©#E© ./i%!§!R § .BVs§ a 3 *tU.5"/ ,-©#!" .$5c§!/H]T0E.$ 3 EB [D © `.5m_ © () ¨. U ./@^©#2+©#$*<%-B* @^V=.$*# h.E=() §i%$ :2© !"K ca"$..+ $! NV¨j§ c5.$*#* .BVU© "S3! N© ./ §¦]nNu-xgd g§ mm()§ .+ © ©#E© ./O.5aVU§!§ :§!) ()§!.+ 1© 5CB$ © ? * X© 5$ © ? * ¤£0nAy/xc«K.BV !. ]§ ¨3! !©#!"K© ()62/-RVU© §D§! () 6.53 ! © "©#()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 $bfV6B2f@ ()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! Hwa*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 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]* ©#?,RE$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© * *5K. $ `§! 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 *#*+§ =_ © () ./)`kmmu-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©tE 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§ >( NGM *#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!/Hd8$* *'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§$X5Vs !© 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¬© "/3yv §!.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.$( EE,§ "$$ 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) T05C.E3 `./>§ .BV±.X"$ :,*-"/.E() § `.$3! Figure 25: Etree construction time vs. B-tree buffer .$5E.$/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 iHGd0$* *]§!D5./3EB$ %][ © "$ ©tEBhB 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"$,-53!* * 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./( § Kd*&¨=.$ .,© ./iH 10000 Octree balancing time(ms) 1000 References ¡ ¢tu:£ \]R++aH %gI «Q*#*#-./wH¦¥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 £DHNa3!./( -© 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§!) !.$( $© &HGdM§ )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 kH %{[*#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®'*#() ¦0a !@ ,R+@A? B 8!© "/§+?.$@^ !© !"[*#"$.$©t§ (F%gVU§!©#E,§0B2f.$©# ! * © EB© .$M.[¨=./() 3,© ./ $*m¬* 3 ©# wKR$()© 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§!@ ¦¨§!:@WK©#() © ./ $* ©# ()© 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 Na¥®'lgE©#2/ TOR . ` @ ¢K3/ + H ¥m¿ ¹+¶ µ<Â,·9A¿$µ¶ )¿¨D9 7 ©¦¥N w% 2f./* ¢ ¢-£X{[.$.$rhH {MH NOE./() !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 Dd !© 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@ ¢ ( $![k'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$* *#.$GhH#% § :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