Unstructured Mesh Generation and Its Parallelization

0 downloads 0 Views 3MB Size Report
B-W [45, 46] edge/face swap algorithm [84] ...... DEFC: Decode Edge and Face Codes ...... for Fully Automatic 3D Mesh Generation," International Journal for.


຿



ԡ





䆎᭛乬Ⳃ 䴲㒧ᵘ࣪㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪ⱘ㢹ᑆ䯂乬ⷨお

԰㗙ྦྷৡ

䰜ᓎ‫ݯ‬

ᣛᇐᬭᏜ

䚥㗔

ᄺ⾥(ϧϮ)

䅵ㅫᴎᑨ⫼ᡔᴃ

᠔೼ᄺ䰶

䅵ㅫᴎᄺ䰶

ᦤѸ᮹ᳳ

Ѡ䳊䳊݁ᑈಯ᳜





Unstructured Mesh Generation and Its Parallelization A Thesis by

Jianun Chen Advised by

Professor Yao Zheng

Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy

College of Computer Science Computer Science Department Zhejiang University Hangzhou 310027, P. R. China

Copyright © 2006 by Jianjun Chen

⣀߯ᗻໄᯢ ᴀҎໄᯢ᠔ਜѸⱘᄺԡ䆎᭛ᰃᴀҎ೼ᇐᏜᣛᇐϟ䖯㸠ⱘⷨおᎹ԰ঞপᕫⱘ ⷨお៤ᵰDŽ᥂៥᠔ⶹˈ䰸њ᭛Ё⡍߿ࡴҹᷛ⊼੠㟈䇶ⱘഄᮍ໪ˈ䆎᭛Ёϡࣙ৿݊ ҪҎᏆ㒣থ㸼៪᪄‫ݭ‬䖛ⱘⷨお៤ᵰˈгϡࣙ৿Ў㦋ᕫ ფߞӖ༰ ៪݊Ҫᬭ㚆ᴎ ᵘⱘᄺԡ៪䆕к㗠Փ⫼䖛ⱘᴤ᭭DŽϢ៥ϔৠᎹ԰ⱘৠᖫᇍᴀⷨお᠔‫ⱘخ‬ӏԩ䋵⤂ ഛᏆ೼䆎᭛Ё԰њᯢ⹂ⱘ䇈ᯢᑊ㸼⼎䇶ᛣDŽ

ᄺԡ䆎᭛԰㗙ㅒৡ˖

ㅒᄫ᮹ᳳ˖







ᄺԡ䆎᭛⠜ᴗՓ⫼ᥜᴗк ᴀᄺԡ䆎᭛԰㗙ᅠܼњ㾷

ფߞӖ༰ ֱ᳝݇⬭ǃՓ⫼ᄺԡ䆎᭛ⱘ㾘ᅮˈ

᳝ᴗֱ⬭ᑊ৥೑ᆊ᳝݇䚼䮼៪ᴎᵘ䗕Ѹ䆎᭛ⱘ໡ॄӊ੠⺕Ⲭˈ‫ܕ‬䆌䆎᭛㹿ᶹ䯙੠ ‫׳‬䯙DŽᴀҎᥜᴗ ფߞӖ༰ ৃҹᇚᄺԡ䆎᭛ⱘܼ䚼៪䚼ߚ‫ݙ‬ᆍ㓪᭄ܹ᳝݇᥂ᑧ 䖯㸠Ẕ㋶ˈৃҹ䞛⫼ᕅॄǃ㓽ॄ៪ᠿᦣㄝ໡ࠊ᠟↉ֱᄬǃ∛㓪ᄺԡ䆎᭛DŽ ˄ֱᆚⱘᄺԡ䆎᭛೼㾷ᆚৢ䗖⫼ᴀᥜᴗк˅ ᄺԡ䆎᭛԰㗙ㅒৡ˖ ㅒᄫ᮹ᳳ˖



ᇐᏜㅒৡ˖ ᳜



ㅒᄫ᮹ᳳ˖

ᄺԡ䆎᭛԰㗙↩Ϯৢএ৥˖ Ꮉ԰ऩԡ˖

⬉䆱˖

䗮䆃ഄഔ˖

䚂㓪˖







ᨬ㽕 㔥Ḑ⫳៤ᡔᴃᰃ᭄ؐ∖㾷ⱘࠡ໘⧚䖛⿟ˈгᰃৢ㗙ᑨ⫼ᯊⱘЏ㽕ᗻ㛑⫊乜DŽ 䱣ⴔ໻㾘῵Ꮉ⿟Ϣ⾥ᄺ䅵ㅫ䳔∖ⱘ᮹Ⲟ䖿ߛˈᑊ㸠㔥Ḑ⫳៤ᡔᴃⱘⷨお೼೑䰙Ϟ Ꮖ៤ЎϔϾᮄⱘⷨお⛁⚍ˈԚ೼೑‫ैݙ‬剰᳝Ҏ݇⊼DŽᴀ᭛ህ䴲㒧ᵘ࣪㔥Ḑ⫳៤ঞ ݊ᑊ㸠࣪ⷨお乚ඳⱘ㢹ᑆ䯂乬䖯㸠њ⏅ܹⱘⷨおDŽ 佪‫ˈܜ‬ᴀ᭛ᵘᓎњϔϾ‫ع‬ໂ᳝ᬜⱘǃ䗖⫼Ѣ㉏ϝ㾦ᔶ੠㉏ಯ䖍ᔶऎඳⱘܼಯ 䖍ᔶऩ‫ܗ‬ൟ῵ᵓᮍḜˈᑊᇚ݊ᓩܹऎඳߚ㾷⊩ⱘᄤඳ㔥Ḑ⫳៤⦃㡖ˈ‫ܟ‬᳡њ⦄᳝ ᄤඳ㔥Ḑ⫳៤ㅫ⊩Ёᄤඳᷛ‫ޚ‬ᅮН䖛Ϲ੠ࠪߚ㾘߭䖛Ѣ㐕⧤ⱘ㔎⚍ˈᔶ៤ϔϾᮄ ⱘܼಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ㅫ⊩DŽ䱣ৢᑊ㸠њऎඳߚ㾷䖛⿟ˈᑊᓩܹᄤඳ೒ˈ㒧ড় 䴭ᗕ೒ߦߚㄪ⬹ˈᕫࠄ䆹ㅫ⊩ⱘᑊ㸠⠜ᴀDŽ᠔ᕫࠄⱘᑊ㸠㔥Ḑ⫳៤఼ৃҹৠℹᅠ ៤ᑊ㸠㔥Ḑ⫳៤ঞߦߚˈҢ㗠ࡴ䗳ᭈϾᑊ㸠῵ᢳ䖛⿟DŽ 䱣ৢˈᴀ᭛㋏㒳ഄⷨおњᑣ߫࣪ Delaunay 㔥Ḑ⫳៤DŽ෎Ѣ Bowyer-Waston ᦦ⚍‫ݙ‬Ḍˈᅲ⦄њ催䋼䞣ⱘѠ㓈ঞϝ㓈 Delaunay 㔥Ḑ⫳៤⿟ᑣˈᑊ෎Ѣ Delaunay 㔥Ḑ⫳៤ㅫ⊩ⱘ᳔ᮄⷨお៤ᵰˈህ⿟ᑣⱘᯊぎᬜ⥛ǃ‫ع‬ໂᗻǃ᭄᥂㒧ᵘ䆒䅵ঞ䞡 㽕ᅲ⦄㒚㡖ሩᓔ䅼䆎DŽ 䖍⬠ᘶ໡ᰃ Delaunay 㔥Ḑ⫳៤ⱘЏ㽕ೄ䲒Пϔˈ෎Ѣ೼㑺ᴳ໘Ⳉ᥹ࡴ⚍ᘶ ໡ⱘᗱ䏃ˈᴀ᭛ᅠᭈഄ䅼䆎њ䖍⬠ᘶ໡Ёৃ㛑䘛ࠄⱘ৘⾡ᚙᔶˈ㒭ߎњⳌᑨⱘ㾷 ‫އ‬ᮍḜˈ᳔㒜㦋ᕫϔϾᬊᬯⱘϔ㟈䖍⬠ᘶ໡ㅫ⊩DŽ䗮䖛ᓩܹϔ㋏߫෎ᴀὖᗉǃ᭄ ᥂㒧ᵘঞ෎ᴀ᪡԰ˈㅔ࣪њϔ㟈䖍⬠ᘶ໡ㅫ⊩ⱘᅲ⦄䖛⿟DŽ Ўֱ䆕Ѹ⬠䴶㔥Ḑⱘϔ㟈ᗻˈ෎Ѣऎඳߚ㾷ⱘᑊ㸠 Delaunay 㔥Ḑ⫳៤ㅫ⊩ 㽕∖ᑣ߫࣪ Delaunay 㔥Ḑ⫳៤఼‫݋‬໛㑺ᴳ䖍⬠ᘶ໡㛑࡯DŽ᳔䖥ˈGeorgeǃDu ੠ Wang ෎Ѣ޴Тৠḋⱘᗱ䏃ᦤߎњⳌᑨⱘ䯈᥹㑺ᴳ䖍⬠ᘶ໡ㅫ⊩ˈे‫ܜ‬䖯㸠ϔ㟈 䖍⬠ᘶ໡ˈ䱣ৢ䗮䖛ߚ㾷㑺ᴳϞ䕙ࡽ⚍ⱘᮍᓣᅲᮑ㑺ᴳ䖍⬠ᘶ໡DŽᴀ᭛ᓩܹᮄⱘ ޴ԩ᪡԰ˈㅔ࣪њϞ䗄ㅫ⊩ⱘ‫݋‬ԧᅲ⦄ˈ㒧ড়Ꮖᅲ⦄ⱘϔ㟈䖍⬠ᘶ໡ㅫ⊩ˈ᳔㒜 㦋ᕫњϔϾᮄⱘ㑺ᴳ䖍⬠ᘶ໡ㅫ⊩ᅲ⦄DŽ ᇍѢѠ㓈䯂乬ˈᴀ᭛ᓩܹϞ䗄ಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ⷨおЁ㦋ᕫⱘᑊ㸠ऎඳߚ 㾷ㅫ⊩ˈ߽⫼ࡼᗕᄤඳ೒ߦߚㄪ⬹ˈᵘᓎњϔϾ䗮⫼ⱘᑊ㸠ᑇ䴶㔥Ḑ⫳៤ḚᶊDŽ 䲚៤Ѡ㓈ᑣ߫࣪ Delaunay 㔥Ḑ⫳៤఼ৢˈ㦋ᕫѠ㓈ᑊ㸠㔥Ḑ⫳៤఼ PDMG-2Dˈ ᅗ៤ࡳഄ೼Ёㄝ㾘῵ⱘᑊ㸠ᑇৄϞ⫳៤᭄ғ催䋼䞣ⱘϝ㾦ᔶऩ‫ˈܗ‬Ϩ᠔㦋ᕫⱘߚ Ꮧᓣ㔥Ḑⱘߦߚ䋼䞣䕗催DŽ ᇍѢϝ㓈䯂乬ˈ෎Ѣᑇ䴶ߚࡆⱘᮍᓣˈᴀ᭛㦋ᕫњϔϾ䗦ᔦऎඳߚ㾷ḚᶊDŽ ⡍߿ഄˈ䩜ᇍऎඳߚ㾷䖛⿟Ёߎ⦄ⱘ৘⾡䫭䇃ᚙᔶˈᴀ᭛䅼䆎њⳌᑨⱘ䫭䇃Ẕ⌟

Ⴋྑ

Ϣׂ໡ㅫ⊩DŽ䩜ᇍऎඳߚ㾷䖛⿟Ё᮴⊩ׂ໡ⱘ䫭䇃ˈᴀ᭛䗮䖛⿏ࡼߚࡆᑇ䴶ˈᅲ ⦄њϔ༫ಲ䗔໘⧚ᴎࠊDŽ೼ऎඳߚ㾷ḚᶊЁ䲚៤ϝ㓈ᑣ߫࣪ Delaunay 㔥Ḑ⫳៤ ఼ৢˈ㦋ᕫϝ㓈ᑊ㸠㔥Ḑ⫳៤఼ PDMG-3Dˈᅗ៤ࡳഄ೼Ёㄝ㾘῵ⱘᑊ㸠ᑇৄϞ ⫳៤ϔғҹϞ催䋼䞣ⱘಯ䴶ԧऩ‫ˈܗ‬ᅠܼৃҹ⒵䎇೑‫ݙ‬໻㾘῵Ꮉ⿟Ϣ⾥ᄺ䅵ㅫⱘ 䳔㽕DŽ ᅲ䏉Ёˈᑊ㸠㔥Ḑ⫳៤⿟ᑣⱘ᭄᥂㒧ᵘ䆒䅵ᇍ‫ޣ‬ᇥ‫ݙ‬ᄬՓ⫼ǃࡴ䗳ㅫ⊩ᠻ㸠 ঞֱᣕⳌ䚏ᄤඳ៪Ⳍ䚏໘⧚఼݅ѿ᭄᥂ⱘϔ㟈ᗻ᳝䞡㽕ᛣНDŽᴀ᭛ᵘᓎⱘ᭄᥂㒧 ᵘᎻ཭ഄᅲ⦄њϞ䗄Ⳃᷛˈ೼ᑊ㸠㔥Ḑ⫳៤ⱘৠᯊᅠ៤݅ѿ㔥Ḑ᭄᥂ϔ㟈࣪DŽ⡍ ߿ഄˈ੠Ӵ㒳ⱘᑊ㸠㔥Ḑ⫳៤ㅫ⊩া᳝ϸሖ᭄᥂㒧ᵘϡৠ˄ᄤඳሖঞܼሔሖ˅ˈ ᴀ᭛๲ࡴњ໘⧚఼ሖ᭄᥂㒧ᵘˈՓᕫߚᏗᓣ㔥Ḑৃ೼ৠϔ໘⧚఼Ϟ㹿ড়ᑊ៤ϔϾ ᭈԧ㔥ḐˈҢ㗠᳝߽Ѣৢ㓁ⱘ㔥ḐӬ࣪ঞߦߚㄝ᪡԰ⱘ䖯㸠DŽ

݇䬂䆡˖㔥Ḑ⫳៤˗ᑊ㸠㔥Ḑ⫳៤˗䴲㒧ᵘ࣪㔥Ḑ˗Delaunay ㅫ⊩˗Bowyer-Watson ㅫ⊩˗ಯ䖍ᔶऩ‫˗ܗ‬ऎඳߚ㾷˗㔥Ḑߦߚ

ii

Abstract Mesh generation is the pre-process and one of main performance bottlenecks of numerical simulations. With ever larger problems arising in such areas as Computational Fluid Dynamics (CFD), Computational Electro-Magnetics (CEM), close attention has been paid to parallel mesh generation to overcome the bottlenecks of serial mesh generation in terms of time and memory consuming in the international research community since early 1990s. However, few researchers in China have concentrated on this field so far. For the requirement of more and more large-scale simulations emerging in the industry and research community, in this thesis we will study some practical problems of unstructured mesh generation and its parallelization in depth. Firstly, a robust and efficient pattern module scheme for fully quadrilateral elements is constructed for meshing triangular or quadrilateral domains. The scheme is then applied into the sub-domain mesh generation stage of domain decomposition methods. It overcomes two drawbacks associated with current sub-domain meshing algorithms, i.e. the sub-domain definition being too stringent and the generation rule being too complex. Consequently, a new quadrilateral mesh generation method for arbitrary planar domains is proposed. Furthermore, a parallel version of this method is proposed by parallelizing the domain decomposition process and introducing the SubDomain Graph (SDG). It could generate distributed meshes with high partitioning quality simultaneously with parallel mesh generation, therefore to accelerate the whole process of parallel simulations greatly. Secondly, serial Delaunay mesh generation algorithms are discussed, and high-quality 2D and 3D serial Delaunay mesh generators using the Bowyer-Watson point insertion kernel are coded, named DTIso2D and DTIso3D, respectively. Issues of time and memory complexities, robustness, data structures and important implementation details are explored in this thesis. Boundary recovery is one of main problems in applying Delaunay algorithms into mesh generation. All constraint missing cases are illustrated, and the corresponding recovery techniques are given as well based on the idea of adding Steiner points directly in the missing constraints. Besides, a series of concepts, data structures and operators are introduced to alleviate the coding work of the conformal boundary recovery algorithm.

Abstract

A constrained rather than conformal boundary recovery procedure is required for the coordination of shared data in the artificial interfaces of partitioned meshes. George and Du et al independently present two new indirect constrained boundary recovery algorithms with nearly same idea, which both strive to resolve the robustness problem of George’s early classic algorithm. Here indirect algorithms mean that a conformal boundary recovery procedure is prerequisite. We simplify some concepts of the above algorithms and present a new implementation for them. Integrated with the parallel geometry decomposition algorithm obtained from the research of above parallel quadrilateral mesh generation, a general parallel planar mesh generation framework is constructed, where a dynamic SDG partitioning module is involved. A 2D parallel Delaunay mesh generator, named PDMG-2D, is developed by combining the framework with DTIso2D, which could generate more than hundreds of millions of elements in the parallel computers with medium size resources. Moreover, considerably good partitioning quality could be achieved for the resulting distributed meshes. For 3D problems, the computational domain is decomposed into many sub-domains recursively by intersecting a plane with the domain. Robust problems arising from complex geometry computations involved in the domain decomposition procedure are investigated. A roll-back scheme of moving the separation plane is utilized to overcome unrecoverable errors in domain decomposition. DTIso3D is linked together with the recursive domain decomposition framework to form the 3D parallel Delaunay mesh generator, named PDMG-3D, which could generate partitioned meshes with more than one hundred millions of elements in the parallel computers with medium size resources. The design of data structures is important in practice for parallel mesh generators to save memory usages, to accelerate algorithms, and to simplify the mergence of sub-meshes or distributed meshes on various sub-domains or processors. We devise a three-level data structure to help fulfill such goals conveniently. It also enables the resulting mesh to be smoothed or optimized globally or in a processor level instead of in a sub-domain level.

Key words: mesh generation, parallel mesh generation, unstructured meshes, Delaunay algorithms, Bowyer-Watson algorithm, quadrilateral elements, domain decomposition, mesh partitioning

iv

Ⳃᔩ Ⳃᔩ ........................................................................................................................................... 1 ㄀ 1 ゴ 㒾䆎 ........................................................................................................................... 1 1.1 ࠡ㿔 .................................................................................................................................... 1 1.2 㔥Ḑ⫳៤ⱘ෎ᴀὖᗉ ........................................................................................................ 2 1.2.1 㒧ᵘ࣪㔥Ḑ੠䴲㒧ᵘ࣪㔥Ḑ.......................................................................................... 2 1.2.2 㔥Ḑ䋼䞣᥻ࠊⱘ෎ᴀ㽕∖ ............................................................................................. 2 1.3 ᑊ㸠㔥Ḑ⫳៤ⱘ෎ᴀὖᗉ ................................................................................................ 3 1.3.1 ᑊ㸠㔥Ḑ⫳៤ㅫ⊩ⱘߚ㉏ ............................................................................................. 3 1.3.2 ᑊ㸠㔥Ḑ⫳៤ㅫ⊩ⱘ䆘Ӌᷛ‫ޚ‬੠Ⳃᷛ.......................................................................... 3 1.3.3 ᭄᥂ᑊ㸠੠ӏࡵᑊ㸠 ..................................................................................................... 4 1.3.4 ᭄᥂ߚ㾷 ......................................................................................................................... 5 1.3.5 ᭄᥂᯴ᇘ˖䴭ᗕ䋳䕑ᑇ㸵੠ࡼᗕ䋳䕑ᑇ㸵.................................................................. 5 1.4 ᴀ᭛ⷨおⳂⱘǃ‫ݙ‬ᆍঞ㒘㒛 ............................................................................................ 6 1.5 ෎䞥䌘ࡽ ............................................................................................................................ 8 ㄀ 2 ゴ 㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪ᡔᴃⷨお㓐䗄 ......................................................................... 9 2.1 ࠡ㿔 ..................................................................................................................................... 9 2.2 䗮⫼㔥Ḑ⫳៤ᮍ⊩ ............................................................................................................. 9 2.2.1 ᯴ᇘ⊩ ........................................................................................................................... 10 2.2.2 ࠡ⊓᥼䖯⊩ ................................................................................................................... 10 2.2.3 ಯ/ܿঝᷥ⊩ ...................................................................................................................11 2.3 ಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ ....................................................................................................... 12 2.3.1 䯈᥹⊩ ........................................................................................................................... 12 2.3.2 Ⳉ᥹⊩ ........................................................................................................................... 14 2.4 DELAUNAY ᮍ⊩................................................................................................................ 15 2.4.1 DELAUNAY ϝ㾦࣪෎ᴀ⧚䆎 ......................................................................................... 15 2.4.2 DELAUNAY 㔥Ḑ⫳៤ⱘᐌ⫼ㅫ⊩ ................................................................................. 16 2.4.2.1 Bowyer-Watson ㅫ⊩ .................................................................................................. 17

ંৃ

2.4.2.2 䖍/䴶Ѹᤶㅫ⊩ ........................................................................................................... 18 2.4.2.3 ݊ᅗㅫ⊩ .................................................................................................................... 19 2.4.3 DELAUNAY ᮍ⊩ⱘ݇䬂䯂乬ⷨお ................................................................................. 20 2.4.3.1 ‫ݙ‬䚼⚍⫳៤ ................................................................................................................ 21 2.4.3.2 䖍⬠ᘶ໡ .................................................................................................................... 22 2.4.3.3 ⍂⚍䖤ㅫ䇃Ꮒ੠‫ع‬ໂᗻ ............................................................................................ 23 2.4.3.4 㔥ḐӬ࣪ঞ㭘‫⏙ܗ‬䰸 ................................................................................................. 24 2.4.3.5 Ḍᖗ᭄᥂㒧ᵘঞㅫ⊩ⱘӬ࣪䆒䅵 ............................................................................ 26 2.5 ᑊ㸠 DELAUNAY ᮍ⊩...................................................................................................... 27 2.5.1 ෎Ѣӏࡵᑊ㸠῵ᓣⱘ PDMG ㅫ⊩ .............................................................................. 27 2.5.2 ෎Ѣ᭄᥂ᑊ㸠῵ᓣⱘ PDMG ㅫ⊩ .............................................................................. 29 2.5.2.1 ෎Ѣߚࡆᑇ䴶ⱘ PDMG ㅫ⊩.................................................................................... 30 2.5.2.2 ෎Ѣ PDT ⧚䆎ⱘ PDMG ㅫ⊩ .................................................................................. 30 2.5.2.3 ෎Ѣ⿔⭣㔥Ḑߚ㾷ⱘ PDMG ㅫ⊩............................................................................ 31 2.5.2.4 ݊ᅗ PDMG ㅫ⊩........................................................................................................ 32 ㄀ 3 ゴ 䴲㒧ᵘ࣪ಯ䖍ᔶ㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪ ................................................................... 33 3.1 ࠡ㿔 ................................................................................................................................... 33 3.2 ᑣ߫࣪㔥Ḑ⫳៤⌕⿟ ...................................................................................................... 34 3.3 ᄤඳᔶ៤ .......................................................................................................................... 35 3.3.1 ߚ㾷㒓‫ݙ‬ᮄ㡖⚍⫳៤ ................................................................................................... 35 3.3.2 ᢧᠥߚ㾷 ....................................................................................................................... 36 3.3.3 ޴ԩߚ㾷 ....................................................................................................................... 37 3.3.4 ᳔㒜ᄤඳᔶ⢊⡍ᕕⱘ䞣࣪ᅮН.................................................................................... 38 3.4 ᄤඳ㔥Ḑࠪߚ .................................................................................................................. 38 3.4.1 ῵ᵓ⊩ⱘϔѯ෎ᴀὖᗉ ............................................................................................... 38 3.4.1.1 ൟ῵ᵓ ........................................................................................................................ 38 3.4.1.2 䰘ࡴ䖍⬠㑺ᴳⱘൟ῵ᵓ˄pattern module with boundary constraints˅.................. 38 3.4.1.3 ෎ᴀൟ῵ᵓ˄basic pattern module˅....................................................................... 39 3.4.2 ϝߚऎൟ῵ᵓ੠݁ߚऎൟ῵ᵓ .................................................................................... 39 3.4.3 ‫ع‬ໂⱘൟ῵ᵓ ............................................................................................................... 40 3.4.3.1 ݁ߚऎൟ῵ᵓⱘখ᭄∖㾷ঞᄬ೼ⱘ䯂乬 ................................................................ 40 3.4.3.2 N 4 1 ᯊⱘൟ῵ᵓ ................................................................................................... 41 3.4.4 ῵ᵓ⊩ᑨ⫼Ёⱘ݊ᅗ䯂乬 ........................................................................................... 44 3.4.4.1 ㉏ϝ㾦ᔶऎඳⱘ໘⧚ ................................................................................................ 44

2

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

3.4.4.2 ᄤඳ⦃䖍㡖⚍᭄ⳂЎ 4ǃ6 ੠ 8 ᯊⱘ໘⧚ᮍḜ ...................................................... 45 3.4.4.3 ᯴ᇘߑ᭄ .................................................................................................................... 45 3.5 Ѡঝᷥⱘᑨ⫼ ................................................................................................................... 46 3.6 㔥Ḑড়ᑊঞৢ໘⧚ ........................................................................................................... 48 3.6.1 㔥Ḑড়ᑊ ....................................................................................................................... 48 3.6.2 㔥Ḑৢ໘⧚ ................................................................................................................... 49 3.6.2.1 ‫ܝ‬⒥࣪ ........................................................................................................................ 49 3.6.2.2 ᢧᠥӬ࣪ .................................................................................................................... 49 3.7 ㅫ⊩ᗻ㛑䆘ԄঞӬ࣪ ...................................................................................................... 50 3.8 ᑊ㸠ಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ .............................................................................................. 53 3.8.1 ᑊ㸠㔥Ḑ⫳៤Ḛᶊ ....................................................................................................... 53 3.8.2 ᑊ㸠޴ԩߚ㾷 ............................................................................................................... 54 3.8.2.1 ෎Ѣӏࡵձ䌪೒ⱘᑊ㸠޴ԩߚ㾷ㅫ⊩ .................................................................... 54 3.8.2.2 㒚㉦ᑺሖ⃵ⱘᑊ㸠޴ԩߚ㾷ㅫ⊩ ............................................................................ 55 3.8.2.3 ෎Ѣӏࡵձ䌪೒ⱘᑊ㸠޴ԩߚ㾷ㅫ⊩ⱘ㔎䱋੠ᅲ偠䆕ᯢ .................................... 56 3.8.3 ᑊ㸠㔥Ḑ⫳៤ ............................................................................................................... 57 3.9 ᭄ؐᅲ偠 .......................................................................................................................... 58 3.9.1 ᑣ߫࣪ㅫ⊩ⱘᗻ㛑䆘Ԅ ............................................................................................... 58 3.9.2 ᑊ㸠ㅫ⊩ⱘᗻ㛑䆘Ԅ ................................................................................................... 60 3.9.2.1 ᑊ㸠޴ԩߚ㾷ㅫ⊩ⱘᗻ㛑 ........................................................................................ 61 3.9.2.2 ᑊ㸠ㅫ⊩ⱘৃᠽሩᗻ ................................................................................................ 61 3.9.2.3 ߚᏗᓣ㔥Ḑⱘߦߚ䋼䞣 ............................................................................................ 62 3.10 㒧䆎ঞሩᳯ .................................................................................................................... 64 ㄀ 4 ゴ DELAUNAY 㔥Ḑ⫳៤˖ϝ㾦࣪ঞ⚍㞾ࡼ⫳៤ ........................................................ 65 4.1 ࠡ㿔 .................................................................................................................................. 65 4.2 Ḍᖗ᭄᥂㒧ᵘ੠ㅫ⊩⌕⿟ .............................................................................................. 66 4.2.1 Ḍᖗ᭄᥂㒧ᵘ ............................................................................................................... 66 4.2.2 ㅫ⊩⌕⿟ ....................................................................................................................... 67 4.3 ᆚᑺ᥻ࠊঞᆚᑺ⑤ .......................................................................................................... 68 4.3.1 ⚍⑤ ............................................................................................................................... 68 4.3.2 㒓⑤ ............................................................................................................................... 69 4.3.3 䴶⑤ ............................................................................................................................... 70 4.4 ⚍ᦦܹ‫ݙ‬Ḍⱘᅲ⦄ .......................................................................................................... 71 4.4.1 ⚍ᦦܹ⌕⿟ ................................................................................................................... 71 4.4.2 ߯ᓎᮄऩ‫ ܗ‬................................................................................................................... 72

3

ંৃ

4.4.3 ಲ䗔ᴎࠊ ....................................................................................................................... 72 4.4.4 ‫ݙ‬ᄬㅵ⧚ ....................................................................................................................... 73 4.5 䖍⬠⚍ᦦܹ ...................................................................................................................... 73 4.6 ‫ݙ‬䚼⚍㞾ࡼ⫳៤ঞᦦܹ .................................................................................................. 75 4.6.1 ‫ݙ‬䚼⚍㞾ࡼ⫳៤ ........................................................................................................... 75 4.6.2 ‫ݙ‬䚼⚍ᦦܹ ................................................................................................................... 75 4.7 ᇣ㒧 .................................................................................................................................. 77 ㄀ 5 ゴ DELAUNAY 㔥Ḑ⫳៤˖䖍⬠ᘶ໡ ............................................................................ 78 5.1 ࠡ㿔 .................................................................................................................................. 78 5.2 Ѡ㓈䖍⬠ᘶ໡ .................................................................................................................. 79 5.3 ෎ᴀὖᗉ .......................................................................................................................... 81 5.3.1 ⧗ǃㅵ䘧ǃ໇ঞ㇛ ....................................................................................................... 81 5.3.2 ಯ䴶ԧऩ‫ⷕ⚍ⱘܗ‬ǃ䖍ⷕঞ䴶ⷕ................................................................................ 81 5.3.3 ϝ㾦ᔶⱘ S ൟߚ㾷੠ Z ൟߚ㾷 ................................................................................... 82 5.4 䖍⬠䖍ᘶ໡ ...................................................................................................................... 82 5.4.1 Ḍᖗ᭄᥂㒧ᵘ˖ㅵ䘧‫ ܗ‬............................................................................................... 82 5.4.2 ϡࡴ⚍ᘶ໡ᚙᔶ ........................................................................................................... 84 5.4.2.1 ϡࡴ⚍ᘶ໡ᚙᔶ 1 ..................................................................................................... 84 5.4.2.2 ϡࡴ⚍ᘶ໡ᚙᔶ 2 ..................................................................................................... 85 5.4.3 ࡴ⚍ᘶ໡ᚙᔶ ............................................................................................................... 86 5.4.3.1 ࡴ⚍ᘶ໡ᚙᔶ 1˖ϔᴵ䖍㹿こ䍞 ............................................................................. 86 5.4.3.2 ࡴ⚍ᘶ໡ᚙᔶ 2˖ϸᴵ䖍㹿こ䍞 ............................................................................. 87 5.4.3.3 ࡴ⚍ᘶ໡ᚙᔶ 3˖ϔϾ䴶㹿こ䍞 ............................................................................. 89 5.4.3.4 ࡴ⚍ᘶ໡ᚙᔶ 4˖ϔᴵ䖍੠ϔϾ䴶㹿こ䍞 ............................................................. 90 5.4.3.5 ࡴ⚍ᘶ໡ᚙᔶ 5˖ϸϾ䴶㹿こ䍞 ............................................................................. 91 5.5 䖍⬠䴶ᘶ໡ ...................................................................................................................... 92 5.5.1 Ḍᖗ᭄᥂㒧ᵘ˖㇛‫ ܗ‬................................................................................................... 92 5.5.2 ϡࡴ⚍ᘶ໡ᚙᔶ ........................................................................................................... 93 5.5.3 ㇛‫ⱘܗ‬Ѩ⾡ᵘൟঞ݊໘⧚ᮍḜ.................................................................................... 94 5.5.3.1 ㇛‫ܗ‬ᵘൟ 1˖㸼䴶੠䘫༅䴶݅䴶 ............................................................................. 94 5.5.3.2 ㇛‫ܗ‬ᵘൟ 2˖ϔᴵ䖍こ䍞䘫༅䴶 ............................................................................. 94 5.5.3.3 ㇛‫ܗ‬ᵘൟ 3˖Ѡᴵ䖍こ䍞䘫༅䴶 ............................................................................. 94 5.5.3.4 ㇛‫ܗ‬ᵘൟ 4˖ϝᴵ䖍こ䍞䘫༅䴶 ............................................................................. 95 5.5.3.5 ㇛‫ܗ‬ᵘൟ 5˖ಯᴵ䖍こ䍞䘫༅䴶 ............................................................................. 97 5.5.4 ऩ‫㉏ܗ‬ൟⱘ⹂ᅮ ......................................................................................................... 102

4

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

5.6 ϝ㓈㑺ᴳ䖍⬠ᘶ໡ ........................................................................................................ 102 5.6.1 Ѡ㓈ᚙᔶ ..................................................................................................................... 103 5.6.2 ϝ㓈ᚙᔶ ..................................................................................................................... 104 5.6.3 ㅫ⊩㒚㡖 ..................................................................................................................... 108 5.7 ऎඳ໪䚼ऩ‫ߴⱘܗ‬䰸 .................................................................................................... 108 5.8 ᇣ㒧 .................................................................................................................................110 ㄀ 6 ゴ ऎඳߚ㾷ঞᑊ㸠 DELAUNAY 㔥Ḑ⫳៤ .................................................................. 111 6.1 ࠡ㿔 ................................................................................................................................. 111 6.2 Ѡ㓈ᑊ㸠 DELAUNAY 㔥Ḑ⫳៤.....................................................................................112 6.2.1 ෎Ѣᄤඳ೒ⱘѠ㓈ᑊ㸠㔥Ḑ⫳៤Ḛᶊ.......................................................................112 6.2.2 ࡼᗕᄤඳ೒ߦߚ ..........................................................................................................113 6.2.3 㔥Ḑ䞡ߦߚ ..................................................................................................................114 6.2.4 ⡍ᕕ໮䖍ᔶ ..................................................................................................................114 6.2.5 Ѡ㓈ᑊ㸠 DELAUNAY 㔥Ḑ⫳៤ ..................................................................................115 6.3 ϝ㓈ऎඳߚ㾷䖛⿟ .........................................................................................................116 6.3.1 ऩℹऎඳߚ㾷⌕⿟ ......................................................................................................116 6.3.1.1 ⌕⿟೒ .......................................................................................................................116 6.3.1.2 ⹂ᅮߚࡆᑇ䴶 ...........................................................................................................116 6.3.1.3 ᇏᡒѸ⬠䴶ⱘ䖍⬠ᦣ䗄 ...........................................................................................118 6.3.1.4 ⫳៤Ѹ⬠䴶㔥Ḑ .......................................................................................................119 6.3.1.5 ᔶ៤ᄤඳ .................................................................................................................. 121 6.3.1.6 ⿏ࡼѸ⬠䴶 .............................................................................................................. 121 6.3.1.7 തᷛবᤶ .................................................................................................................. 122 6.3.2 䫭䇃ᚙᔶⱘѻ⫳ǃẔ⌟ঞׂ໡.................................................................................. 123 6.3.2.1 Ѹ⬠䴶㔥Ḑ੠ᕙߚ㾷ऎඳ㸼䴶ⳌѸ ...................................................................... 123 6.3.2.2 ϡℷ⹂ⱘѸ⬠䴶䖍⬠ᦣ䗄 ...................................................................................... 124 6.3.2.3  䴶 .......................................................................................................................... 126 6.3.3 䗦ᔦऎඳߚ㾷Ḛᶊ ..................................................................................................... 126 6.3.4 Ḍᖗ᭄᥂㒧ᵘ䆒䅵 ..................................................................................................... 128 6.4 ϝ㓈ᑊ㸠 DELAUNAY 㔥Ḑ⫳៤.................................................................................... 129 6.4.1 ᘏԧ䆒䅵 ..................................................................................................................... 129 6.4.2 ᑊ㸠᥻ࠊ῵ഫ ............................................................................................................. 130 6.4.2.1 Manager/Worker ῵ൟ ............................................................................................... 130 6.4.2.2 ࡼᗕ䋳䕑ᑇ㸵 .......................................................................................................... 131 6.4.2.3 ϝሖ᭄᥂㒧ᵘ䆒䅵 .................................................................................................. 131

5

ંৃ

6.5 ෎Ѣᡩᕅϝ㾦࣪⧚䆎ⱘऎඳߚ㾷䖛⿟ ........................................................................ 132 6.6 ᇣ㒧 ................................................................................................................................ 133 ㄀ 7 ゴ ᑣ߫࣪ঞᑊ㸠 DELAUNAY ϝ㾦࣪⿟ᑣᗻ㛑ⱘᅲ偠ߚᵤ ..................................... 134 7.1 ࠡ㿔 ................................................................................................................................ 134 7.2 ᑣ߫࣪ DELAUNAY ϝ㾦࣪⿟ᑣᗻ㛑ⱘᅲ偠ߚᵤ ........................................................ 134 7.2.1 ᯊ䯈ᗻ㛑 ..................................................................................................................... 134 7.2.2 ‫ݙ‬ᄬᗻ㛑 ..................................................................................................................... 137 7.2.3 㔥Ḑ䋼䞣 ..................................................................................................................... 139 7.2.4 ㅫ⊩‫ع‬ໂᗻ ................................................................................................................. 140 7.2.5 䖍⬠ᘶ໡ㅫ⊩ ............................................................................................................. 141 7.3 ᑊ㸠 DELAUNAY ϝ㾦࣪⿟ᑣᗻ㛑ⱘᅲ偠ߚᵤ ............................................................ 141 7.3.1 Ѡ㓈ᑊ㸠 DELAUNAY 㔥Ḑ⫳៤఼ᗻ㛑ⱘᅲ偠ߚᵤ ................................................. 141 7.3.1 ᯊ䯈ᗻ㛑ঞৃᠽሩᗻ ................................................................................................. 141 7.3.2 ߚᏗᓣ㔥Ḑⱘߦߚ䋼䞣 ............................................................................................. 143 7.3.3 ߚᏗᓣ㔥Ḑⱘऩ‫ܗ‬䋼䞣 ............................................................................................. 144 7.3.2 ϝ㓈ᑊ㸠 DELAUNAY 㔥Ḑ⫳៤఼ᗻ㛑ⱘᅲ偠ߚᵤ ................................................. 145 7.3.2.1 ᯊ䯈ᗻ㛑ঞৃᠽሩᗻ .............................................................................................. 145 7.3.2.2 䋳䕑ᑇ㸵ঞߚᏗᓣ㔥Ḑⱘߦߚ䋼䞣 ...................................................................... 148 7.3.2.3 ߚᏗᓣ㔥Ḑⱘऩ‫ܗ‬䋼䞣 .......................................................................................... 150 7.4 㔥Ḑㅫ՟ ........................................................................................................................ 151 7.5 ᇣ㒧 ................................................................................................................................ 152 ㄀ 8 ゴ 㒧䆎Ϣሩᳯ ........................................................................................................... 169 8.1 㒧䆎 ................................................................................................................................ 169 8.2 ሩᳯ ................................................................................................................................ 170 খ㗗᭛⤂ ............................................................................................................................... 171 ᬏ䇏म຿ᳳ䯈থ㸼ঞᔩ⫼ⱘⳌ݇ᄺᴃ䆎᭛ ....................................................................... 183 㟈䇶 ....................................................................................................................................... 184

6

㄀1ゴ

㒾䆎

1.1 ࠡ㿔 ㅔ㗠㿔Пˈ㔥Ḑ⫳៤ⷨおⱘ䯂乬ᰃབԩᇚ㒭ᅮⱘ޴ԩऎඳߦߚ៤᳝䰤Ͼ෎ᴀ ޴ԩᔶԧDŽᇍᑇ䴶៪᳆䴶ऎඳˈ෎ᴀ޴ԩᔶԧᐌ䞛⫼ϝ㾦ᔶ៪ಯ䖍ᔶ˗ᇍϝ㓈ऎ ඳˈ෎ᴀ޴ԩᔶԧᕔᕔ䞛⫼ಯ䴶ԧǃ݁䴶ԧ៪ễ䫹ԧㄝDŽ㔥Ḑ⫳៤ᡔᴃ೼ᕜ໮乚 ඳ䛑᳝ᑓ⊯ⱘᑨ⫼ˈབ䅵ㅫᴎ೒ᔶᄺǃ䅵ㅫᴎ㾚㾝ǃৃ㾚࣪ǃഄ⧚ֵᙃ㋏㒳ˈ಴ ℸⷨお㗙ӫ໮ˈԚ⬅Ѣⷨおⱘሖ⃵ǃ㾦ᑺ੠䳔∖ϡሑⳌৠˈ᠔䞛⫼ⱘᮍ⊩੠䴶Ј ⱘᣥ៬гѦ᳝ᏂᓖDŽᴀ᭛᠔ⷨおⱘᑣ߫࣪ঞᑊ㸠㔥Ḑ⫳៤˄PMG: Parallel Mesh Generation ˅ ᡔ ᴃ Џ 㽕 ⱘ ᑨ ⫼ ᇍ 䈵 ᰃ ‫ أ‬ᖂ ߚ ᮍ ⿟ ˄ PDEs: Partial Differential Equations˅ⱘ᭄ؐ∖㾷ˈᔧ✊ˈᅗгৃᑨ⫼Ѣ݊ᅗ乚ඳDŽ 䗮䖛ᓎゟড়⧚ⱘ῵ൟˈᎹ⿟Ϣ⾥ᄺ䅵ㅫ乚ඳᕜ໮⠽⧚⦄䈵ⱘ῵ᢳ䛑ৃᔦ㒧Ў ‫أ‬ᖂߚᮍ⿟ⱘ∖㾷DŽ⬅Ѣ∖㾷ऎඳǃ䖍⬠ᴵӊঞᴤ᭭⡍ᗻㄝ໮⾡಴㋴ⱘᕅડˈᐌ ᐌ᮴⊩៪ᕜ䲒ᕫࠄ䖭ѯ‫أ‬ᖂߚᮍ⿟ⱘ㾷ᵤ㾷ˈা㛑䗔㗠∖݊⃵ˈ㒧ড়䅵ㅫᴎᡔᴃ 䖯㸠᭄ؐ∖㾷DŽ ⦄᳝ⱘ‫أ‬ᖂߚᮍ⿟᭄ؐ㾷⊩Џ㽕ࣙᣀ᳝䰤ऩ‫˄⊩ܗ‬FEM: Finite Element Method˅ ǃ᳝䰤ԧ⿃⊩˄FVM: Finite Volume Method˅ ǃ䖍⬠ऩ‫˄⊩ܗ‬BEM: Boundary Element Method˅ঞ᳝䰤Ꮒߚ⊩˄FDM: Finite Difference Method˅ ˈ䖭ѯᮍ⊩೼∖ 㾷ࠡ䛑䳔㽕ᇚ䯂乬ඳ⾏ᬷ៤ㅔऩऩ‫ⱘܗ‬㒘ড়DŽ԰ЎᭈϾ∖㾷䖛⿟Ёⱘ䞡㽕ϔ⦃ˈ 㔥Ḑ⫳៤ᡔᴃⱘⷨお೼⧚䆎੠ᅲ䏉Ϟ䛑䴶ЈᎼ໻ᣥ៬ˈг៤Ўࠊ㑺ᦤ催ߚᵤᬜ⥛ ⱘЏ㽕⫊乜ПϔDŽ޴कᑈᴹˈᴹ㞾ϡৠᄺ⾥ⱘⷨお㗙ᇍℸ䯂乬䖯㸠њ⏅ܹ㗠ध᳝ ៤ᬜⱘⷨおˈপᕫњЄ⸩ⱘ៤ᵰˈᵕ໻ഄ㓧㾷њ䖭ϔᚙᔶˈԚ⾏䯂乬ⱘ᳔㒜㾷‫އ‬ 䖬᳝ᕜ䭓ⱘ䏃㽕䍄DŽϔᮍ䴶ˈ⬅Ѣ⦄᳝ⱘ䗮⫼㔥Ḑ⫳៤ᡔᴃЁ䛑㒧ড়њᕜ໮ਃথ ᓣⱘ㾘߭੠ㅫ⊩ˈ೼⧚䆎੠ᅲ䏉Ϟഛ᳝ϔѯ 㗠᳾‫ⱘއ‬ᓔ䯂乬˄open problems˅ ˗ ঺ϔᮍ䴶ˈԈ䱣ⴔ䅵ㅫᴎᡔᴃǃ᭄ؐ∖㾷⧚䆎ঞⳌ݇ᑨ⫼ᄺ⾥ⱘথሩˈ㔥Ḑ⫳៤ ᡔᴃⱘⷨおজ䴶Јᮄⱘ㽕∖੠ᣥ៬ˈབᑊ㸠㔥Ḑ⫳៤ᡔᴃⱘⷨおDŽ 䖥क໮ᑈᴹˈ೼Ꮉ⿟Ϣ⾥ᄺ䅵ㅫⱘᕜ໮乚ඳˈབ䅵ㅫ⌕ԧࡼ࡯ᄺ˄CFD: Computational Fluid Dynamics ˅ǃ 䅵 ㅫ ⬉ ⺕ ᄺ ˄ CEM: Computational Electro-Magnetics˅ˈЎᇍᶤѯ䯂乬䖯㸠᳈㊒㒚ⱘ῵ᢳ੠ߚᵤˈᕔᕔ䳔㽕⫳៤໻㾘 ῵ⱘ㔥Ḑ᭄᥂ˈᅗৃ㛑ࣙ৿໮䖒 108 ᭄䞣㑻ⱘϝ㓈ऩ‫ ៪ܗ‬109 ᭄䞣㑻ⱘᑇ䴶ऩ‫ܗ‬ ˄⫮㟇᳈໮˅[1, 2]DŽ೼⦄᳝ⱘ䅵ㅫ㛑࡯ϟˈ೼ऩᴎϞᑣ߫࣪ഄ⫳៤བℸᑲ໻ⱘ 㔥Ḑ᭄᥂Ӯ೼ᯊ䯈੠‫ݙ‬ᄬϞഛᔶ៤Ϲ䞡ⱘᗻ㛑⫊乜ˈ⡍߿ᰃ‫ݙ‬ᄬ⫊乜ᕜ䲒䎼䍞DŽ

ԛ 1 Ⴣ ༢ৢ

⫼⹀ⲬѸᤶᡔᴃ˄disk swap˅ৃҹ㓧㾷ऩᴎ‫ݙ‬ᄬϡ䎇ⱘ䯂乬ˈԚ䖛໮ഄՓ⫼ᅗӮ Փᕫ䅵ㅫᯊ䯈᮴⊩᥹ফDŽᑊ㸠㔥Ḑ⫳៤ᡔᴃⱘⷨおℷᰃ೼䖭ϔ㚠᱃ϟሩᓔⱘˈ䖥 ѯᑈᴹг៤Ў㔥Ḑ⫳៤ᡔᴃⷨおⱘ⛁⚍Пϔ[1-35]DŽ

1.2 㔥Ḑ⫳៤ⱘ෎ᴀὖᗉ 1.2.1 㒧ᵘ࣪㔥Ḑ੠䴲㒧ᵘ࣪㔥Ḑ 㔥ḐৃߚЎ㒧ᵘ࣪˄structured˅੠䴲㒧ᵘ࣪˄unstructured˅ϸ㉏DŽ㒧ᵘ࣪㔥 ḐЁˈ↣Ͼ‫ݙ‬䚼㡖⚍䛑㹿Ⳍৠ᭄Ⳃⱘऩ‫ܗ‬᠔ࣙ৿˗㗠䴲㒧ᵘ࣪㔥ḐЁˈࣙ৿↣Ͼ ‫ݙ‬䚼㡖⚍ⱘऩ‫ܗ‬᭄Ⳃᰃϡ⹂ᅮⱘDŽབᣝ✻ϔᅮ㾘߭ᇍ㒧ᵘ࣪㔥Ḑⱘ㡖⚍䖯㸠㓪 োˈ㡖⚍П䯈ⱘⳌ䚏݇㋏ৃ䱤ᓣ㸼⼎Ѣ㡖⚍㓪োПЁˈ䖭ϔ⡍ᗻՓᕫՓ⫼㒧ᵘ࣪ 㔥Ḑⱘ᭄ؐ∖㾷⿟ᑣ೼ᄬ‫⫼߽ټ‬੠ᯊ䯈ᬜ⥛Ϟ䛑᳝Ӭ࢓[36]DŽߚഫ㒧ᵘ࣪㔥Ḑ ˄block structured mesh˅ᰃ㒧ᵘ࣪੠䴲㒧ᵘ࣪㔥ḐП䯈ⱘϔϾᡬ㹋ˈ䗮ᐌⱘ‫⊩خ‬ ᰃ˖ߚ㾷䯂乬ඳЎᄤഫ˗䱣ৢ೼↣ϾᄤഫϞ⫳៤㒧ᵘ࣪㔥Ḑ˗᳔㒜ড়ᑊᄤഫ㔥Ḑ Ўᭈԧ㔥ḐDŽϔϾऎඳৃ㛑ৠᯊࣙ৿㒧ᵘ࣪੠䴲㒧ᵘ࣪ϸ⾡㔥Ḑˈ⿄䖭⾡㔥Ḑᔶ ᓣЎ⏋ড়㔥Ḑ˄hybrid mesh˅[37, 38]DŽ 㒧ᵘ࣪㔥Ḑⱘ޴ԩ䗖ᑨ㛑࡯䗮ᐌ䕗ᏂˈϨᕜ䲒໘⧚㔥Ḑ⭣ᆚ䖛⏵˗Ԛ㒧ᵘ࣪ 㔥Ḑ೼䌈ԧऩ‫⫳ⱘܗ‬៤੠⡍ᅮ⠽⧚⦄䈵ⱘᤩᤝϞҡ✊᳝ⴔ㞾Ꮕ⣀⡍ⱘӬ࢓ˈ಴ℸ ೼བ CFD ㄝ⡍ᅮⷨお乚ඳҡ✊᳝ᑓ⊯ⱘᑨ⫼ˈϨⳂࠡҡ೼⏅ܹⷨおПЁDŽ ⳌᇍѢ㒧ᵘ࣪㔥Ḑˈ䴲㒧ᵘ࣪㔥Ḑᇍ໡ᴖऎඳ䖍⬠੠㑺ᴳᚙᔶ᳝ᕜᔎⱘ䗖ᑨ 㛑࡯ˈϨ㛑೼䖲㓁ऎඳ‫ݙ‬ᅲᮑ㔥Ḑ⭣ᆚ᥻ࠊˈ⬅ℸ೼ӫ໮乚ඳ䛑᳝ᕜདⱘᑨ⫼ˈ ᰃᔧࠡ㔥Ḑ⫳៤ᡔᴃⷨおⱘЏ㽕ᇍ䈵DŽ ᴀ᭛᠔ⷨおⱘ㔥Ḑ⫳៤ᡔᴃ䛑ሲѢ䴲㒧ᵘ࣪㔥Ḑ⫳៤ᡔᴃ㣗⭈DŽ

1.2.2 㔥Ḑ䋼䞣᥻ࠊⱘ෎ᴀ㽕∖ 䰸њ㽕⒵䎇෎ᴀⱘ޴ԩǃᢧᠥঞ⠽⧚ϞⱘⳌᆍᗻᴵӊ໪ˈ㸵䞣ϔϾ㔥Ḑདണ ⱘЏ㽕ᷛ‫ޚ‬䖬ࣙᣀ݊䖍⬠䗖ᑨ㛑࡯ⱘᔎᔅǃᆚᑺ᥻ࠊㄪ⬹ᅲᮑⱘ៤ࡳϢ৺ҹঞऩ ‫ܗ‬ᔶ⢊ⱘӬࡷDŽ 䯂乬ඳⱘ޴ԩᔶ⢊ᕔᕔᰃ໡ᴖⱘˈ⫮㟇ᏺ᳝᳆䴶䖍⬠DŽ೼ऎඳ‫ݙ‬䚼ˈЎߚࡆ ‫݋‬໛ϡৠ⡍ᗻⱘ䯂乬ඳˈ䖬ৃ㛑䳔㽕๲ࡴϔѯ‫ݙ‬䚼㑺ᴳˈབ⛁Ӵᇐ䯂乬៪᥹㾺䯂 乬ߚᵤЁϡৠᴤ᭭ⱘѸ⬠䴶ˈᮁ㺖࡯ᄺ䯂乬ߚᵤЁⱘ‫ݙ‬䚼㺖㒍ㄝDŽЎ㊒⹂ᦣ䗄䖭 ѯ䖍⬠ˈ㔥Ḑ䳔‫݋‬໛ϔᅮⱘ޴ԩ㞾䗖ᑨ㛑࡯ˈབ೼᳆⥛䕗໻ഄᮍˈऩ‫ܗ‬ሎᇌг㽕 Ⳍᑨ‫ޣ‬ᇥˈҹ‫ޣ‬ᇥ⾏ᬷ䇃ᏂDŽЎֱ䆕䖭ѯ㑺ᴳҹℷ⹂ⱘ޴ԩ੠ᢧᠥᔶᓣᄬ೼Ѣ㔥 ḐЁˈ೼㑺ᴳ䰘䖥ᕔᕔӮᔶ៤ϔѯ䋼䞣䕗Ꮒⱘऩ‫ܗ‬DŽ

2

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

㔥Ḑᆚᑺ᥻ࠊㄪ⬹ⱘ䗝ᢽᰃߚᵤᬜ⥛੠ߚᵤ㊒ᑺᡬ㹋ⱘ㒧ᵰDŽϔ㠀ഄˈࡴᆚ 㔥Ḑৃҹᦤ催ߚᵤ㒧ᵰⱘ㊒ᑺˈԚৠᯊӮ䰡Ԣߚᵤ䖛⿟ⱘᯊぎᬜ⥛DŽԚᅲ偠г㸼 ᯢˈᔧ㔥Ḑࡴᆚࠄϔᅮ⿟ᑺᯊˈ‫ࡴݡ‬ᆚ㔥Ḑᇍߚᵤ㒧ᵰⱘᕅડৃ㛑ᖂТ݊ᖂDŽ಴ ℸˈ㔥Ḑᑊϡᰃ䍞ᆚ䍞དˈᅗ੠䯂乬ᴀ䑿ⱘ⡍ᗻঞᳳᳯᕫࠄⱘߚᵤ㊒ᑺ᳝݇DŽℷ ⹂ⱘᆚᑺ᥻ࠊㄪ⬹ϟ᠔⫳៤ⱘ㔥Ḑˈ݊ᆚᑺব࣪ᑨ䆹੠᠔㽕ߚᵤⱘ⠽⧚䞣ⱘẃᑺ 㾘ᕟֱᣕϔ㟈ˈབ೎ԧ࡯ᄺߚᵤЁˈ޴ԩऎඳⱘ‫ݙ‬ᄨ䰘䖥ᆍᯧߎ⦄ᑨ࡯䲚Ё⦄䈵ˈ Ⳍᑨഄˈ‫ݙ‬ᄨ䰘䖥ⱘऩ‫ܗ‬ህᑨ䆹԰ࡴᆚ໘⧚DŽ೼ CFD 乚ඳˈ䖍⬠ሖ㔥Ḑ੠‫ݙ‬䚼 㔥Ḑⱘऩ‫ܗ‬ሎᇌৃ㛑᳝Ϟⱒ‫ⱘס‬Ꮒ䎱ˈ⫮㟇᳈໮ˈ㢹䖛⏵ऎඳ໾䖛⣁じˈ៪ऩ‫ܗ‬ 䖛⏵ㄪ⬹䞛⫼ϡᔧˈᵕᯧ⫳៤ϔѯᔶᗕ䕗Ꮒⱘ䖛⏵ऩ‫ܗ‬DŽ঺໪ˈ೼ᶤѯ乚ඳˈ㔥 Ḑ⫳៤఼䖬㹿㽕∖㛑ᇍᏆ᳝㔥Ḑ䖯㸠㉫࣪˄derefinement˅៪㒚࣪˄refinement˅ ໘⧚ˈे‫݋‬໛䕗ᔎⱘሔ䚼ᆚᑺ᥻ࠊ㛑࡯DŽϔ㠀㗠㿔ˈ㔥Ḑ㉫࣪㽕↨㒚࣪᳈䲒DŽ ऩ‫ܗ‬ᔶ⢊ᇍߚᵤ䖛⿟ⱘᬊᬯᗻ੠ߚᵤ㒧ᵰⱘ㊒ᑺ᳝㟇݇䞡㽕ⱘᕅડˈेՓߚ ᵤ㒧ᵰᰃℷ⹂ⱘˈᔶ⢊Ꮒⱘऩ‫ܗ‬೼ᦦؐᕫࠄऩ‫ݙܗ‬䚼⠽⧚എⱘؐᯊгӮѻ⫳ᕜ໻ ⱘ䇃ᏂDŽϔ㠀㗠㿔ˈᔶ⢊㾘߭ⱘऩ‫ܗ‬㹿䅸Ў䋼䞣᳔ӬˈབѠ㓈ⱘℷϝ㾦ᔶǃℷᮍ ᔶ੠ϝ㓈ⱘℷಯ䴶ԧ੠ℷ݁䴶ԧˈ䖭⾡ऩ‫ܗ‬г㹿⿄Ў৘৥ৠᗻऩ‫ܗ‬DŽԚџᅲϞˈ ऩ‫ܗ‬དണⱘ䆘߸ᷛ‫ޚ‬੠᠔Փ⫼ⱘ᭄ؐᮍ⊩ঞ∖㾷䯂乬ⱘᗻ䋼ᰃⳌ݇ⱘˈ೼ߚᵤᶤ ѯ䯂乬ᯊˈབ CFD 乚ඳ⬅ৃय़㓽៪ϡৃय़㓽 Navier-Stokes ᮍ⿟ᦣ䗄ⱘ㉬ᗻ⌕ԧ 䯂乬ˈা᳝Փ⫼⣁䭓ⱘ৘৥ᓖᗻऩ‫ܗ‬ᠡ㛑ᕫࠄℷ⹂ⱘ㒧ᵰ[39]DŽ

1.3 ᑊ㸠㔥Ḑ⫳៤ⱘ෎ᴀὖᗉ 1.3.1 ᑊ㸠㔥Ḑ⫳៤ㅫ⊩ⱘߚ㉏ ⦄᳝ⱘᑊ㸠㔥Ḑ⫳៤ㅫ⊩޴Т䛑䳔㽕䗮䖛ऎඳߚ㾷ⱘᮍᓣᇚॳ䯂乬ߦߚ៤ ᄤ䯂乬ˈᄤ䯂乬П䯈ⱘ޴ԩ䖍⬠⿄ЎѸ⬠䴶˄interface˅ DŽḍ᥂Ѹ⬠䴶㔥Ḑ⫳៤੠ ᄤ䯂乬‫ݙ‬䚼㔥Ḑ⫳៤П䯈ⱘ‫ˈ㋏݇ৢܜ‬ᑊ㸠㔥Ḑ⫳៤ㅫ⊩ৃҹߚЎϝ㉏[32]˖ ˄1˅ৠℹ໘⧚㉏˖ৠℹᅠ៤Ѹ⬠䴶㔥Ḑ⫳៤੠ᄤ䯂乬‫ݙ‬䚼㔥Ḑ⫳៤ӏࡵ˗ ˄2˅ࠡ㕂໘⧚㉏˖‫⫳ܜ‬៤Ѹ⬠䴶㔥Ḑˈৢ⫳៤ᄤ䯂乬‫ݙ‬䚼㔥Ḑ˗ ˄3˅ৢ㕂໘⧚㉏˖‫⫳ܜ‬៤ᄤ䯂乬‫ݙ‬䚼㔥Ḑˈৢ⫳៤Ѹ⬠䴶㔥ḐDŽ ḍ᥂ᑊ㸠㔥Ḑ⫳៤ㅫ⊩ᇍⳌᑨᑣ߫࣪㔥Ḑ⫳៤ㅫ⊩ⱘ໡⫼⿟ᑺˈ Chrisochoides ᇚ݊ߚЎ㋻㗺ᓣǃ㾷㗺ᓣ੠䚼ߚ㗺ড়ᓣϝ㉏[25]DŽ

1.3.2 ᑊ㸠㔥Ḑ⫳៤ㅫ⊩ⱘ䆘Ӌᷛ‫ޚ‬੠Ⳃᷛ Ў㸵䞣ϔϾᑊ㸠㔥Ḑ⫳៤ㅫ⊩ⱘӬࡷˈChrisochoides 㒭ߎњϝϾᷛ‫[ޚ‬25]˖ ˄1˅〇ᅮᗻ˄stability˅˖ᑊ㸠ㅫ⊩㛑৺পᕫ੠ᑣ߫࣪ㅫ⊩ৠḋⱘ㔥Ḑ䋼䞣˗

3

ԛ 1 Ⴣ ༢ৢ

˄2˅໡⫼ᗻ˄code-reusing˅ ˖ᑊ㸠ㅫ⊩㛑৺໡⫼Ꮖ᳝ⱘᑣ߫࣪㔥Ḑ⫳៤῵ഫ˗ ˄3˅ৃᠽሩᗻ˄scalability˅ ˖ᑊ㸠ㅫ⊩䱣ⴔ䯂乬㾘῵ⱘᠽ໻ˈՓ⫼ৠ↨๲䭓 ⱘ䅵ㅫ䌘⑤ˈ㛑৺ֱᣕᑊ㸠ᬜ⥛ⱘ〇ᅮDŽ 䳔㽕⊼ᛣⱘᰃˈሑㅵ໻໮᭄ᚙᔶϟⷨお㗙া݇⊼䅵ㅫᯊ䯈ⱘৃᠽሩᗻˈ᳝ᯊ ‫׭‬г䳔㽕⊼ᛣᄬ‫ټ‬䌘⑤ⱘৃᠽሩᗻˈ↨བ೼߽⫼㚠᱃㔥Ḑ᥻ࠊऎඳߚ㾷ᯊˈ㢹㚠 ᱃㔥Ḑⱘᆚᑺ੠᳔㒜㔥ḐⱘᆚᑺᰃⳌᔧⱘˈ߭䳔㽕㗗㰥ߚᏗᓣᄬ‫ټ‬㚠᱃㔥ḐDŽ Cougny ㄝ[32]䅸Ўㅫ⊩ⱘᑊ㸠ᬜ⥛гᰃϔϾ䞡㽕ᷛ‫ˈޚ‬ᅗЏ㽕ᣛ໘⧚఼䌘⑤ ⱘ߽⫼⿟ᑺˈ䳔㽕ᇚ݊੠ৃᠽሩᗻऎߚᓔᴹDŽৃᠽሩⱘᑊ㸠ㅫ⊩ᑊϡϔᅮ催ᬜˈ 㗠催ᬜⱘㅫ⊩гৃ㛑ϡৃᠽሩDŽ ⬅Ѣᑊ㸠㔥Ḑ⫳៤ᰃЎৢ㓁ⱘᑊ㸠∖㾷԰᭄᥂‫ޚ‬໛ˈ಴ℸˈ೼䅼䆎ᑊ㸠㔥Ḑ ⫳៤ㅫ⊩ⱘᬜ⥛ᯊˈ䖬䳔㽕݇⊼ϸ㗙П䯈ⱘ㸨᥹ˈҹᦤ催ᭈϾᑊ㸠῵ᢳ䖛⿟ⱘᬜ ⥛DŽϔ㠀㗠㿔ˈЎՓᕫᑊ㸠∖㾷ⱘᬜ⥛᳔催ˈߚ䜡㒭↣ϾখϢ䅵ㅫⱘ໘⧚఼ⱘ㔥 Ḑ㡖⚍᭄˄᳝ᯊг⫼ऩ‫ܗ‬᭄԰Ўᣛᷛ˅ᑨ䖥ԐⳌㄝˈϨ໘⧚఼П䯈ⱘ݅ѿ㡖⚍᭄ ᑨሑৃ㛑᳔ᇣˈ䖭ḋֱ߭䆕೼ᑊ㸠∖㾷ᯊ㛑ᅲ⦄བϟϸϾ෎ᴀⳂᷛ˖ ˄1˅䋳䕑ᑇ㸵˄loading balance˅੠ ˄2˅䗮᳔ֵᇣ࣪˄minimization of communications˅ DŽ ೼䖭䳔㽕ऎߚϸϾĀ䋳䕑āὖᗉˈϔϾᰃᑊ㸠㔥Ḑ⫳៤ᯊⱘ䋳䕑ˈϔϾᰃᑊ 㸠∖㾷ᯊⱘ䋳䕑ˈϞ䴶᠔䇈ⱘĀ䋳䕑ᑇ㸵āᰃ䩜ᇍᑊ㸠∖㾷㗠㿔ⱘDŽᑊ㸠∖㾷䋳 䕑ᑇ㸵ᑊϡᛣੇⴔᑊ㸠㔥Ḑ⫳៤гᰃ䋳䕑ᑇ㸵ⱘˈ಴Ў㔥Ḑ⫳៤ᅲ䰙⍜㗫ⱘᯊ䯈 䰸੠㔥Ḑⱘ㾘῵᳝݇ˈ䖬੠ᆚᑺ᥻ࠊㄪ⬹ঞऎඳⱘ޴ԩᔶ⢊ㄝ݊ᅗ಴㋴Ⳍ݇DŽ ⦄᳝ⱘ໻䚼ߚᑊ㸠㔥Ḑ⫳៤ㅫ⊩᮴⊩Ⳉ᥹ৠᯊ⒵䎇䋳䕑ᑇ㸵੠䗮᳔ֵᇣ࣪ ⱘⳂᷛDŽ಴ℸ೼Ӵ㒳ⱘᑊ㸠῵ᢳ⦃๗Ёˈ೼ᑣ߫࣪៪ᑊ㸠㔥Ḑ⫳៤ৢˈ䳔㽕ϔϾ 㔥Ḑߦߚ៪䞡ߦߚ˄mesh partitioning or repartitioning˅⦃㡖ˈҹᐂࡽᅲ⦄Ϟ䗄Ⳃ ᷛDŽ㔥Ḑߦߚ៪䞡ߦߚ⦃㡖䳔㽕೼ϡৠ໘⧚఼П䯈⿏ࡼ໻䞣ⱘ㔥Ḑֵᙃˈ⡉ᡃᕜ ໮ⱘ I/O ᪡԰ˈᔧ㔥Ḑ㾘῵ᕜ໻ᯊˈᅗӮ៤Ў䰡ԢᭈϾᑊ㸠∖㾷䖛⿟ᬜ⥛ⱘ䞡㽕 ॳ಴Пϔ[11, 40]DŽ಴ℸˈ㢹㛑೼ᑊ㸠㔥Ḑ⫳៤ⱘৠᯊᕫࠄᑊ㸠∖㾷᠔䳔㽕ⱘ㔥Ḑ ߦߚ㒧ᵰˈ⍜䰸㔥Ḑ䞡ߦߚ⦃㡖៪䰡Ԣ݊ҷӋˈ߭ৃ໻ᐙᑺഄᦤ催ᭈϾᑊ㸠῵ᢳ 䖛⿟ⱘᬜ⥛DŽ

1.3.3 ᭄᥂ᑊ㸠੠ӏࡵᑊ㸠 ᑊ㸠㔥Ḑ⫳៤ㅫ⊩Џ㽕ࣙᣀϸ㉏㓪⿟῵ᓣ˖᭄᥂ᑊ㸠੠ӏࡵᑊ㸠DŽ ᭄᥂ᑊ㸠ㅫ⊩ᰃߚ㗠⊏П˄divide and conquer˅ᗱᛇ೼ᑊ㸠ㅫ⊩䆒䅵Ϟⱘ‫݌‬ ൟᑨ⫼Пϔˈᅗⱘ݇䬂⦃㡖ࣙᣀ᭄᥂ߚ㾷੠᭄᥂᯴ᇘDŽࠡ㗙ᣛᇚ䯂乬ߚ㾷៤ᄤ䯂 乬˗ৢ㗙ᣛᇚᄤ䯂乬ߚ䜡ࠄϡৠⱘ໘⧚఼ϞDŽ ӏࡵᑊ㸠ㅫ⊩ϔ㠀ᰃ㒚㉦ᑺሖ⃵ⱘ˄fine-grain level˅ˈ䳔㽕থᥬᑣ߫࣪ㅫ⊩ Ё৘Ͼ䖤㸠⦃㡖П䯈ᄬ೼ⱘᑊ㸠ᑺ˄concurrencies˅ ˈᇚㅫ⊩㒘㒛៤ৃҹᑊথᠻ㸠 4

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

ⱘᄤӏࡵⱘ㒘ড়DŽ⬅ѢӏࡵП䯈ᕔᕔᄬ೼᭄᥂ゲѝˈ៪೼ᠻ㸠乎ᑣϞѦⳌձ䌪ˈ ӏࡵᑊ㸠ㅫ⊩䖤㸠ᯊӮѻ⫳໻䞣ⱘ䗮ֵ੠ৠℹ䌍⫼ˈ䖭ৃ㛑ӮϹ䞡䰡Ԣㅫ⊩ⱘᑊ 㸠ᬜ⥛DŽ಴ℸˈӏࡵᑊ㸠ㅫ⊩ⱘ䆒䅵䰸䳔㽕ᇍᑣ߫࣪ㅫ⊩ⱘ৘Ͼ⦃㡖᳝䗣ᕏⱘњ 㾷ˈҹ䆒䅵ߎড়⧚ⱘᑊ㸠῵ൟ໪ˈ䖬䳔㽕䖤⫼໡ᴖⱘᑊ㸠㓪⿟ᡔᎻᴹᦤ催ᑊ㸠ㅫ ⊩ⱘᬜ⥛DŽ↨བˈ䗮䖛ᓖℹᴎࠊ੠䞡໡䅵ㅫᴹሣ㬑催ᯖⱘৠℹ䌍⫼DŽ঺໪ˈӏࡵ ᑊ㸠ㅫ⊩ᐌᐌг䳔㽕ᑨ⫼ϔᅮⱘ᭄᥂ߚ㾷ᡔᎻˈҹℸሣ㬑ᑊথᠻ㸠ⱘᄤӏࡵᇍ޴ ԩ᭄᥂ⱘゲѝ᠔ѻ⫳ⱘৠℹ੠䗮ֵ䌍⫼[13]DŽ ⬅Ѣৃᠽሩⱘӏࡵᑊ㸠ㅫ⊩೼䆒䅵੠ᅲ⦄Ϟ䛑ᄬ೼ೄ䲒ˈᔧࠡᑊ㸠㔥Ḑ⫳៤ ㅫ⊩ⷨおⱘЏ⌕ᰃ᭄᥂ᑊ㸠ㅫ⊩ⱘⷨおDŽ᭄᥂ᑊ㸠ㅫ⊩೼޴ԩϞӮᓩܹҎᎹ䖍 ⬠ˈབᵰҎᎹ䖍⬠੠߱ྟ䖍⬠䴴ᕫ䖛䖥ˈ೼݊䰘䖥Ӯѻ⫳䋼䞣䕗Ꮒऩ‫ˈܗ‬Ң㗠ᕅ ડᑊ㸠ㅫ⊩ⱘ〇ᅮᗻ˗㢹໘⧚ҎᎹ䖍⬠㗫ᯊ䖛໮ˈӮ䰡ԢᭈϾᑊ㸠ㅫ⊩ⱘᬜ⥛੠ ৃᠽሩᗻ˗ҎᎹ䖍⬠Ϟ㔥Ḑⱘϔ㟈ᗻᇍㅫ⊩ঞ᭄᥂㒧ᵘⱘ䆒䅵гᰃϔϾᣥ៬DŽ

1.3.4 ᭄᥂ߚ㾷 ᭄᥂ߚ㾷໻䛑䗮䖛޴ԩߚ㾷ᴹᅲ⦄ˈᅗࣙᣀϸ㉏˖ϔ㉏ߦߚ㽚Ⲫ䯂乬ඳⱘ⿔ ⭣㔥Ḑˈг⿄⾏ᬷऎඳߚ㾷˗ϔ㉏Ⳉ᥹ߚ㾷⫼⚍ǃ㒓ǃ䴶ㄝ‫ܗ‬㋴ᦣ䗄ⱘ CAD ῵ ൟˈг⿄䖲㓁ऎඳߚ㾷[25]DŽ ⾏ᬷऎඳߚ㾷ᮍᓣজৃߚЎϸ⾡˖ϔ⾡੠㔥Ḑ㒚࣪ᡔᎻⳌ݇˗ϔ⾡੠㚠᱃㔥 ḐⳌ݇DŽ㔥Ḑ㒚࣪ᡔᎻ䗮䖛ᇍ⿔⭣㔥Ḑⱘϡᮁࡴᆚ⫳៤᳔㒜㔥Ḑˈ಴ℸৃ䗮䖛ߦ ߚ㒚࣪䖛⿟Ёⱘ⿔⭣㔥Ḑᅠ៤᭄᥂ߚ㾷䖛⿟[2]DŽ㚠᱃㔥Ḑৃҹ䗮䖛 Cartesian ߚ 㾷៪ಯ/ܿঝᷥߚ㾷ᕫࠄˈᅗϔ㠀㽚ⲪᭈϾ䯂乬ඳ[5]DŽ 䖲㓁ऎඳߚ㾷ᮍᓣ߭Ⳉ᥹೼ CAD ῵ൟϞ䖯㸠ߦߚˈ↨བᑨ⫼Ё䕈⊩[26]DŽᕜ ໮෎Ѣߚ㗠⊏П˄divide-and-conquer˅ᗱᛇⱘІ㸠㔥Ḑ⫳៤ㅫ⊩೼㔥Ḑ⫳៤ࠡࣙ ৿ϔϾ޴ԩߚ㾷䖛⿟[41-44]ˈ䖲㓁ऎඳߚ㾷ᮍᓣᰃᑊ㸠ℸ㉏ㅫ⊩ᯊ᭄᥂ߚ㾷ᮍḜ ⱘ໽✊䗝ᢽDŽ

1.3.5 ᭄᥂᯴ᇘ˖䴭ᗕ䋳䕑ᑇ㸵੠ࡼᗕ䋳䕑ᑇ㸵 Ңབԩ䆒䅵䋳䕑ᑇ㸵ㄪ⬹ⱘ㾦ᑺˈᑊ㸠㔥Ḑ⫳៤ㅫ⊩ⱘ᭄᥂᯴ᇘᴎࠊৃߚЎ ϸ㉏˖䴭ᗕⱘ੠ࡼᗕⱘDŽ 䴭ᗕⱘ᭄᥂᯴ᇘᴎࠊᰃᣛ೼᭄᥂ߚ㾷ৢǃᑊ㸠㔥Ḑ⫳៤ࠡᇚ᠔᳝ᄤ䯂乬᯴ᇘ ࠄ໘⧚఼ϞˈϨ೼㔥Ḑ⫳៤䖛⿟Ёᄤ䯂乬ϡӮ೼ϡৠⱘ໘⧚఼П䯈⿏ࡼDŽ䴭ᗕᮍ ᓣϟˈ໘⧚఼ⱘ᭄ⳂᕔᕔㄝѢᄤ䯂乬ⱘ᭄Ⳃ˄ϡᰃᖙ㽕ᴵӊ˅ˈᄤ䯂乬੠໘⧚఼ П䯈ᄬ೼ㅔऩⱘϔϔ᯴ᇘ݇㋏DŽ ࡼᗕⱘ᭄᥂᯴ᇘᴎࠊ೼ᑊ㸠㔥Ḑ⫳៤ᯊ‫އ‬ᅮᄤ䯂乬੠໘⧚఼П䯈ⱘ᯴ᇘ݇ ㋏DŽϔ㠀ഄˈࡼᗕᮍᓣϟˈᄤ䯂乬᭄Ⳃ䖰䖰໻Ѣ໘⧚఼᭄Ⳃˈᄤ䯂乬੠໘⧚఼П

5

ԛ 1 Ⴣ ༢ৢ

䯈ᰃ໮ᇍϔⱘ᯴ᇘˈⳌᑨⱘ᭄᥂ߚ㾷ᮍᓣг⿄䖛ᑺߚ㾷˄overdecomposition˅ DŽ ᭄᥂᯴ᇘⱘ佪㽕Ⳃᷛᰃᑇ㸵৘Ͼ໘⧚఼Ϟⱘ䋳䕑ˈ䙓‫ܡ‬໘⧚఼ぎ䯆DŽ಴ℸˈ 䴭ᗕ៪ࡼᗕⱘ᭄᥂᯴ᇘᴎࠊ䗮ᐌߚ߿੠䴭ᗕ៪ࡼᗕ䋳䕑ᑇ㸵ㄪ⬹ⳌᇍᑨDŽ㢹ᑊ㸠 㔥Ḑ⫳៤ࠡ㛑‫⹂ޚ‬乘Ԅ↣Ͼᄤ䯂乬ⱘ䋳䕑ˈ߭䴭ᗕ䋳䕑ᑇ㸵ㄪ⬹ᰃ䗖ᅰⱘ˗໡ᴖ ᆚᑺ᥻ࠊᮍᓣϟˈ䋳䕑乘Ԅ䴲ᐌೄ䲒ˈℸᯊᐌ䞛⫼ࡼᗕ䋳䕑ᑇ㸵ㄪ⬹DŽࡼᗕ䋳䕑 ᑇ㸵ㄪ⬹೼䖤㸠ᯊᇚӏࡵϡᮁথ䗕㒭ぎ䯆ⱘ໘⧚఼ˈֱ䆕њ໘⧚఼䌘⑤ⱘ‫߽ߚܙ‬ ⫼DŽ

1.4 ᴀ᭛ⷨおⳂⱘǃ‫ݙ‬ᆍঞ㒘㒛 Ў⒵䎇Ꮉ⿟Ϣ⾥ᄺ䅵ㅫˈ⡍߿ᰃ໻㾘῵Ꮉ⿟Ϣ⾥ᄺ䅵ㅫⱘᅲ䰙䳔㽕ˈᴀ᭛ᦤ ߎᑊᅲ⦄њϔ㋏߫Ѡ㓈ঞϝ㓈ᑣ߫࣪ঞᑊ㸠㔥Ḑ⫳៤ㅫ⊩DŽᇍᑊ㸠㔥Ḑ⫳៤ㅫ⊩ ⱘⷨお੠ᅲ⦄ˈᴀ᭛ⱘϔϾ෎ᴀ㾖⚍ᰃ˖དⱘᑊ㸠㔥Ḑ⫳៤఼ᕔᕔ䳔㽕෎ѢϔϾ དⱘᑣ߫࣪㔥Ḑ⫳៤఼DŽϡৠⱘㅫ⊩ˈ៪㗙Ⳍৠㅫ⊩ⱘϡৠᅲ⦄ˈ݊ᗻ㛑ᕔᕔ᳝ ޴‫⫮ס‬㟇क޴‫ⱘס‬ᏂᓖDŽབᵰ㔎УϔϾདⱘᑣ߫࣪㔥Ḑ⫳៤఼ˈᑊ㸠᠔ᏺᴹⱘད ໘Ӯ㹿ᢉ⍜ᕜ໮DŽ಴ℸˈ䰸䩜ᇍ㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪ⱘᶤѯ䯂乬ᦤߎ㾷‫އ‬ᮍḜ໪ˈ ᴀ᭛䖬⡍߿⊼䞡䅼䆎੠ߚᵤ⿟ᑣⱘ᭄᥂㒧ᵘǃ‫ݙ‬ᄬՓ⫼ᬜ⥛ǃㅫ⊩ᗻ㛑Ӭ࣪ҹঞ ⿟ᑣ‫ع‬ໂᗻㄝЏ乬DŽ 䰸೼㄀ 3 ゴҟ㒡ϔ㉏ᑣ߫࣪ঞᑊ㸠ᑇ䴶ಯ䖍ᔶ㔥Ḑ⫳៤ㅫ⊩໪ˈᴀ᭛ⱘЏ㽕 ‫ݙ‬ᆍ䛑ᰃೈ㒩ᑣ߫࣪ঞᑊ㸠 Delaunay 㔥Ḑ⫳៤˄PDMG: Parallel Delaunay Mesh Generation˅ㅫ⊩ⱘⷨおঞᅲ⦄ሩᓔⱘˈ᳔݊㒜Ⳃⱘ᳝Ѡ˖ ˄1˅ᅲ⦄催ᬜǃ‫ع‬ໂǃᖿ䗳ⱘᑣ߫࣪ Delaunay 㔥Ḑ⫳៤఼˗ ˄2˅ᓎゟϔ༫‫ع‬ໂⱘᑊ㸠㔥Ḑ⫳៤Ḛᶊˈ㒧ড়ᑣ߫࣪ Delaunay 㔥Ḑ⫳៤఼ˈ ៤ࡳഄ೼Ёㄝ㾘῵ⱘᑊ㸠៪ߚᏗᓣ⦃๗Ё⫳៤ϞғϾಯ䴶ԧऩ‫ܗ‬DŽ ᴀ᭛ⱘЏ㽕ⷨお‫ݙ‬ᆍঞপᕫⱘⷨお៤ᵰࣙᣀ˖ ˄1˅㒧ড়῵ᵓ⊩੠㞾ࡼऎඳߚ㾷ㅫ⊩ˈ߯䗴ᗻഄᦤߎᑊᅲ⦄њϔ⾡ᮄⱘܼ 㞾ࡼ䴲㒧ᵘ࣪ಯ䖍ᔶ㔥Ḑ⫳៤ㅫ⊩ˈᅗⱘᯊ䯈ᬜ⥛ᰃ㒓ᗻⱘˈ‫݋‬໛䕗ᔎⱘ޴ԩ䗖 ᑨ㛑࡯ˈϨᔶ៤ⱘ᳔㒜㔥Ḑ䋼䞣䕗催ˈ݊ᑊ㸠⠜ᴀ೼ᅲ偠Ёг㸼⦄ߎ㡃དⱘৃᠽ ሩᗻDŽӴ㒳ⱘᑊ㸠῵ᢳ䖛⿟Ёˈᑊ㸠㔥Ḑ⫳៤ৢ䳔㽕䖯㸠㔥Ḑ䞡ߦߚˈ䆹⦃㡖ᓩ ܹ໻䞣ⱘ I/O ᪡԰ˈᰃᭈϾᑊ㸠῵ᢳ䖛⿟ⱘЏ㽕⫊乜ПϔDŽ೼ᑊ㸠ಯ䖍ᔶ㔥Ḑ⫳ ៤ㅫ⊩ⱘⷨおঞᅲ⦄Ёˈ៥Ӏ㗗㰥њᄤඳⱘ䖲᥹݇㋏ˈᓩܹᄤඳ೒˄SDG: SubDomain Graph˅ⱘὖᗉˈᑊ㒧ড়䴭ᗕ೒ߦߚㄪ⬹ˈՓᕫᑊ㸠㔥Ḑ⫳៤੠ߦߚ 䖭ϸϾӏࡵৃৠℹᅠ៤ˈҢ㗠໻໻ᦤ催њᭈϾᑊ㸠῵ᢳ䖛⿟ⱘᬜ⥛DŽ ˄2˅Bowyer-Watson ๲䞣ᦦ⚍ㅫ⊩[45, 46]ᰃ Delaunay 㔥Ḑ⫳៤乚ඳЁ᳔ᐌ ⫼ⱘㅫ⊩ПϔˈPSUE˄Parallel Simulation User Environment˅[33]Ёህࣙ৿䆹ㅫ ⊩ⱘϔϾ㒣‫݌‬ᅲ⦄ˈ݊ᅲ⦄䇁㿔Ў Fortran77DŽ೼‫׳‬䡈 PSUE ЁѠ㓈ঞϝ㓈৘৥ 6

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

ৠᗻ㔥Ḑ⫳៤῵ഫЁড়⧚ⱘ᭄᥂㒧ᵘঞㅫ⊩䆒䅵‫ܗ‬㋴ⱘ෎⸔Ϟˈ਌ᬊ Delaunay 㔥Ḑ⫳៤ⷨおⱘϔѯ᳔ᮄ៤ᵰˈ⫼ C 䇁㿔ᓔথњᮄⱘѠ㓈ঞϝ㓈ᑣ߫࣪৘৥ৠ ᗻ㔥Ḑ⫳៤఼ DTIso2D ੠ DTIso3DˈᅗӀ೼‫ݙ‬ᄬՓ⫼ǃᯊ䯈ᬜ⥛ҹঞ‫ع‬ໂᗻϞ 䛑ሩ⦄ߎ㡃དⱘᗻ㛑DŽᅲ偠᭄᥂㸼ᯢˈDTIso3D ೼ऩ CPU ᖂᴎ˄CPU: 1.82GHz˗ ‫ݙ‬ᄬ˖512MB˅Ϟ㛑ҹ↣⾦ϞϛϾऩ‫ⱘܗ‬䗳ᑺ1ҹ㒓ᔶᯊ䯈ᬜ⥛⫳៤ಯǃѨⱒϛ ⱘಯ䴶ԧऩ‫ˈܗ‬䖭Փᕫ೼Ёㄝ㾘῵ᑊ㸠៪ߚᏗᓣ⦃๗ϟᖿ䗳⫳៤ 1 ғϾҹϞⱘಯ 䴶ԧऩ‫ܗ‬៤Ўৃ㛑DŽ ˄3˅Delaunay 㔥Ḑ⫳៤ㅫ⊩ⱘ䖍⬠ᘶ໡䯂乬ᰃ㒣‫݌‬䲒乬ПϔDŽᇍ䖍⬠䘫༅ ⱘ᠔᳝ᚙᔶ䖯㸠њ㒚㟈ܼ䴶ⱘߚᵤৢˈᴀ᭛ᦤߎᑊᅲ⦄њϔ༫೼㑺ᴳ໘Ⳉ᥹ࡴ⚍ 䖯㸠ϔ㟈䖍⬠ᘶ໡˄conformal boundary recovery˅ⱘㅫ⊩DŽᑊ㸠 Delaunay 㔥Ḑ ⫳៤ㅫ⊩Ўֱ䆕ϡৠᄤඳ㔥Ḑ೼ߚ⬠䴶ϞⱘⳌᆍᗻˈϡ‫ܕ‬䆌㑺ᴳҹߚ↉˄䖍⬠䖍˅ ៪ߚ⠛˄䖍⬠䴶˅ⱘᮍᓣᘶ໡ˈ಴ℸˈЎ⍜䰸ϔ㟈䖍⬠ᘶ໡ㅫ⊩೼㑺ᴳϞ⏏ࡴⱘ 䕙ࡽ⚍ˈᴀ᭛䖬ⷨおњབԩ⍜䰸䖭ѯ䕙ࡽ⚍ⱘᡔᎻˈ೼ϔ㟈䖍⬠ᘶ໡ㅫ⊩ⱘ෎⸔ Ϟˈ៤ࡳᅲ⦄њ‫ع‬ໂⱘ㑺ᴳ䖍⬠ᘶ໡˄constrained boundary recovery˅ㅫ⊩DŽ ˄4˅῵ഫ࣪њᄤඳ೒ㅵ⧚῵ഫˈᑊ೼݊Ё䲚៤њࡼᗕ೒ߦߚᄤ῵ഫˈ෎Ѣ ᅗᔶ៤њϔϾ䗮⫼ⱘᑊ㸠ᑇ䴶㔥Ḑ⫳៤ḚᶊDŽ㢹䙉ᕾϔᅮⱘ᭄᥂Ѹᤶᷛ‫ˈޚ‬䆹Ḛ ᶊৃᇍӏᛣᑣ߫࣪ঞᑊ㸠޴ԩߚ㾷ㅫ⊩ǃᑣ߫࣪ᑇ䴶㔥Ḑ⫳៤ㅫ⊩ᅲ⦄ᅠܼⱘҷ ⷕ໡⫼DŽ‫݋‬ԧഄˈ෎Ѣ䆹Ḛᶊˈᑊ㒧ড়ᑊ㸠ಯ䖍ᔶ㔥Ḑㅫ⊩ⷨおЁᅲ⦄ⱘᑊ㸠޴ ԩߚ㾷ㅫ⊩ҹঞ DTIso2Dˈ៥Ӏᅲ⦄њѠ㓈ᑊ㸠 Delaunay 㔥Ḑ⫳៤఼ PDMG-2Dˈ ᅗ‫݋‬໛೼Ёㄝ㾘῵ⱘᑊ㸠៪ߚᏗᓣᑇৄϞ⫳៤޴ғϾϝ㾦ᔶऩ‫ⱘܗ‬㛑࡯ˈϨ໻໻ 䰡Ԣњ㔥Ḑ䞡ߦߚ⦃㡖ⱘҷӋDŽ ˄5˅߽⫼ᑇ䴶԰Ў޴ԩߚ㾷ⱘখ㗗ᑇ䴶ˈ೼䗦ᔦߚ㾷Ḛᶊϟˈᦤߎᑊᅲ⦄ њϔ༫‫ع‬ໂⱘ޴ԩ乘ߚ㾷఼˄prepartitioner˅DŽ߽⫼ᅗ԰Ў᭄᥂ߚ㾷Ꮉ‫ˈ݋‬㒧ড় DTIso3Dˈ៥Ӏᅲ⦄њϝ㓈ᑊ㸠 Delaunay 㔥Ḑ⫳៤఼ PDMG-3Dˈᅗ៤ࡳഄ೼Ё ㄝ㾘῵ⱘᑊ㸠៪ߚᏗᓣ⦃๗Ё⫳៤ϞғϾಯ䴶ԧऩ‫ܗ‬DŽ ೼㄀ 2 ゴˈᴀ᭛ᇚಲ乒㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪ᡔᴃⱘЏ㽕ⷨお៤ᵰˈ⡍߿ഄˈ ᇍ Delaunay ᮍ⊩ঞ݊ᑊ㸠࣪԰њ䆺㒚ⱘ䯤䗄DŽ䱣ৢߚ 4 ゴ˄㄀ 3̚6 ゴ˅ᇍϞ䴶 ᦤঞⱘѨϾЏ㽕ⷨお‫ݙ‬ᆍߚ߿ሩᓔ䅼䆎DŽ㄀ 7 ゴ߭䗮䖛ᅲ偠ˈҢ৘Ͼ㾦ᑺᇍᑣ߫ ࣪ঞᑊ㸠 Delaunay 㔥Ḑ⫳៤఼ⱘᗻ㛑䖯㸠䆘Ԅ੠ߚᵤDŽ᳔ৢϔゴᔦ㒇њᴀ᭛ⱘ Џ㽕߯ᮄ⚍ˈᕫߎϔѯ᳝⫼ⱘ㒧䆎ˈᑊߚᵤᴀ᭛ⷨお៤ᵰЁᄬ೼ⱘ㔎䱋ˈ㒭ߎњ ᳾ᴹࡾ࡯ⱘᮍ৥DŽ

1

‫݋‬ԧⱘ䗳ᑺؐ಴᠔⌟䆩ⱘㅫ՟ⱘ޴ԩᔶ⢊ǃᆚᑺ᥻ࠊㄪ⬹ㄝ಴㋴㗠᳝䕗໻ᏂᓖDŽ 7

ԛ 1 Ⴣ ༢ৢ

1.5 ෎䞥䌘ࡽ ᴀ᭛᠔᳝ⷨお䛑ᰃ೼ 2002 ᑈᑺ೑ᆊᵄߎ䴦ᑈ⾥ᄺ෎䞥乍ⳂĀ໮ᄺ⾥ᑨ⫼῵ ᢳⱘ䌟㛑⦃๗˄EEMAS: Enabling Environment for Multidisciplinary Application Simulations˅ā˄乍Ⳃ㓪ো˖60225009˅ⱘ䌘ࡽϟሩᓔⱘDŽ

8

㄀ 2 ゴ 㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪ᡔᴃⷨお㓐䗄

2.1 ࠡ㿔 㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪ᡔᴃⷨお῾䎼䅵ㅫ޴ԩǃ㒘ড়᭄ᄺǃ೒ᔶᄺǃㅫ⊩䆒䅵ǃ 催ᗻ㛑䅵ㅫ੠࡯ᄺㄝ໮Ͼᄺ⾥ˈ⍝ঞ䯂乬໮ˈⷨお៤ᵰЄᆠDŽϡᇥⷨお㗙䛑᳒ᇍ ᑣ߫࣪㔥Ḑ⫳៤ᡔᴃⷨおⱘ䖯ሩ԰䖛ಲ乒[36, 47-52]DŽ⬅Ѣ᠔໘ⷨお乚ඳⱘϡৠˈ ҪӀ೼ভ䗄ᯊ䗝ᢽⱘջ䞡⚍г᳝᠔ϡৠDŽDelaunay ϝ㾦࣪ᮍ⊩᳝䕗ᔎⱘ᭄ᄺ㚠 ᱃ˈᴹ㞾䅵ㅫ޴ԩ乚ඳⱘⷨお㗙ᇍℸⷨお乛໮ˈгপᕫᕜ໮៤ᵰˈ಴ℸҪӀⱘ㓐 䗄Ёᇍ᳝݊᠔‫أ‬དˈ㗠ᇍ㔎УϹḐ᭄ᄺ㚠᱃ǃЏ㽕‫ࡽ׳‬Ѣਃথᓣ㾘߭ⱘᮍ⊩ˈབ ࠡ⊓᥼䖯⊩˄AFM: Advancing Front Method˅߭㔎У䆎䗄[36, 49]DŽᴹ㞾ᑨ⫼ᄺ⾥ ੠ଚϮ݀ৌⱘⷨお㗙߭ᇍᅲ䏉Ё㸠П᳝ᬜⱘ৘㉏ㅫ⊩ഛᛳ݈䍷ˈҪӀⱘ㓐䗄Ёᇍ 㔥Ḑ⫳៤ᡔᴃⱘ䞡㽕Џ乬ᐌ᳝䕗Ўܼ䴶ⱘҟ㒡[47, 48, 50-52]DŽ ੠ᑣ߫࣪㔥Ḑ⫳៤ᡔᴃⷨおⳌ↨ˈᑊ㸠㔥Ḑ⫳៤ᡔᴃⷨおⱘಲ乒ᇥПজᇥˈ 䖭੠ᑊ㸠㔥Ḑ⫳៤ᡔᴃⷨお䖯㸠ⱘᯊ䯈䕗ⷁǃⷨお៤ᵰⳌᇍ䕗ᇥ᳝݇ˈCougny ੠ Shephard[32]ǃChrisochoides[25]ߚ߿೼ϡৠᯊᳳᇍⳌ݇Џ乬԰њ㊒ᔽ㓐䗄DŽ 䰤Ѣ㆛ᐙ੠԰㗙ⶹ䆚ⱘሔ䰤ˈᴀゴᇚ䙓‫ܡ‬ᇍ㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪ᡔᴃⱘ᠔᳝ Џ乬ഛ㸵ⴔヨˈ㗠ᰃ᳝䞡⚍ഄҟ㒡੠ᴀ᭛Ⳍ݇ⱘ㔥Ḑ⫳៤ᡔᴃ˖ಯ䖍ᔶऩ‫ܗ‬㔥Ḑ ⫳៤੠ Delaunay ᮍ⊩DŽ⡍߿ഄˈDelauany ᮍ⊩ঞ݊ᑊ㸠࣪ᰃᴀゴভ䗄ⱘ䞡ЁП 䞡DŽ ㄀ 2 㡖ᇚㅔऩഄಲ乒䗮⫼ⱘᑣ߫࣪㔥Ḑ⫳៤ᡔᴃˈ㄀ 3 㡖ҟ㒡ಯ䖍ᔶऩ‫ܗ‬㔥 Ḑ⫳៤ㅫ⊩ˈ㄀ 4 㡖੠㄀ 5 㡖ߚ߿ҟ㒡ᑣ߫࣪ঞᑊ㸠 Delaunay 㔥Ḑ⫳៤ᮍ⊩᠔ পᕫⱘ៤ᵰDŽ

2.2 䗮⫼㔥Ḑ⫳៤ᮍ⊩ 㔥Ḑ⫳៤ᡔᴃⷨおⱘ䖯⿟Ё⍠⦄䖛䆌䆌໮໮ⱘᮍ⊩DŽ᳝ѯᮍ⊩ᄬ೼㟈ੑ㔎 䱋ˈᏆϡ‫ݡ‬ফࠄ݇⊼ˈ៪㹿᳈དⱘᮍ⊩᠔᳓ҷ˗㗠᳝ѯᮍ⊩߭‫݋‬໛⣀⡍ⱘӬ࢓ˈ ҡᑨ⫼Ѣ⡍ᅮᑨ⫼乚ඳЁ˗঺᳝޴⾡⫳ੑ࡯ᵕᔎⱘᮍ⊩ˈᅗӀ䗖ᑨ䴶ᑓˈ㒣䖛޴ कᑈⱘথሩˈᏆ㒣Ⳍᇍ៤❳ˈᑊ䲚៤ࠄ໻ൟଚ⫼⿟ᑣЁˈ៤ࡳᑨ⫼Ѣ⦄ᅲ䯂乬ⱘ ᭄ؐ῵ᢳЁDŽЎᮍ֓䍋㾕ˈ៥Ӏ⊯ᣛ㄀ϝ㉏ᮍ⊩ЎĀ䗮⫼㔥Ḑ⫳៤ᮍ⊩ā ˈℸ໘ˈ Ā䗮⫼āѠᄫᑊ᮴ϹḐ䞣࣪৿НDŽϔ㠀䅸Ў᳝ಯ㉏Ā䗮⫼ā㔥Ḑ⫳៤ᮍ⊩˖᯴ᇘ ⊩ǃDelaunay ᮍ⊩ǃࠡ⊓᥼䖯⊩੠ಯ/ܿঝᷥ⊩DŽDelaunay ᮍ⊩ᇚ೼c2.4 䞡⚍ҟ

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

㒡ˈ䖭㡖াㅔऩҟ㒡݊ԭϝ⾡㔥Ḑ⫳៤ᮍ⊩DŽ

2.2.1 ᯴ᇘ⊩ ᯴ᇘ⊩Џ㽕⫼Ѣ⫳៤㒧ᵘ࣪㔥Ḑˈᅗᅲ⦄ㅔऩˈ䖤㸠ᬜ⥛催ˈϨ᳔㒜㔥Ḑ䋼 䞣䕗ད˗Ԛᕜ䲒䗖ᑨ໡ᴖ䖍⬠ˈϨϡᯧᅠ៤㔥Ḑ䖛⏵DŽഫ⢊㒧ᵘ࣪㔥Ḑ⫳៤ᡔᴃ ᢧᆑњ᯴ᇘ⊩ⱘ䗖⫼ぎ䯈ˈ೼ CFD ㄝ乚ඳ᳝ᑓ⊯ⱘᑨ⫼DŽ ᯴ᇘ⊩ⱘᗱ䏃䴲ᐌㅔऩˈ෎ᴀℹ偸ࣙᣀ˖ᇚᅮН೼⠽⧚ぎ䯈Ϟⱘ䯂乬ऎඳ᯴ ᇘЎখ᭄ぎ䯈ⱘ㾘߭ᔶԧ˗䱣े೼ৢ㗙‫ݙ‬䚼Ꮧ㕂㔥Ḑ˗᳔ৢᇚখ᭄ぎ䯈ⱘ㔥Ḑড ᯴ᇘࠄ⠽⧚ぎ䯈ˈᔶ៤ॳ䯂乬ऎඳⱘ㔥Ḑˈ೒ 1 ⼎ᛣњ᯴ᇘ⊩ⱘॳ⧚DŽ Y

V ᯴ᇘ ⠽⧚ぎ䯈

ড᯴ᇘ O

খ᭄ぎ䯈

X

O

U

೒ 1 Ѡ㓈ᚙᔶϟ᯴ᇘ⊩ॳ⧚⼎ᛣ೒ ᯴ᇘߑ᭄ⱘ䆒ᅮᰃ᯴ᇘ⊩ᅲᮑⱘ݇䬂ˈᅗϔ㠀ࣙᣀϝ⾡ᔶᓣ˖ֱ㾦᯴ᇘ ˄conformal mapping˅ǃ෎Ѣ‫أ‬ᖂߚᮍ⿟˄PDE-based˅੠ҷ᭄ᦦؐ˄algebraic interpolation˅[53]DŽ݊Ё෎Ѣ‫أ‬ᖂߚᮍ⿟ⱘ᯴ᇘ⊩[54]೼ CFD 乚ඳⱘ䌈ԧ㔥Ḑ⫳ ៤Ё᳝ᑓ⊯ⱘᑨ⫼ˈ㟇Ҟҡᰃ㔥Ḑ⫳៤ⷨおⱘϔϾ⛁⚍੠䲒⚍䯂乬DŽ ᯴ᇘᗱᛇ೼㔥Ḑ⫳៤乚ඳⱘ঺ϔϾᑨ⫼ᰃ䯈᥹᳆䴶㔥Ḑ⫳៤DŽ⦄᳝ⱘ CAD ㋏㒳Ёˈ᳆䴶ഫ໻䛑⬅ঠব䞣খ᭄ᮍ⿟㸼⼎DŽ㢹ᇚ᳆䴶ഫ᯴ᇘࠄখ᭄ᑇ䴶Ϟˈ߽ ⫼ᑇ䴶㔥Ḑ⫳៤ᮍ⊩೼খ᭄ᑇ䴶Ꮧ㕂㔥Ḑˈ䱣ৢড᯴ᇘ㟇ॳ᳆䴶ഫˈेৃᕫࠄॳ ᳆䴶ഫⱘ㔥Ḑ[55]DŽ᯴ᇘ⊩⫳៤᳆䴶㔥ḐⱘЏ㽕䯂乬೼Ѣ˖খ᭄ᑇ䴶Ϟᔶᗕ㡃ད ⱘ㔥Ḑড᯴ᇘࠄॳ᳆䴶ഫৢৃ㛑Ӯߎ⦄⭌বDŽ㾷‫އ‬䖭ϔ䯂乬ⱘᗱ䏃᳝Ѡ˖ϔᰃׂ ᬍ᳆䴶ഫⱘখ᭄㸼䖒ˈ䰡Ԣখ᭄ᑇ䴶੠ॳ᳆䴶ഫП䯈ⱘ᯴ᇘ᠔ᓩ䍋ⱘ⭌ব˗Ѡᰃ ḍ᥂ॳ᳆䴶ഫⱘ᳆⥛ǃ⊩৥ㄝ޴ԩֵᙃˈ᥻ࠊখ᭄ᑇ䴶㔥Ḑ⫳៤ˈՓᕫখ᭄ᑇ䴶 Ϟৃ㛑⭌বⱘ㔥Ḑড᯴ᇘࠄॳ᳆䴶ഫৢᔶᗕ㡃དDŽ

2.2.2 ࠡ⊓᥼䖯⊩ ࠡ⊓᥼䖯⊩᳝ᯊг⿄⊶ࠡ⊩ˈPeraire ㄝ[56]䅸Ўᅗⱘᴹ⑤ৃҹ䗑⒃ࠄ George ⱘᄺᴃ䆎᭛[57]ˈԚ᳔‫ܜ‬೼ℷᓣߞ⠽Ϟথ㸼᭛ゴҟ㒡䆹ᮍ⊩ⱘᰃ Lo[58]ˈL噋hner ㄝ[59]䱣ेᇚ݊᥼ᑓࠄϝ㓈DŽࠡ⊓᥼䖯⊩ᇍ޴ԩ䖍⬠ⱘ䗖ᑨ㛑࡯ᔎˈϨ᳔㒜㔥Ḑ 䋼䞣䕗དˈ಴ℸফࠄᕜ໮ⷨお㗙ⱘ䴦ⴤˈᑊ㹿䖙䗳᥼ᑓࠄ㔥Ḑ⫳៤ⱘ݊ᅗ䞡㽕乚

10

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

ඳˈབ᳆䴶㔥Ḑ⫳៤ǃ㞾䗖ᑨ㔥Ḑ⫳៤ǃ৘৥ᓖᗻ㔥Ḑ⫳៤ঞᑊ㸠㔥Ḑ⫳៤ㄝDŽ 㒣‫᥼⊓ࠡⱘ݌‬䖯⊩[60]ࣙᣀϝℹ˖‫ܜ‬೼ᔧࠡⱘ䖍⬠៪㑺ᴳϞᇏᡒড়䗖ⱘࠡ⊓˗ 䱣ৢ೼ऎඳ‫ݙ‬䚼ᦦܹᮄ㡖⚍៪䖲᥹Ꮖ᳝㡖⚍ˈҹᔶ៤ϔϾᮄⱘऩ‫˗ܗ‬᳔ৢ⿏এᮄ ऩ‫ˈܗ‬ᑊ᳈ᮄࠡ⊓DŽ㡖⚍ԡ㕂ⱘ⹂ᅮ䗮ᐌҹӬ࣪ᮄऩ‫ⱘܗ‬䋼䞣ЎⳂᷛˈ೒ 2 ⼎ᛣ њѠ㓈ᚙᔶϟࠡ⊓᥼䖯⊩ᅲᮑ䖛⿟DŽ བᵰᮄऩ‫ܗ‬ϡᰃϔϾϔϾ⫳៤ˈ㗠ᰃ⊓ⴔ䖍⬠ϔሖϔሖ⫳៤ˈࠡ⊓᥼䖯⊩ህ ব࣪Ўࠡ⊓ሖ䖯⊩˄ALM: Advancing Layer Method˅[61]ˈᅗৃ೼䖍⬠䰘䖥⫳៤ ⊓䖍⬠ᮍ৥ሖ⢊ᥦ߫ⱘ催䋼䞣ऩ‫ˈܗ‬⒵䎇∖㾷 Navier-Stokes ᮍ⿟ㄝ䯂乬ⱘ䳔㽕DŽ ࠡ⊓᥼䖯⊩ⱘ෎ᴀᗱᛇ䖬ৃ⫼Ѣಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ˈ䖭ᯊজ⿄݊Ў䫎䏃⊩ ˄Paving Method˅[62]DŽ䫎䏃⊩Ёˈऩ‫ৃܗ‬ҹϔᥦϔᥦ⫳៤[63]ˈгৃҹϔϾϔ Ͼ⫳៤[64]DŽ㕢೑ Sandia ೑ᆊᅲ偠ᅸⱘ Lober ㄝҎᑊ㸠њ䫎䏃⊩ˈᑊᑨ⫼Ѣ㞾䗖 ᑨߚᵤЁ[34]DŽPlastering ᮍ⊩߭䆩೒ᇚࠡ⊓᥼䖯ⱘ෎ᴀᗱᛇ⫼Ѣ݁䴶ԧ㔥Ḑ⫳ ៤ˈԚ⦄᳝ㅫ⊩ϡ໳〇ᅮˈҡ೼㒻㓁ⷨおПЁ[65, 66]DŽ

೒ 2 Ѡ㓈ᚙᔶϟࠡ⊓᥼䖯⊩⼎ᛣ೒

೒ 3 ಯঝᷥߚ㾷⼎ᛣ೒

2.2.3 ಯ/ܿঝᷥ⊩ Ў䖥Ԑ㸼ᕕϔϾᑇ䴶⠽ԧˈৃҹ⫼ϔϾࣙೈⲦ㽚Ⲫ䆹⠽ԧˈ䱣ৢ⊓ⴔ䕈৥䗦 ᔦഄಯߚࣙೈⲦˈ᳔ৢˈࣙೈⲦ⬅ሎᇌϡϔⱘᮍḐ㒘ড়㗠៤ˈ䖭ѯᮍḐг⿄ಯߚ ԧ˄quadrant˅DŽࠨ䰸ᥝԡѢ⠽ԧ໪䚼ⱘಯߚԧˈᑊᇍ੠⠽ԧ䖍⬠ⳌѸⱘಯߚԧ䖯 㸠⡍߿໘⧚ˈ߭ৃҹᅠ៤ᇍ⠽ԧⱘぎ䯈ߚ㾷ˈབ೒ 3 ᠔⼎DŽᰒ✊ˈಯঝᷥᰃ㸼ᕕ 䖭ϔぎ䯈ߚ㾷䖛⿟੠㒧ᵰⱘ᳔ད䗝ᢽDŽⳌᑨഄˈᇚಯঝᷥ᥼ᑓࠄϝ㓈ˈৃҹᕫࠄ ܿঝᷥDŽ Shephard ੠Ҫ乚ᇐⱘⷨお㒘佪‫ܜ‬ᇚಯ/ܿঝᷥ⊩ᓩܹࠄ㔥Ḑ⫳៤乚ඳˈ⫼Ѣϝ 㾦ᔶ/ಯ䴶ԧऩ‫⫳ܗ‬៤[67, 68]DŽಯ/ܿঝᷥ⊩䗦ᔦߚ㾷ⱘ㒜ℶᴵӊপ‫އ‬Ѣऩ‫ܗ‬ᆚᑺ ᥻ࠊᮍḜⱘ䗝ᢽ੠ᇍ⠽ԧ䖍⬠㒚㡖ⱘᤩᤝDŽЎ䰆ℶⳌ䚏ऎඳऩ‫ܗ‬ሎᇌব࣪䖛໻ˈ

11

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

ϔ㠀㽕∖Ⳍ䚏ಯ/ܿߚԧ೼ಯ/ܿঝᷥϞⱘ⏅ᑺؐПᏂϡ㽕䍙䖛 1DŽ ಯ/ܿঝᷥ⊩ⱘ䲒⚍೼Ѣབԩ໘⧚⠽ԧ䖍⬠ˈЎ㊒⹂ഄ⾏ᬷऎඳ䖍⬠ˈᐌ೼݊ 䰘䖥ѻ⫳䖛䞣ⱘऩ‫ܗ‬DŽϝ㓈ᚙᔶϟˈᓩܹĀ࠾ߛܿߚԧ˄cut-octant˅ āৃҹ㓧㾷 䖭ϔᚙᔶDŽԚ೼䗮䖛῵ᵓ฿‫ⱘܙ‬ᔶᓣ⫳៤࠾ߛܿߚԧ‫ݙ‬ऩ‫ܗ‬ᯊ䳔㽕㗗㰥Ⳍ䚏ܿߚ ԧП䯈㔥Ḑⱘ‫ݐ‬ᆍᗻˈ⬅ℸ䴶Јⱘ῵ᵓᚙᔶ໮䖒 4096 ⾡ˈेՓ߽⫼ᇍ⿄㾘߭ᴹ ㅔ࣪῵ᵓ䆒䅵ˈҡ✊䳔㽕໘⧚ 78 ⾡ᚙᔶDŽЎℸˈ᳝ⷨお㗙ᓩܹ Delaunay ᮍ⊩੠ ࠡ⊓᥼䖯⊩ˈᇱ䆩ⴔ㾷‫އ‬Ϟ䗄䯂乬[69]DŽ ಯঝᷥ⊩੠ܿঝᷥ⊩ৃҹߚ߿⫼ᴹ⫳៤ಯ䖍ᔶऩ‫ܗ‬੠݁䴶ԧऩ‫˗ܗ‬Cougny ㄝ៤ࡳഄᑊ㸠њಯ/ܿঝᷥ⊩[5]˗Lohner ㄝ߽߭⫼ಯ/ܿঝᷥ⊩԰Ўぎ䯈ߚ㾷ⱘᎹ ‫ˈ݋‬ᑊ㸠њࠡ⊓᥼䖯⊩[7]DŽ

2.3 ಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ ᑇ䴶䯂乬ߚᵤЁˈ੠ϝ㾦ᔶऩ‫ˈ↨Ⳍܗ‬ಯ䖍ᔶऩ‫݋ܗ‬᳝᳈དⱘߚᵤᗻ㛑ˈᔧ ✊ˈৢ㗙ⱘ⫳៤г᳈Ў໡ᴖDŽ᯴ᇘ⊩ৃҹ⫼ᴹѻ⫳㒧ᵘ࣪ⱘಯ䖍ᔶऩ‫ˈܗ‬Ԛᅗᄬ ೼䖍⬠䗖ᑨ੠ᆚᑺ᥻ࠊ㛑࡯䛑ᕜᔅⱘ㔎䱋DŽ 䴲㒧ᵘ࣪ಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ᮍ⊩ৃҹߚЎϸ㉏[48]˖䯈᥹⊩੠Ⳉ᥹⊩DŽ䯈 ᥹⊩‫⫼߽ܜ‬៤❳ⱘϝ㾦ᔶऩ‫ܗ‬㔥Ḑ⫳៤఼ˈ೼䯂乬ඳ‫ݙ‬Ꮧ㕂ϝ㾦ᔶऩ‫ˈܗ‬䱣ৢড় ᑊ៪ߚ㾷ϝ㾦ᔶऩ‫⫳ˈܗ‬៤ܼಯ䖍ᔶ៪ϝ㾦ᔶ/ಯ䖍ᔶ⏋ড়ऩ‫ܗ‬㔥ḐDŽⳈ᥹⊩߭ Ⳉ᥹೼䯂乬ඳ‫ݙ‬Ꮧ㕂ಯ䖍ᔶऩ‫ܗ‬DŽ

2.3.1 䯈᥹⊩ ϝ㾦ᔶऩ‫ܗ‬㔥Ḑᔶ៤ҹৢˈ㢹ᇚ↣Ͼϝ㾦ᔶऩ‫ܗ‬ϔߚЎϝˈৃᔶ៤ܼಯ䖍ᔶ ऩ‫ܗ‬㔥Ḑ˗гৃ䗮䖛ড়ᑊϸϾⳌ䚏ⱘϝ㾦ᔶऩ‫ˈܗ‬ᔶ៤ܼಯ䖍ᔶ៪ϝ㾦ᔶ/ಯ䖍 ᔶ⏋ড়ऩ‫ܗ‬㔥Ḑˈ೒ 4 ⼎ᛣњབԩ䗮䖛ߚ㾷੠ড়ᑊ᪡԰ᕫࠄಯ䖍ᔶऩ‫ܗ‬㔥ḐDŽ ߚ㾷⊩ৃҹֱ䆕⫳៤ܼಯ䖍ऩ‫ܗ‬㔥Ḑˈᅗⱘ㔎䱋೼Ѣ᳔㒜ऩ‫ܗ‬䕗ᏂˈϨॳ᳝ ⱘ䖍⬠⾏ᬷ㒧ᵰӮ㹿ࡴᆚˈ⦄೼Ꮖᕜᇥ䞛⫼DŽড়ᑊ⊩㢹೼䗝ᢽϔᇍϝ㾦ᔶ䖯㸠ড় ᑊᯊ㗗㰥ড়ᑊৢᔶ៤ⱘಯ䖍ᔶऩ‫ⱘܗ‬ᔶ⢊ˈ߭ৃҹ໻໻ᦤ催᳔㒜㔥Ḑⱘ䋼䞣DŽ䗮 䖛ড়ᑊᔶ៤ಯ䖍ᔶऩ‫ܗ‬㔥ḐⱘϔϾ䲒乬೼Ѣࠄ᳔ৢӮ⬭ϟᕜ໮ϝ㾦ᔶऩ‫ܗ‬᮴⊩ ᠻ㸠ড়ᑊ᪡԰ˈҢ㗠ᔶ៤⏋ড়ऩ‫ܗ‬㔥ḐDŽLo[70]ⱘᎹ԰䆕ᯢˈৃҹ䗮䖛䆒㕂ϔѯ ਃথᗻ㾘߭ᴹ⹂ᅮϝ㾦ᔶऩ‫ⱘܗ‬ড়ᑊ乎ᑣˈҹℸሑ䞣‫ޣ‬ᇥऎඳЁ࠽ԭϝ㾦ᔶऩ‫ܗ‬ ⱘ᭄ⳂDŽᇍѢᄸゟϝ㾦ᔶˈҹঞড়ᑊ᪡԰ϡ⒵䎇㒭ᅮ䋼䞣ᷛ‫ⱘޚ‬ऎඳˈJohnston[71] ߭㒧ড়ऩ‫ߚܗ‬㾷੠ᢧᠥবᤶ᪡԰䖯㸠໘⧚DŽ ෎Ѣࠡ⊓᥼䖯ᗱᛇˈᑊ೼ሔ䚼ᓩܹऩ‫ߚܗ‬㾷᪡԰ˈLee੠Lo[72]ৢᴹᬍ䖯њ Loࠡ䴶ᦤߎⱘㅫ⊩[70]DŽབᵰ䖍⬠䖍ⱘ᭄ⳂЎ‫ي‬᭄ˈҪӀⱘㅫ⊩ৃҹֱ䆕⫳៤ܼ

12

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

ಯ䖍ᔶऩ‫ܗ‬㔥ḐDŽBorouchaki੠Freyㄝ[73]߭೼৘৥ᓖᗻⱘᆚᑺᑺ䞣ぎ䯈Ёᇚϝ 㾦ᔶऩ‫ܗ‬ড়ᑊ៤ಯ䖍ᔶऩ‫ˈܗ‬᳔㒜⫳៤ⱘҡᰃ⏋ড়ऩ‫ܗ‬㔥ḐDŽOwenㄝ[74]ᦤߎⱘ Q-Morphㅫ⊩ᬍ䖯њLee੠Lo[72]ⱘㅫ⊩Ёϡ㾘߭⚍䕗໮ⱘ㔎䱋ˈϨ᠔⫳៤ⱘ㔥Ḑ 䖬‫݋‬໛䌈䖍˄boundary alignment˅ҹঞ੠䖍⬠ℷѸㄝ⡍ᗻDŽ෎Ѣ䆹ㅫ⊩ⱘ⿟ᑣᏆ 䲚៤ࠄ໻ൟଚ⫼⿟ᑣAnsysЁDŽ೒5೼ৠϔㅫ՟ϟ↨䕗њQ-Morph੠Leeⱘㅫ⊩DŽ

ߚ㾷

ড়ᑊ

೒ 4 䯈᥹⊩ᕫࠄಯ䖍ᔶऩ‫ܗ‬㔥Ḑⱘϸ⾡ᮍᓣ˖ߚ㾷੠ড়ᑊ

˄b˅Lee ⱘㅫ⊩

(a) Q-Morph

೒ 5 ৠϔㅫ՟ϟⱘ↨䕗˖Q-Morph ੠ Lee ⱘㅫ⊩

13

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

⬅Ѣ䕀ᤶ᪡԰䛑ᰃϔѯሔ䚼᪡԰ˈϨ䕗ᇥ⡉⍝໡ᴖⱘ⍂⚍䖤ㅫˈབ䗝⫼ড়䗖 ⱘϝ㾦ᔶऩ‫ܗ‬㔥Ḑ⫳៤఼ˈᕫࠄⱘ䯈᥹⊩ϔ㠀↨෎Ѣࠡ⊓᥼䖯ᗱᛇⱘⳈ᥹⊩㽕 ᖿDŽԚᰃ䯈᥹⊩᠔⫳៤ⱘ㔥ḐӮ೼ऎඳЁ䘫⬭ϔᅮ᭄䞣ⱘϡ㾘߭㡖⚍ˈ䖭ѯ㡖⚍ 䰘䖥ⱘ㔥Ḑ䋼䞣䕗Ꮒˈ䳔㽕䗮䖛ᢧᠥবᤶ᪡԰ᴹࡴҹӬ࣪DŽ

2.3.2 Ⳉ᥹⊩ Ⳉ᥹⊩ϔ㠀гৃҹߚЎϸ㉏˖ϔ㉏෎Ѣߚ㗠⊏Пᗱᛇˈߚ㾷䯂乬ඳЎㅔऩऎ ඳˈ✊ৢ೼ㅔऩऎඳ‫⫼߽ݙ‬῵ᵓ៪݊ᅗᮍᓣᔶ៤ಯ䖍ᔶऩ‫ˈܗ‬᳔ৢড়ᑊᄤ㔥Ḑ˗ ঺ϔ㉏߽߭⫼ࠡ⊓᥼䖯ᗱᛇˈⳈ᥹೼ऎඳ‫ݙ‬䚼Ꮧ㕂㔥ḐDŽ ㄀ϔ㉏Ⳉ᥹⊩ࣙ৿޴ԩߚ㾷੠ᄤඳ㔥Ḑ⫳៤ϸϾ݇䬂ℹ偸ˈϨϸ㗙ᐌᐌᰃѦ Ⳍձ䌪ⱘˈࠡ㗙ⱘⳂᷛПϔህᰃֱ䆕ᔶ៤ⱘĀㅔऩऎඳāヺড়ৢ㗙ⱘ䳔㽕DŽ ಯঝᷥߚ㾷ᰃᐌ⫼ⱘぎ䯈ߚ㾷᠟↉ˈ೼ᄤඳ㔥Ḑ⫳៤ᯊ䳔㽕㗗㰥ಯߚԧП䯈 㔥Ḑⱘ‫ݐ‬ᆍᗻˈᖙ㽕ᯊ䳔㽕䇗ᭈ㡖⚍ԡ㕂ҹᢳড়䖍⬠ᔶ⢊DŽЁ䕈⊩гᰃᐌ⫼ⱘᑇ 䴶ऎඳߚ㾷ᮍ⊩ˈᑊ೼ᇱ䆩ᢧሩࠄϝ㓈ᚙᔶDŽJoe[75]㗗㰥㾦ᑺㄝ޴ԩ಴㋴ˈ߽⫼ Ⳉ㒓ᇚᏺ‫ݙ‬䚼㑺ᴳⱘ໮䖍ᔶऎඳߚ㾷៤ߌ໮䖍ᔶDŽTalbert ㄝ[44]г߽⫼Ⳉ㒓ᴹߚ 㾷ऎඳˈϡ䖛೼޴ԩߚ㾷ࠡ䳔㽕‫⾏ܜ‬ᬷ䖍⬠ˈߚ㾷㒓೼ᴗ䞡ߑ᭄ⱘᣛᇐϟᕫࠄˈ ᴗ䞡ߑ᭄Ё㗗㰥њ䴶⿃ǃ㾦ᑺǃ䭓ᑺㄝ޴ԩ಴㋴ˈҹሑ䞣‫ޣ‬ᇥߚ㾷㒓ᇍ᳔㒜㔥Ḑ 䋼䞣ⱘᕅડDŽChae ㄝ[41]ǃNowottny[42]ǃSarrate ㄝ[43]ҹঞᴀ᭛԰㗙г䞛⫼њ ㉏Ԑⱘऎඳߚ㾷ㅫ⊩⫳៤ܼಯ䖍ᔶ㔥ḐDŽ ऎඳߚ㾷ৢˈ᥹ⴔህᰃᄤඳ㔥Ḑ⫳៤DŽ໻䚼ߚⱘᄤඳ㔥Ḑ⫳៤ㅫ⊩䛑ᰃ෎Ѣ ᄤඳᵘൟⱘߚᵤˈ✊ৢߚ߿䆒䅵῵ᵓࡴҹ฿‫ܙ‬DŽབ Talbert ㄝⱘㅫ⊩㽕∖᠔᳝ᄤ ඳ䖍⬠㡖⚍᭄Ў 4 ៪ 6ˈ⬅ℸḍ᥂‫ݙ‬㾦⡍ᗻ䆒䅵ߎ 4 ㉏ 13 ⾡῵ᵓ䖯㸠฿‫ܙ‬DŽChae ㄝ੠ Nowottny ⱘㅫ⊩߭ᬒᵒњ Talbert ㄝⱘㅫ⊩ᇍᄤඳⱘ㽕∖ˈԚҡ✊䳔㽕䆒䅵 ໮⾡῵ᵓˈᇍᶤѯᚙᔶˈNowottny ⱘㅫ⊩䖬䳔‫᥼⊓ࠡ⫼׳‬䖯⊩DŽϢℸϡৠˈLi ㄝ[76, 77]᠔䞛⫼ⱘ῵ᵓ⊩߭ᇍᄤඳⱘ㽕∖᳈Ўᆑ⊯ˈϨ᭄ᄺ෎⸔ད˗Ԛ Li ㄝⱘ ㅫ⊩䳔㽕᠟ᎹߚऎDŽ೼ᓩܹ㉏Ԑ Talbert ㄝ᠔䞛⫼ⱘऎඳߚ㾷ㅫ⊩ˈᑊᵘᓎ‫ع‬ໂ ⱘൟ῵ᵓᮍḜৢˈᴀ᭛԰㗙㒭ߎњϔϾᮄⱘܼ㞾ࡼಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ㅫ⊩ঞ݊ ᑊ㸠࣪⠜ᴀˈ‫݋‬ԧ‫ݙ‬ᆍখ㾕ᴀ᭛㄀ 3 ゴDŽ ㄀Ѡ㉏Ⳉ᥹⊩߭ᢧሩњࠡ⊓᥼䖯ⱘᗱᛇDŽZhu ㄝ[78]೼ࠡ⊓᥼䖯⫳៤ϝ㾦ᔶ ऩ‫ⱘܗ‬ৠᯊড়ᑊϝ㾦ᔶऩ‫ˈܗ‬ᔶ៤ಯ䖍ᔶ㔥Ḑ˗䫎䏃⊩߭Ⳉ᥹೼ऎඳ‫ݙ‬䚼ϔᥦϔ ᥦ⫳៤ಯ䖍ᔶऩ‫[ܗ‬62]˗White ㄝ[64]ⱘㅫ⊩߭ᰃᇚऩ‫ܗ‬䗤Ͼഄᕔऎඳ‫ݙ‬䚼᥼䖯˗ 㗠 Cass ㄝ[63]߽߭⫼䫎䏃⊩⫳៤᳆䴶㔥ḐDŽ೒ 6 㒭ߎњϔϾ߽⫼䫎䏃⊩⫳៤ⱘಯ 䖍ᔶऩ‫ܗ‬㔥Ḑᅲ՟DŽ ㄀ϔ㉏Ⳉ᥹⊩⬅Ѣ೼ऎඳ‫ݙ‬䚼䰘ࡴњ㑺ᴳˈᐌ೼㑺ᴳ䰘䖥ᔶ៤䋼䞣䕗Ꮒऩ ‫ܗ‬DŽ㄀Ѡ㉏Ⳉ᥹⊩⫳៤ⱘऩ‫ܗ‬䋼䞣䕗催ˈϨৃⳈ᥹೼䖍⬠䰘䖥᥻ࠊ䌈䖍ऩ‫⫳ⱘܗ‬ ៤ˈԚᰃㅫ⊩ࣙ৿໻䞣⍂⚍䅵ㅫˈ䖤㸠ᬜ⥛䕗ԢDŽ 14

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

೒ 6 㔥Ḑ⫳៤ᅲ՟˖䫎䏃⊩

2.4 Delaunay ᮍ⊩ ᑇ䴶⚍ⱘ乚ඳ䯂乬ᮽ೼ 1850 ᑈህ㹿ᦤߎ[79]ˈVoronoï Ѣ 1908 ᑈᇚ݊ᢧሩࠄ 催㓈ᚙᔶ>>@ˈ㗠 Delaunay ϝ㾦࣪ᰃ Voronoï ೒ⱘᇍ‫ي‬೒ˈᅗѢ 1934 ᑈ㹿 ᦤߎ[82]DŽԚᇚ Delaunay ϝ㾦࣪ᓩܹ㔥Ḑ⫳៤乚ඳै㽕ㄝࠄϞϪ㑾 70 ᑈҷ᳿੠ 80 ᑈҷ߱ˈBowyer[45]ǃWatson[46]ǃHermeline[83]੠ Lawson[84]ㄝЎℸ԰њᓔ ᢧᗻⱘᎹ԰ˈҪӀᦤߎⱘ Delaunay ϝ㾦࣪ㅫ⊩៤Ўᔧࠡ Delaunay 㔥Ḑ⫳៤ⱘЏ ⌕ㅫ⊩DŽ䱣ৢˈ⬅Ѣ Delaunay ᮍ⊩‫݋‬໛᭄ᄺ෎⸔དǃᖿ䗳᳝ᬜˈϨ⫳៤ⱘऩ‫ܗ‬ 䋼䞣䕗དㄝ⣀⡍ⱘӬ࢓ˈᓩ䍋њᴹ㞾བ䅵ㅫ޴ԩǃ‫أ‬ᖂߚᮍ⿟᭄ؐ∖㾷ㄝ乚ඳⱘ ӫ໮ⷨお㗙ⱘ݇⊼ˈ೼ҪӀ䖛এѠक໮ᑈᣕ㓁ϡᮁഄড়࡯᥼ࡼϟˈDelaunay ᮍ⊩ Ꮖ㒣៤Ў㔥Ḑ⫳៤乚ඳⱘЏ⌕ᮍ⊩Пϔˈᑊ㹿ᢧሩࠄ㔥Ḑ⫳៤ⷨおⱘ৘Ͼᄤ乚 ඳ˖᳆䴶㔥Ḑ⫳៤ǃϝ㓈㔥Ḑ⫳៤ǃ৘৥ᓖᗻ㔥Ḑ⫳៤ঞᑊ㸠㔥Ḑ⫳៤ㄝDŽᘏⱘ ᴹ䇈ˈᇍѠ㓈䯂乬ˈDelaunay ᮍ⊩ⱘⷨおᏆ㒣䴲ᐌ⏅ܹˈৃ෎ᴀ䅸Ў≵᳝䲒⚍ᄬ ೼˗ᇍϝ㓈䯂乬ˈDelaunay ᮍ⊩гᕫࠄњ៤ࡳⱘᑨ⫼ˈԚ೼⧚䆎੠ᅲ䏉Ϟ䖬ᄬ೼ ϔѯ䯂乬ˈc2.4.3 ᇚᇍℸ԰䕗Ў䆺㒚ⱘ䯤䗄DŽ

2.4.1 Delaunay ϝ㾦࣪෎ᴀ⧚䆎 㒭ᅮ⃻⇣ぎ䯈 E d ЁѦϡ䞡ড়ⱘ n Ͼ⚍㒘៤ⱘ⚍䲚 P { p1 , p 2 , , p n } ˈᇍ↣ Ͼ⚍ pi  P ˈ݊䰘䖥ᘏᄬ೼ϔഫ䖲㓁ⱘぎ䯈 V ( pi ) ˈ⒵䎇

V ( pi ) {x : pi  x d p j  x , j z i} ៥Ӏ⿄ V ( pi ) Ў⚍ pi ⱘ Voronoï ‫˄ܗ‬Voronoï cell˅ ˈ㗠᠔᳝⚍ⱘ Voronoï ‫߭ܗ‬㒘៤

15

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

њ⚍䲚 P ⱘ Voronoï ೒DŽ䖲᥹ Voronoï ೒Ёᄬ೼Ⳍ䚏݇㋏ⱘ⚍ˈৃҹᕫࠄ Voronoï ೒ⱘᇍ‫ي‬೒ Delaunay ϝ㾦࣪ˈབ೒ 7 ᠔⼎DŽℸᯊˈVoronoï ೒Ё d  1 ϾⳌ䚏⚍㒘 ៤ϔϾऩ㒃ᔶԧ˄simplex˅s ˈ䖛 s ⱘ᠔᳝乊⚍ৃҹ⹂ᅮϔϾ䍙⧗˄hypersphere˅ ˈ 䆹⧗ेЎ s ⱘ໪᥹⧗DŽ

Voronoï ‫ܗ‬

ぎ໪᥹೚

Delaunay ϝ㾦࣪

೒ 7 Ѡ㓈 Voronoï ೒੠ Delaunay ϝ㾦࣪ⱘᇍ‫㋏݇ي‬

Delaunay ϝ㾦࣪ৃ㹿㾚ЎϔϾӬ࣪‫ˈ߭ޚ‬ᅗ‫݋‬᳝ᕜ໮⣀⡍ⱘᗻ䋼DŽҹѠ㓈ᚙ ᔶЎ՟ˈᔧ⚍䲚Ёϡᄬ೼ಯ⚍݅೚ⱘᚙᔶᯊˈৃҹ䆕ᯢ Delaunay ϝ㾦࣪ⱘଃϔ ᗻ˗Ϩ Delaunay ϝ㾦࣪Ё↣Ͼϝ㾦ᔶᇍᑨⱘ໪᥹೚ᰃぎ໪᥹೚ˈेᅗⱘ‫ݙ‬䚼ϡ ࣙ৿⚍䲚Ёӏᛣϔ⚍[85]DŽぎ໪᥹೚ሲᗻᢧሩࠄӏᛣ d 㓈ᚙᔶेЎぎ໪᥹⧗ሲᗻDŽ ঺໪ˈ੠݊ᅗϝ㾦࣪㒧ᵰⳌ↨ˈDelaunay ϝ㾦࣪㛑পᕫ᳔໻ⱘ᳔ᇣ㾦ˈ㗠䙓‫ܡ‬ऩ ‫ݙܗ‬㾦䖛ᇣℷᰃᕫࠄ催䋼䞣㔥Ḑⱘᖙ㽕ᴵӊПϔDŽሑㅵ᳔໻ˉ᳔ᇣ㾦⡍ᗻ೼催㓈 ぎ䯈Ёᑊϡ៤ゟˈԚᅲ䏉㸼ᯢˈ߽⫼ Delaunay ‫߭ޚ‬䖯㸠ϝ㾦࣪ৃ᳝ᬜഄ‫ޣ‬ᇥ‫ݙ‬ 㾦⣁ᇣऩ‫ⱘܗ‬ѻ⫳DŽDelaunay ϝ㾦࣪᠔‫݋‬໛ⱘϞ䗄Ӭ㡃⡍ᗻՓᕫ݊೼㔥Ḑ⫳៤乚 ඳ䖙䗳ᕫࠄᑓ⊯ⱘᑨ⫼DŽ

2.4.2 Delaunay 㔥Ḑ⫳៤ⱘᐌ⫼ㅫ⊩ Delaunay ϝ㾦࣪ᰃ䅵ㅫ޴ԩⱘ䞡㽕ⷨお乚ඳˈ㒭ᅮ⚍䲚ⱘ Delaunay ϝ㾦࣪ ㅫ⊩᳝ᕜ໮˖ߚ㗠⊏П⊩ǃ෎Ѣߌࣙⱘㅫ⊩ǃᠿᦣ㒓⊩ǃGift Wrapping ㅫ⊩ǃ๲ 䞣ㅫ⊩ㄝDŽSu ੠ Drysdale[86]ᇍ݊ЁⱘЏ⌕ㅫ⊩ⱘᗻ㛑䖯㸠њ⏅ܹⱘ⧚䆎੠ᅲ偠

16

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

䆘ԄDŽԚ㽕⊼ᛣࠄˈDelaunay ϝ㾦࣪੠ Delaunay 㔥Ḑ⫳៤ᰃϸϾϡৠⱘ乚ඳˈ ϸ㗙᮶᳝㘨㋏ˈজ᳝ऎ߿DŽᇚ Delaunay ϝ㾦࣪ᑨ⫼ࠄ㔥Ḑ⫳៤乚ඳ㽕໘⧚ϔѯ ⡍⅞ⱘ䯂乬ˈབ䖍⬠ᘶ໡ǃ⚍ⱘ㞾ࡼᦦܹㄝDŽ⬅ℸˈ䙷ѯ೼೎ᅮ⚍䲚ⱘ Delaunay ϝ㾦࣪Ё㸼⦄ᑊ䴲᳔Ӭⱘㅫ⊩ˈབ๲䞣ㅫ⊩ˈ⬅Ѣ㞾䑿೼݊ᅗᮍ䴶ⱘӬ࢓ˈै೼ Delaunay 㔥Ḑ⫳៤乚ඳЁᕫࠄᑓ⊯ⱘᑨ⫼DŽ ᴀ㡖ᇚЏ㽕ҟ㒡ᔧࠡЏ⌕ⱘ Delaunay 㔥Ḑ⫳៤ㅫ⊩˖Bowyer-Watson ぎ໪᥹ ⧗ㅫ⊩˄ㅔ⿄ B-W ㅫ⊩˅[45, 46]ঞ䖍/䴶Ѹᤶㅫ⊩˄edge/face swap algorithm˅[84]DŽ ᑊㅔ⬹ഄᦤঞ෎Ѣߌࣙⱘㅫ⊩[87]੠ Tanemura-Ogawa-Ogita ㅫ⊩[88]DŽ 2.4.2.1 Bowyer-Watson സ֥

B-W ㅫ⊩ᰃ෎Ѣ Delaunay ϝ㾦࣪ⱘぎ໪᥹⧗ሲᗻ䆒䅵ⱘˈሲѢ๲䞣ㅫ⊩DŽ ‫؛‬䆒 Tn ᰃ⚍䲚 Pn

{ p1 , p 2 ,  , p n } ⱘ Delaunay ϝ㾦࣪ˈᇍ Tn ЁӏᛣϔϾऩ㒃ᔶԧ

t ˈ݊໪᥹⧗ञᕘ੠⧗ᖗߚ߿ЎЎ rt ੠ qt DŽ೼ Tn Ёᦦܹᮄ⚍ p n 1 ˈᅮН᠔᳝໪᥹ ⧗ࣙ৿ p n 1 ⱘऩ㒃ᔶԧ㒘៤ⱘ䲚ড়Ў B ˈे

B {t | t  Tn , d ( p n 1 , qt )  rt } 㢹ֱ䆕 p n 1 ೼ Pn ⱘߌࣙ‫ ߭ˈݙ‬B 䴲ぎDŽߴ䰸 B ‫ݙ‬᠔᳝ऩ㒃ᔶԧˈ೼ Tn ‫ݙ‬ᔶ៤ぎ㜨 C ˈ⧚䆎Ϟৃֱ䆕ぎ㜨 C Ў᯳ᔶ˄star-shaped˅ ˈϨ݊Ϟ᠔᳝⚍ᇍ p n 1 ৃ㾚DŽ⬅ℸ

䖲 ᥹ p n 1 ੠ ぎ 㜨 C Ϟ ⱘ ⚍ ˈ ৃ ᕫ ࠄ ᅮ Н ೼ n  1 Ͼ ⚍ 㒘 ៤ ⱘ ⚍ 䲚

Pn 1

{ p1 , p 2 , , p n , p n 1 } Ϟⱘϝ㾦࣪ Tn 1 DŽ݇Ѣぎ㜨 C Ў᯳ᔶǃC Ϟ᠔᳝⚍ᇍ p n 1

ৃ㾚ঞ Tn 1 Ў Delaunay ϝ㾦࣪ⱘ⧚䆎䆕ᯢৃখ㾕 Baker ⱘ䆎᭛[89, 90]DŽ

ᇏᡒぎ㜨

䞡ᮄϝ㾦࣪

೒ 8 Ѡ㓈 Bowyer-Watson ๲䞣ᦦ⚍䖛⿟ 䙉ᕾϞ䴶ⱘ⧚䆎ˈབ೒ 8 ᠔⼎ˈB-W ㅫ⊩๲䞣ᦦ⚍䖛⿟ⱘᅲ䰙ᅲ⦄བϟ˖‫؛‬ 䆒ᦦܹ⚍Ў p i ˈᦦܹࠡৢⱘ㔥Ḑߚ߿ᅮНЎ M i ੠ M i 1 ˈ೼ᡒࠄࣙ৿ p i ⱘ෎ऩ‫ܗ‬ ৢˈ佪‫⫼߽ܜ‬ऩ‫ܗ‬П䯈ⱘⳌ䚏݇㋏ˈᡒࠄ᠔᳝ᠧ⸈໪᥹೚‫ⱘ߭ޚ‬ऩ‫ˈܗ‬ᅮНᅗӀ 㒘៤ⱘぎ㜨Ў C i ˗䱣ৢߴ䰸ぎ㜨 C i ˈ䖲᥹ p i ੠ C i 䖍⬠Ϟⱘ乊⚍ˈ೼ぎ㜨‫ݙ‬ᔶ៤ ᮄⱘϝ㾦࣪ Bi ˈᑊ᳈ᮄऩ‫ܗ‬䚏᥹݇㋏DŽ⬅ℸˈϔ⃵ᦦ⚍䖛⿟ৃᔶ䈵ഄ㸼⼎Ў˖

17

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

M i 1

M i  Ci  Bi

ᖿ䗳ⱘ Bowyer-Watson ㅫ⊩ᅲ⦄Ёˈᇏᡒぎ㜨੠ϝ㾦࣪᳈ᮄᰃৠℹⱘˈे೼ᔶ៤ ぎ㜨ⱘৠᯊᅠ៤ᮄऩ‫ܗ‬ᵘᓎ੠Ⳍ䚏݇㋏ⱘ᳈ᮄ[91, 92]ˈᔧ✊ˈ䖭䳔㽕㊒ᖗ䆒䅵 ϔѯ䕙ࡽ᭄᥂㒧ᵘᴹࡴҹᅲ⦄ˈᴀ᭛㄀ 4 ゴᇚ㒭ߎϔϾⳌᑨⱘ㾷‫⊩ࡲއ‬DŽ 2.4.2.2 Ψ/ੋ߬ܰസ֥ Lawson[84]佪‫ߎᦤܜ‬њ䗮䖛䖍Ѹᤶᅲ⦄Ѡ㓈ऎඳ Delaunay ϝ㾦࣪ⱘᗱᛇDŽ݊ ᅲ⦄䗨ᕘᰃᇍࣙ৿䴲 Delaunay ϝ㾦࣪ⱘߌಯ䖍ᔶ䖯㸠ᇍ㾦Ѹᤶˈ⍜䰸ಯ䖍ᔶ‫ݙ‬ ᄬ೼ⱘሔ䚼䴲 Delaunay ϝ㾦࣪ᚙᔶˈབ೒ 9 ᠔⼎DŽ⧚䆎Ϟৃҹ䆕ᯢˈᇍᑨѠ㓈 䯂乬ˈϡᄬ೼ሔ䚼䴲 Delaunay ϝ㾦࣪ᚙᔶᰃܼሔ Delaunay ϝ㾦࣪ⱘ‫ܙ‬㽕ᴵӊˈ Ϩӏᛣ⚍䲚ⱘϝ㾦࣪ᘏᰃৃҹ䗮䖛᳝䰤⃵ᇍ㾦Ѹᤶ᪡԰䕀বЎ Delaunay ϝ㾦࣪ˈ 䖭೼⧚䆎Ϟֱ䆕њ䖍Ѹᤶㅫ⊩ⱘ᳝ᬜᗻ੠ᬊᬯᗻ[85]DŽ

ᇍ㾦Ѹᤶ

೒ 9 Ѡ㓈ᇍ㾦Ѹᤶ ๲䞣䖍Ѹᤶㅫ⊩ϔ㠀ࣙᣀབϟ޴ℹˈབ೒ 10 ᠔⼎˖ ˄1˅ᡒࠄࣙ৿ᦦܹ⚍ⱘ෎ऩ‫ܗ‬DŽ ˄2˅䖲᥹ᦦܹ⚍੠෎ऩ‫ⱘܗ‬乊⚍ˈᇚ෎ऩ‫ⱘܗ‬ϝᴵ䖍ᬒܹϔϾ䖍䫒㸼˗㢹 ᦦܹ⚍೼ᶤᴵ䖍Ϟˈߚ㾷݅ѿ䆹䖍ⱘ 2 Ͼϝ㾦ᔶЎ 4 Ͼᇣϝ㾦ᔶˈᇚϸ݅ѿϝ㾦 ᔶ䰸݅ѿ䖍໪ⱘ 4 ᴵ䖍य़ܹ䖍䫒㸼DŽ ˄3˅Ң䖍䫒㸼Ёᦤপ䖍ˈᇍ݅ѿ䆹䖍ⱘϸϾϝ㾦ᔶ䖯㸠໪᥹೚‫⌟߭ޚ‬䆩ˈ 㢹ᶤϾ乊⚍㹿ϡࣙ৿䆹乊⚍ⱘϝ㾦ᔶⱘ໪᥹೚᠔ࣙ৿ˈ߭Ѹᤶᇍ㾦㒓ˈᇚϸᴵᮄ 䖍य़ܹ䖍䫒㸼ЁDŽ ˄4˅䞡໡˄3˅Ⳉ㟇䖍䫒㸼ЎぎDŽ ੠ Bowyer-Watson ㅫ⊩Ⳍ↨ˈ䖍Ѹᤶㅫ⊩ᅲ⦄ⳌᇍㅔऩϔѯˈϨᅗⱘ↣ϔℹ 䛑㛑ֱ䆕ϝ㾦࣪ⱘᅠᭈᗻˈϡӮᑨ⍂⚍᭄䇃Ꮒߎ⦄᮴ᬜϝ㾦࣪ⱘ⦄䈵DŽGuibas ੠ Stolfi[93]ᦤկњ䆹ㅫ⊩ⱘϔϾ䕗Ўᅠ㕢ⱘᅲ⦄DŽ Ԛᰃˈ䖍Ѹᤶㅫ⊩೼ᢧሩࠄϝ㓈ঞ催㓈ᚙᔶᯊैϡབ Bowyer-Watson ㅫ⊩䙷 МⳈ᥹ˈJoe ੠ Rajan[94, 95]ᇍℸ԰њᓔᢧᗻⱘᎹ԰DŽᅗӀⱘㅫ⊩೼ϝ㓈ᚙᔶϟ г䳔㽕⫼ࠄϔѯ෎ᴀⱘሔ䚼বᤶ᪡԰ˈབ೒ 11 ᠔⼎DŽ੠Ѡ㓈ᑇ䴶䖍Ѹᤶㅫ⊩ϔ ḋˈ䳔㽕‫ৢ✊ˈ⚍ܹᦦܜ‬ḍ᥂ᦦܹ⚍ⱘԡ㕂ሔ䚼ߚ㾷Ⳍᑨऩ‫ˈܗ‬᳔ৢᠻ㸠ሔ䚼ব

18

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

ᤶ᪡԰ˈӬ࣪ϝ㾦࣪㒧ᵰDŽ

ߚ㾷෎ऩ‫ܗ‬

㄀ 1 ⃵Ѹᤶ

㄀ 2 ⃵Ѹᤶ

೒ 10 Ѡ㓈෎Ѣᇍ㾦Ѹᤶ᪡԰ⱘ๲䞣ᦦ⚍䖛⿟ B

B

Swap32 C

C D

D

Swap 23

E

E

A

A

F

F

B

B D

D

Swap 44

C

E

A

C

E

A

೒ 11 ϝ㓈ϝ㉏෎ᴀ䖍䴶Ѹᤶ᪡԰ 2.4.2.3 ୣ൑സ֥ 䰸 Bowyer-Watson ㅫ⊩੠䖍 / 䴶Ѹᤶㅫ⊩໪ˈг᳝ⷨお㗙ᇱ䆩њ݊ᅗϔѯ Delaunay 㔥Ḑ⫳៤ㅫ⊩ˈབ෎Ѣߌࣙ⊩[37]੠ Tanemura-Ogawa-Ogita ⊩[88]DŽ Brown[96]থ⦄ d 㓈⚍䲚ⱘ Delaunay ϝ㾦࣪੠݊ᇍᑨ d  1 㓈⚍䲚ⱘߌࣙП䯈 ᄬ೼ᶤ⾡᯴ᇘ݇㋏ˈ߽⫼䖭⾡݇㋏ˈDelaunay ϝ㾦࣪䯂乬ৃ䕀࣪Ўߌࣙᵘᓎ䯂乬DŽ ϔ㠀ഄˈ෎Ѣߌࣙ⊩ࣙᣀϝℹ˖‫ܜ‬ᇚ d 㓈⚍ᡩᇘࠄ d  1 㓈ᡯ⠽䴶Ϟˈᕫࠄᇍᑨⱘ d  1 㓈⚍˗䱣ৢ೼ d  1 㓈ぎ䯈ⱘ᠔᳝ᡩᇘ⚍ПϞᓩܹϔϾᮄ⚍ˈᇍᑨ d 㓈ぎ䯈 ϔϾ᮴か䖰໘⚍ˈᑊᵘᓎ᠔᳝⚍ⱘߌࣙ˗᳔ৢᇚߌࣙ᯴ᇘಲ d 㓈ぎ䯈ˈߌࣙЁᮍ ৥ᳱϟⱘ䴶ᵘ៤њ d 㓈ぎ䯈⚍䲚ⱘ Delaunay ϝ㾦࣪DŽ೒ 12 ⼎ᛣњ෎Ѣϝ㓈ߌࣙ ᵘᓎⱘѠ㓈 Delaunay ϝ㾦࣪ㅫ⊩DŽџᅲϞˈᡩᕅ䴶䰸њ䗝ᢽᡯ⠽䴶໪ˈгৃҹ

19

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

䗝ᢽ೚䴶DŽZheng ㄝ[37, 55, 87]៤ࡳഄᇚ᳝ৡⱘߌࣙᵘᓎ⿟ᑣ Quickhull[97]䲚៤ ࠄҪӀⱘѠ㓈ǃϝ㓈ঞ᳆䴶 Delaunay 㔥Ḑ⫳៤఼Ёˈᬜᵰ㡃དDŽ

ᡩᕅ

ߌࣙᵘᓎ

ডᡩᕅ

೒ 12 ෎Ѣϝ㓈ߌࣙᵘᓎⱘѠ㓈 Delaunay ϝ㾦࣪ㅫ⊩⼎ᛣ೒

Tanemura-Ogawa-Ogita ⊩[88]੠Ѡ㓈ⱘ䖍Ѹᤶㅫ⊩㉏Ԑˈϡৠⱘᰃˈࠡ㗙೼ Delaunay ϝ㾦࣪ⱘৠᯊֱ䆕њ䖍⬠䖍೼ϝ㾦࣪Ёⱘᄬ೼DŽ㒭ᅮ⚍䲚 P ੠䖍⬠䖍䲚 ড় Eb ˈ㓈ᡸϔϾ䖍䫒㸼 E ˈ߱ྟ࣪ E Eb DŽӏ䗝ϔᴵ䖍 e  E ˈҹ݊԰⌏ࡼ䖍ˈ ᇏᡒ䰸 e ⱘϸϾッ⚍໪ⱘӏᛣϔ⚍ p ˈ p ੠ e ϡ݅㒓Ϩᵘ៤‫݋‬᳝ぎ໪᥹೚ⱘ Delaunay ϝ㾦ᔶ t DŽᇚ t ⱘ঺໪ϸᴵ䖍ࡴܹ E ˈᔧ✊ˈᏆ㒣೼ E ‫ⱘݙ‬䖍᮴䳔‫⃵ݡ‬ ࡴܹDŽE Ё᠔᳝䖍⬠䖍䳔㹿ϔϾϝ㾦ᔶ᠔ࣙ৿ˈ㗠᠔᳝‫ݙ‬䚼䖍߭䳔㽕㹿ϸϾϝ㾦 ᔶ᠔ࣙ৿ˈ৺߭ˈҹ䆹䖍Ў⌏ࡼ䖍DŽ䳔㽕⊼ᛣⱘᰃˈᇍᑨ䖍⬠䖍䳔ᬒᵒぎ໪᥹೚ ‫ˈ߭ޚ‬ҙҙ㽕∖ࣙ৿⚍ p ⱘ䙷䚼ߚ೚ඳЎぎˈ⬅ℸᵘᓎⱘϝ㾦࣪г⿄㑺ᴳ Delaunay ϝ㾦࣪˄CDT: Constrained Delaunay Triangulation˅DŽ

2.4.3 Delaunay ᮍ⊩ⱘ݇䬂䯂乬ⷨお Delaunay ϝ㾦࣪ㅫ⊩೼㔥Ḑ⫳៤乚ඳЁᑨ⫼ᕜᑓ⊯DŽᑨ⫼ѢѠ㓈乚ඳˈᅗᏆ 㒣পᕫ↨䕗ᅠ㕢ⱘ㾷‫އ‬ᮍḜ˗Ԛᑨ⫼Ѣϝ㓈㔥Ḑ⫳៤ǃ৘৥ᓖᗻ㔥Ḑ⫳៤ǃ᳆䴶 㔥Ḑ⫳៤੠ᑊ㸠㔥Ḑ⫳៤ㄝ乚ඳˈᅗ䛑䖬ᄬ೼ϔѯᇮ᳾㾷‫ⱘއ‬䯂乬DŽᴀ㡖ᑊϡ䆩 ೒䴶䴶‫ࠄׅ‬ഄҟ㒡 Delaunay ᮍ⊩೼Ϟ䗄᠔᳝ⷨお乚ඳЁⱘⷨお⦄⢊ˈ㗠াᰃಲ 乒ᑣ߫࣪ Delaunay ᮍ⊩೼޴Ͼ݇䬂䯂乬Ϟⱘⷨおᗱ䏃੠ⷨお៤ᵰDŽ঺໪ˈᇍᑊ 㸠 Delaunay ᮍ⊩ⱘಲ乒㹿ᅝᥦ೼c2.5DŽ Delaunay ‫߭ޚ‬াЎབԩ䖲᥹㒭ᅮ⚍䲚ᦤկњᣛᇐˈᑨ⫼Ѣ㔥Ḑ⫳៤乚ඳˈᅗ 䖬䳔㽕㾷‫އ‬ϸϾ݇䬂䯂乬˖ϔᰃབԩѻ⫳‫ݙ‬䚼⚍˗Ѡᰃབԩֱ䆕䖍⬠೼᳔㒜ϝ㾦 ࣪Ёⱘᄬ೼DŽ‫ݙ‬䚼⚍ⱘᥦ߫᮶㽕⒵䎇ᣛᅮⱘᆚᑺ᥻ࠊ㽕∖ˈজ㽕ֱ䆕᳔㒜㔥Ḑⱘ ऩ‫ܗ‬䋼䞣DŽϝ㓈䖍⬠ᘶ໡䴶Јⴔᕜ໮⧚䆎Ϟⱘೄ䲒ˈ䖭Փᕫᕜ໮ਃথᓣㅫ⊩䛑ᰃ ҹ䰡Ԣ䖍⬠䰘䖥ऩ‫ܗ‬䋼䞣ЎҷӋⱘˈབԩ㓧㾷䖭ϔᚙᔶᰃϔϾདⱘ䖍⬠ᘶ໡ㅫ⊩ ᖙ乏㗗㰥ⱘ䯂乬DŽ དⱘ㔥Ḑ⫳៤఼᠔䗑∖ⱘⳂᷛࣙᣀ⿟ᑣⱘ‫ع‬ໂᗻǃ᳔㒜㔥Ḑⱘ䋼䞣ҹঞ䖤ㅫ

20

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

ᬜ⥛DŽ੠݊ᅗㅫ⊩Ⳍ↨ˈDelaunay ᮍ⊩㱑෎ѢϹḐⱘ᭄ᄺ⧚䆎ˈԚϔᮍ䴶೼䖍⬠ ᘶ໡ㄝ䖛⿟Ёᅗҡᄬ೼⧚䆎ೄ䲒ˈ䳔㽕‫ࡽ׳‬ਃথᓣⱘㅫ⊩ˈ঺ϔᮍ䴶⿟ᑣ䖤㸠䖛 ⿟ЁӮ෎Ѣ⍂⚍᭄䖤ㅫᴹ䖯㸠Ѡؐ߸ᮁˈᴎ఼᳝䰤㊒ᑺѻ⫳ⱘ⍂⚍䖤ㅫ䇃Ꮒৃ㛑 ӮՓ⿟ᑣ‫ߎخ‬ϢџᅲⳌডⱘ䗝ᢽˈҢ㗠ᇐ㟈䖤ㅫ䫭䇃ˈ⫮㟇Փᕫ⿟ᑣዽ⑗DŽ᳔㒜 㔥Ḑⱘऩ‫ܗ‬䋼䞣੠‫ݙ‬䚼㡖⚍ѻ⫳ᮍᓣǃ䖍⬠ᘶ໡ㅫ⊩ǃᆚᑺ᥻ࠊㄪ⬹ㄝ݇䬂⦃㡖 ᙃᙃⳌ݇ˈDelaunay ᮍ⊩೼⧚䆎Ϟᇍऩ‫ܗ‬䋼䞣᳝ϔᅮⱘֱ䆕ˈԚᰃˈབԩ⍜䰸㔥 ḐЁᄬ೼ⱘ㭘‫˄ܗ‬sliver˅ᰃ Delaunay ᮍ⊩䴶Јⱘᣥ៬ПϔDŽৠϔϾㅫ⊩ⱘϡৠ ᅲ⦄ˈ݊ᬜ⥛᳝ᕜ໻ⱘᏂ䎱ˈ䖭প‫އ‬Ѣ⿟ᑣ䆒䅵㗙ᰃ৺ᇍḌᖗⱘ᭄᥂㒧ᵘঞㅫ⊩ 䖤㸠ⱘ݇䬂⦃㡖԰њ㊒ᖗ䆒䅵੠Ӭ࣪DŽ 2.4.3.1 ઝϦԤಓю ḍ᥂Ꮧ⚍੠䖲‫ܗ‬᪡԰П䯈ⱘ݇㋏ˈ‫ݙ‬䚼⚍⫳៤ᮍᓣৃҹߚЎ⣀ゟ੠ϡ⣀ゟϸ ㉏[87]DŽ⣀ゟⱘ⚍⫳៤ᮍᓣ[98]ϡ㗗㰥⚍ⱘ䖲᥹݇㋏ˈ㗠ҙḍ᥂ᆚᑺ᥻ࠊ㽕∖ᥦ ߫‫ݙ‬䚼⚍DŽ䖭⾡ᮍᓣ೼ᮽᳳⱘ Delaunay ᮍ⊩Ёᕜᐌ⫼ˈᕫࠄⱘ⚍ⱘᥦ߫䗮ᐌᰃ 㒧ᵘ࣪ⱘˈ⬅Ѣ݊೼ऩ‫ܗ‬䋼䞣᥻ࠊঞ䖛⏵㔥Ḑ⫳៤ᮍ䴶ഛᄬ೼㔎䱋ˈ⦄Ꮖᕜᇥ䞛 ⫼ˈ㗠ϡ⣀ゟⱘ‫ݙ‬䚼⚍⫳៤ᮍᓣ߭ᰃᔧࠡⷨおⱘЏ⌕DŽ ᐌ⫼ⱘ Delaunay ᮍ⊩佪‫ܜ‬ᕫࠄ䖍⬠⚍䲚ⱘϝ㾦࣪ˈ䱣ৢϡᮁ㒚࣪ᅗˈⳈࠄ⒵ 䎇㒭ᅮⱘᆚᑺ㽕∖ˈ಴ℸৃ߽⫼Ꮖ᳝ⱘϝ㾦࣪㒧ᵰᴹᣛᇐ‫ݙ‬䚼⚍ⱘ⫳៤DŽ Weatherill ੠ Hassan[99]ǃZheng ㄝ[87]೼ϝ㾦ᔶⱘ䞡ᖗ໘ᦦ⚍˗INRIA ᅲ偠 ᅸⱘⷨお㗙߭೼‫ݙ‬䚼䖍Ϟ⫳៤ᮄ㡖⚍[100, 101]˗ Rebay[102]߭೼ Voronoï 䖍 ˄Voronoï segment˅Ϟ⫳៤㡖⚍ˈVoronoï 䖍ᣛϝ㾦ᔶ໪᥹೚೚ᖗⱘ䖲㒓ˈ⬅ℸ ⫳៤ⱘ᳔㒜㔥Ḑ䴲ᐌ᥹䖥㒧ᵘ࣪㔥ḐDŽሑㅵ䖭ѯᦦ⚍ᮍᓣⱘ᳝ᬜᗻⱘ⧚䆎䆕ᯢ䖬 ᰃ݀ᓔ䯂乬ˈҪӀⱘㅫ⊩೼ᅲ䏉Ё䛑পᕫњᕜདⱘᬜᵰDŽϞ䗄ᦦ⚍ㅫ⊩Ёˈ㡖⚍ ϔ㠀ϔᡍϔᡍഄѻ⫳ˈ✊ৢϔᡍϔᡍഄᦦܹˈབℸᕾ⦃ˈⳈࠄ⒵䎇㒭ᅮⱘᆚᑺ᥻ ࠊ㽕∖DŽ೼⫳៤੠ᦦܹ⚍ᯊˈᕔᕔ䖬䳔㽕᨜ᓗ੠Ꮖ᳝㡖⚍៪ⳌѦП䯈䴴ⱘ䖛䖥ⱘ 㡖⚍DŽ Chew[103, 104]੠ Ruppert[105, 106]೼ऩ‫ܗ‬໪᥹⧗ⱘ⧗ᖗ໘ᦦ⚍ˈᑊ೼⧚䆎Ϟ 䆕ᯢњ⬅ҪӀⱘᮍḜѻ⫳ⱘ᳔㒜㔥Ḑⱘऩ‫ܗ‬᳔ᇣ㾦᳝ϔϾϟ䰤ؐDŽShewchuk[85] ᬍ䖯њ Chew ੠ Ruppert ⱘᎹ԰ˈᑊᇚ݊ᢧሩࠄϝ㓈ᚙᔶDŽϡ䖛᠔᳝⧚䆎䆕ᯢ䛑 ≵᳝㗗㰥䖍⬠ᴵӊˈ៪㗙ᬒᵒњᇍᅗⱘ䰤ࠊˈShewchuk[85]䖬ᦤկњབԩ໘⧚ࣙ ৿ሔ䚼ᇪ㾦ⱘѠ㓈䖍⬠ⱘᡔᎻDŽҪӀⱘⷨおᓔ߯њ Delaunay ᮍ⊩ⷨおⱘϔϾ䞡 㽕ߚᬃ˖ֱ䋼 Delaunay 㒚ߚ˄quality-guaranteed Delaunay refinement˅ ˈгㅔ⿄ Delaunay 㒚ߚDŽᅗফࠄӫ໮ᴹ㞾䅵ㅫ޴ԩ乚ඳⱘⷨお㗙ⱘ䴦ⴤˈᑊ೼䖯ϔℹⱘ⏅ ܹথሩПЁDŽ Ϟ䗄ㅫ⊩䛑ᕜ䲒ֱ䆕ऩ‫ⱘܗ‬䌈䖍ᗻˈ߽⫼ࠡ⊓᥼䖯⊩⫳៤㡖⚍ˈ㗠෎Ѣ Delaunay ‫߭ޚ‬䖲᥹㡖⚍ᰃ㾷‫އ‬䖭ϔ䯂乬ⱘདࡲ⊩[107]ˈᔧ✊ˈᅗᰃҹ๲ࡴ⍂⚍ 䖤ㅫ乥⥛ˈ䰡Ԣㅫ⊩ᬜ⥛ЎҷӋⱘ˗঺໪ˈ䖭⾡ᮍ⊩гӮ⫳៤᥹䖥㒧ᵘ࣪ⱘ㔥ḐDŽ

21

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

2.4.3.2 Ψ࠘‫؏݋‬ 㔥Ḑ⫳៤Ёˈ䖍⬠ৃҹᰃ⫼ᴹऎߚ⠽ԧ‫ݙ‬໪ⱘ໪䚼䖍⬠ˈгৃҹᰃ‫ݙ‬䚼䖍⬠ˈ བϡৠᴤ᭭ⱘߚ䱨䴶ˈ䰘ࡴ㑺ᴳ䴶DŽѠ㓈ऎඳЁˈ䖍⬠䗮ᐌҹ⚍ǃ㒓ⱘᮍᓣ㒭ߎ˗ ϝ㓈ऎඳЁˈ䖬ࣙ৿㑺ᴳ䴶ˈϔ㠀ҹϝ㾦⠛ⱘᔶᓣ㒭ߎDŽ䖍⬠ᘶ໡䯂乬ৃҹߚЎ ϸ㉏ˈϔ㉏ᰃϔ㟈䖍⬠ᘶ໡ˈ䖍⬠ҹߚ↉៪ߚഫⱘᮍᓣ㹿ᘶ໡˗঺ϔ㉏ᰃ㑺ᴳ䖍 ⬠ᘶ໡ˈॳ᳝䖍⬠Ϟϡ‫ܕ‬䆌᳝乱໪ⱘ⚍ߎ⦄DŽ Ѡ㓈ऎඳⱘ䖍⬠ᘶ໡䯂乬Ꮖ㒣෎ᴀ㾷‫ˈއ‬Tanemura-Ogawa-Ogita ㅫ⊩[88]೼ ᵘᓎ Delaunay ϝ㾦࣪ⱘৠᯊֱ䆕䖍⬠䖍೼᳔㒜ϝ㾦࣪Ёⱘᄬ೼ˈ㗠᳈䗮⫼ⱘ‫خ‬ ⊩ᰃ೼ϝ㾦࣪ৢᠻ㸠ϔϾ䖍⬠ᘶ໡՟⿟ᴹᘶ໡䖍⬠DŽ‫ܕ‬䆌ࡴ⚍ᯊˈৃҹ೼䘫༅䖍 ⬠Ϟϡᮁࡴ⚍ˈⳈࠄ䘫༅䖍⬠ᄬ೼Ѣ Delaunay ϝ㾦࣪ЁDŽࡴ⚍ᮍᓣ᳝໮⾡ˈৃ ҹ䗝ᢽ䘫༅䖍⬠Ё⚍ˈгৃҹ䗝ᢽ䘫༅䖍⬠੠ϝ㾦࣪ⱘѸ⚍DŽϡ‫ܕ‬䆌ࡴ⚍ᯊˈ߭ ৃҹ䗮䖛བ೒ 9 ᠔⼎ⱘᇍ㾦Ѹᤶ᪡԰ᘶ໡䘫༅䖍⬠DŽϞ䗄ㅫ⊩ⱘᬊᬯᗻ೼⧚䆎Ϟ 䛑Ꮖᕫࠄ䆕ᯢ[85]DŽ Ⳍ↨Ѡ㓈䖍⬠ᘶ໡䯂乬ˈϝ㓈䖍⬠ᘶ໡߭ᄬ೼⧚䆎Ϟⱘೄ䲒DŽSchönhardt ໮ 䴶ԧ˄བ೒ 55˅ⱘᄬ೼Ң⧚䆎Ϟ৺ᅮњ೼ϡࡴ⚍ᚙᔶϟϝ㾦࣪ӏᛣ໮䴶ԧⱘৃ 㛑[108]ˈ㗠 Ruppert ੠ Seidel[109]߭䆕ᯢ೼ϡࡴ⚍ᚙᔶϟ߸ᮁӏᛣ໮䴶ԧ㛑৺ϝ 㾦࣪ᰃϔϾ NP ᅠܼ䯂乬DŽ಴ℸˈ㽕ᅲ⦄ϔϾ‫ع‬ໂⱘ䖍⬠ᘶ໡ㅫ⊩߭ᖙᅮ䳔㽕㗗 㰥བԩ⏏ࡴ䕙ࡽ⚍ⱘ䯂乬ˈϝ㓈䖍⬠ᘶ໡ⱘ䲒⚍ህ೼Ѣབԩ᥻ࠊ䕙ࡽ⚍ⱘ⏏ࡴDŽ ⏏ࡴ䕙ࡽ⚍⸈ണњॳ᳝ऩ‫ܗ‬ሎᇌഎⱘᅮНˈϨৃ㛑೼݊䰘䖥ᔶ៤䋼䞣䕗Ꮒǃ⫮㟇 䗔࣪ⱘऩ‫ܗ‬DŽ䕙ࡽ⚍⏏ࡴⱘⳂᷛᰃ[110]˖ϔ㽕ሑ䞣‫ޣ‬ᇥ䕙ࡽ⚍ⱘ᭄Ⳃ˗ѠᰃӬ࣪ 䕙ࡽ⚍䰘䖥ⱘऩ‫ܗ‬䋼䞣DŽৢϔϾⳂᷛৃ䗮䖛㔥Ḑৢ໘⧚䖛⿟ᴹᅲ⦄ˈ㗠‫ޣ‬ᇥ䕙ࡽ ⚍᭄Ⳃⱘᐌ⫼ㄪ⬹᳝Ѡ˖ϔᰃӬ࣪㸼䴶㔥ḐˈWeatherill ㄝ[99]੠ Lewis ঞ Zheng ㄝ[111]ⱘᅲ偠㸼ᯢˈᇍ㸼䴶㔥Ḑᠻ㸠བ೒ 9 ᠔⼎ⱘᇍ㾦Ѹᤶ᪡԰ˈӬ࣪ৢⱘ㸼䴶 㔥Ḑߎ⦄䖍⬠䘫༅ⱘὖ⥛ৃ໻໻‫ޣ‬ᇥ˗Ѡᰃ㒧ড়೒ 11 ᠔⼎ⱘ෎ᴀ䖍/䴶Ѹᤶ᪡԰ ঞ݊㒘ড়ˈৃᘶ໡໻䚼ߚ䘫༅䖍⬠[99, 111, 112]DŽ Hazlewood[113]੠ Pebey[15, 114, 115]䆩೒೼㔥Ḑ⫳៤ࠡ䗮䖛Ѹᤶ㑺ᴳ䖍੠ ๲ࡴ䕙ࡽ⚍ⱘᮍᓣᇏᡒ㒭ᅮ㑺ᴳⱘㄝᬜ㑺ᴳˈᑊֱ䆕ㄝᬜ㑺ᴳ‫݋‬໛ Delaunay ‫ݐ‬ ᆍᗻ˄Delaunay admissibility˅˗Pebey[114]䖬ᇱ䆩᥻ࠊ䕙ࡽ⚍ⱘ᭄Ⳃˈҹ⒵䎇ᅲ 䰙ᑨ⫼䳔∖DŽᘏԧᴹ䇈ˈ䖭⾡‫⊩خ‬䖬ϡ໳ᅲ⫼DŽ ሑㅵ೼⧚䆎Ϟ㛑৺䗮䖛ࡴ⚍ᅲ⦄ϝ㓈 CDT 䖬≵᳝ᅮ䆎ˈⷨお㗙䖬ᰃ䆩೒ሑ 䞣ֱ䆕ᘶ໡ৢⱘ䖍⬠ⱘ Delaunay ‫ݐ‬ᆍᗻˈҹᦤ催䖍⬠䰘䖥ⱘऩ‫ܗ‬䋼䞣DŽЎ䖒ࠄ 䖭ϾⳂᷛˈ䕙ࡽ⚍⏏ࡴ䖛⿟㹿䆒䅵៤㉏ԐѢ๲䞣 Delaunay ⚍ᦦܹ䖛⿟[116, 117]DŽ 䖭⾡‫⊩خ‬䰸䴶Ј䕙ࡽ⚍䖛໮ⱘ䯂乬໪ˈ䖬ᄬ೼ㅫ⊩ⱘᬊᬯᗻ䯂乬DŽᘶ໡䖍⬠ⱘ䖛 ⿟ৃ㛑Ӯ䗴៤Ꮖᘶ໡䖍⬠ⱘ‫϶⃵ݡ‬༅ˈ䖭ᰃѻ⫳ᬊᬯᗻ䯂乬ⱘЏ㽕ॳ಴ˈ಴ℸˈ 䳔㽕೼⚍ᦦܹᯊᇍᏆᘶ໡䖍⬠ᅲᮑֱᡸ[116]DŽ Ϟ䴶ᦤঞⱘㅫ⊩ഛሲѢϔ㟈䖍⬠ᘶ໡㣗⭈ˈGeorge[101]㒧ড়䖍/䴶Ѹᤶ᪡԰

22

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

੠ϔѯ೼ऎඳ‫ݙ‬䚼⏏ࡴ䕙ࡽ⚍ⱘਃথᗻ㾘߭ˈᅲ⦄њϔ༫Ⳉ᥹䖯㸠㑺ᴳ䖍⬠ᘶ໡ ⱘㅫ⊩DŽLiu ੠ Baida[118]㒭ߎњϔѯ䆹ㅫ⊩᮴⊩㾷‫ⱘއ‬՟ᄤˈ䖭ѯ՟ᄤ೼䖍⬠ Ϟᐌ᳝ϔѯ⣁䭓ⱘϝ㾦ᔶऩ‫៪ˈܗ‬ᄬ೼ሔ䚼ऎඳऩ‫ܗ‬ሎᇌ࠻⚜䖛⏵ⱘ⦄䈵DŽ ⬅Ѣϔ㟈䖍⬠ᘶ໡ⱘ‫ع‬ໂᗻⳌᇍ䕗ᆍᯧֱ䆕ˈ಴ℸˈᅲ⦄‫ع‬ໂⱘ㑺ᴳ䖍⬠ᘶ ໡ㅫ⊩ⱘϔϾᗱ䏃ᰃ˖‫ܜ‬䖯㸠ϔ㟈䖍⬠ᘶ໡ˈ䱣ৢএ䰸㑺ᴳϞⱘ䕙ࡽ⚍ˈᅲ⦄㑺 ᴳ䖍⬠ᘶ໡DŽWeatherill ੠ Hassan[99]Ⳉ᥹೼㑺ᴳ໘ࡴ⚍ᅲᮑϔ㟈䖍⬠ᘶ໡ˈ䱣 ৢࠨ䰸䕙ࡽ⚍ˈᑊϝ㾦࣪᠔ᔶ៤ⱘᄨ⋲ˈҹᅲ⦄㑺ᴳ䖍⬠ᘶ໡DŽⳈ᥹ϝ㾦࣪䖭㉏ ᄨ⋲ᄬ೼ᬊᬯᗻ䯂乬ˈᐌ䳔㽕೼ᄨ⋲䖍⬠⏏ࡴ䕙ࡽ⚍ˈ䖭জᏺᴹᄨ⋲‫ݙ‬㔥Ḑ੠ᄨ ⋲਼䖍㔥Ḑབԩֱᣕϔ㟈ⱘ䯂乬ˈKaramete[119]ᇱ䆩䗮䖛ׂᬍᄨ⋲਼䖍㔥Ḑᴹ㾷 ‫އ‬ᅗDŽ੠Ϟ䗄Ⳉ᥹ࠨ䰸䖍⬠Ϟⱘ䕙ࡽ⚍ⱘㄪ⬹ϡৠˈGeorge[120]ҹঞ Du ੠ Wang[121]߭ᦤߎњ⿏ࡼ៪ߚ㾷䖍⬠Ϟ䕙ࡽ⚍ⱘᗱ䏃ˈҹ㾷‫އ‬ϔ㟈䖍⬠ᘶ໡䖛⏵ ࠄ㑺ᴳ䖍⬠ᘶ໡ⱘ䯂乬DŽGeorge ⱘᅲ偠㸼ᯢˈᇍѢ䴲ᐌ⮙ᗕⱘ՟ᄤˈҪⱘᮄㅫ ⊩г㛑পᕫ៤ࡳ[120]DŽ Joe[95]ߚ㾷䯂乬ඳЎߌඳˈᑊֱ䆕೼ߌඳЁ⫳៤䖍⬠ϔ㟈㔥Ḑˈҹℸᴹಲ䙓 䖍⬠ᘶ໡䯂乬DŽԚ䯂乬ඳⱘߚ㾷ˈ⡍߿೼ϝ㓈ᚙᔶϟˈᕔᕔ੠㔥Ḑ⫳៤ৠḋ໡ᴖDŽ 2.4.3.3 ‫׼‬Ԥၮസ๢Еۤߒᅰ໿ ㅫ⊩ⱘ‫ع‬ໂᗻᰃᣛ݊೼䗔࣪ᚙᔶϟձ✊㛑໳㦋পℷ⹂㒧ᵰⱘ㛑࡯DŽ䰸ㅫ⊩ᴀ 䑿䆒䅵Ϟⱘ㔎䱋໪ˈ⍂⚍䖤ㅫ䇃ᏂгӮᓩ䍋৘⾡䗔࣪ᚙᔶDŽ F

A

H

E

C D

E

F D

D E

C

G

H

C

H

B

A

B A

(a) 䴲᯳ൟぎ㜨

(b) ぎ㜨䴲ぎ

B

(c) 䖍⬠㑺ᴳⱘᕅડ

೒ 13 ⍂⚍䖤ㅫ䇃Ꮒ੠䖍⬠㑺ᴳᓩ䍋ⱘϝ⾡᮴ᬜぎ㜨ᚙᔶ Bowyer-Watson ㅫ⊩Ёˈ⧚䆎Ϟৃҹֱ䆕↣Ͼ⚍ᦦܹৢᔶ៤ⱘぎ㜨ᰃ᯳ᔶⱘˈ Ϩぎ㜨Ϟ᠔᳝⚍ᇍᮄᦦܹ⚍ᰃৃ㾚ⱘˈ⬅ℸֱ䆕䖲᥹ᮄᦦܹ⚍੠ぎ㜨Ϟⱘ⚍ৃҹ ᔶ៤ϔϾ᳝ᬜⱘϝ㾦࣪ˈ䖭г೼⧚䆎Ϟֱ䆕њ Bowyer-Watson ⚍ᦦܹ‫ݙ‬Ḍ˄ҹϟ ㅔ⿄ B-W ‫ݙ‬Ḍ˅ⱘ‫ع‬ໂᗻDŽԚ B-W ‫ݙ‬Ḍ೼߸ᮁϔϾ⚍ᰃ৺㹿໪᥹೚៪໪᥹⧗᠔ ࣙ৿ᯊˈᰃ෎Ѣ⍂⚍䖤ㅫⱘˈ䖭Փᕫ݊ᇍ⍂⚍䇃Ꮒᕜᬣᛳˈ೼ᅲ䰙ᅲ⦄ЁӮߎ⦄ ᮴ᬜⱘぎ㜨ᚙᔶDŽ೒ 13(a)Ёˈ 'BCE ⱘ໪᥹೚㹿䅸ᅮЎϡࣙ৿ᮄᦦܹ⚍ H ˈ㗠 'AEF ǃ'ABE ੠ 'CDE ⱘ໪᥹೚㹿䅸ᅮЎࣙ৿ H ˈ⬅ℸᔶ៤ϔϾ䴲᯳ᔶⱘぎ㜨DŽ ೒ 13(b)Ёˈ 'BCD ੠ 'BDE ⱘ໪᥹೚ᰃࣙ৿ᮄᦦܹ⚍ H ˗㗠 'ABE ੠ 'AED ⱘ

23

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

໪᥹೚ϡࣙ৿⚍ H ˈԚ䴴ᕫᕜ䖥ˈ㢹䫭䇃䅸ᅮᅗӀࣙ৿⚍ H ˈ߭೼ぎ㜨Ёࣙ৿ ϔϾࠡ⃵ᦦܹ⚍ E ˈ䖭⾡ぎ㜨ϡぎⱘᚙᔶгᰃ䫭䇃ⱘDŽ঺໪ˈЎֱᣕ䖍⬠㑺ᴳˈ ೼䖍⬠䰘䖥Ӯߎ⦄䴲 Delaunay ϝ㾦࣪ˈℸᯊ೼݊䰘䖥ᦦ⚍ˈৃ㛑Ӯߎ⦄ぎ㜨⚍ ᇍᮄᦦܹ⚍ϡৃ㾚ⱘᚙᔶ[122]ˈབ೒ 13(c)᠔⼎DŽЎ㾷‫އ‬Ϟ䗄䯂乬ˈGeorge[92] 㒭ߎњϔϾ‫ع‬ໂⱘ B-W ‫ݙ‬Ḍˈᅗᇍぎ㜨䗦ᔦഄ䖯㸠᳝ᬜᗻẔ⌟ˈབᵰぎ㜨ߎ⦄ ᮴ᬜᚙᔶˈ߭এ䰸䙷ѯᓩ䍋᮴ᬜᚙᔶⱘऩ‫ˈܗ‬᳔㒜ᔶ៤ϔϾ᳝ᬜⱘぎ㜨DŽ䳔㽕⊼ ᛣⱘᰃˈᣝ✻䖭⾡ᮍᓣˈぎ㜨Ёᮄᔶ៤ⱘϝ㾦࣪ϡ‫ݡ‬ᰃ Delaunay ϝ㾦࣪DŽ 䖍⬠ᘶ໡ᯊг⡉ᡃࠄ໻䞣޴ԩ䅵ㅫˈབ㒓㒓ⳌѸǃ㒓䴶ⳌѸǃ⚍䴶ԡ㕂݇㋏ ㄝˈ⬅ℸᓩ䍋ⱘ⍂⚍䇃ᏂгӮᇐ㟈⿟ᑣ೼ᶤѯᚙᔶϟ᮴⊩ᕫࠄℷ⹂ⱘ㒧ᵰDŽ᳝ᯊ ৃҹߚᵤ䖭㉏䇃Ꮒⱘѻ⫳ᴎࠊᑊ䆒䅵Ⳍᑨⱘ՟⿟ᴹ⍜䰸ᅗˈ Lewis ঞ Zheng ㄝ[111] ህ㒭ߎϔϾ䖭ḋⱘ՟ᄤˈབ೒ 14 ᠔⼎ˈᔧ䆩೒ᘶ໡ 'ABC ᯊˈ䳔䅵ㅫ 'ABC ੠ ಯ䴶ԧ 1234 ⱘ݇㋏ˈ བᵰ⚍ 4 䴲ᐌ䴴䖥 'ABC ˈ ߭ৃ㛑԰ߎ䖍 14 ੠䖍 24 ੠ 'ABC ⳌѸԚ䖍 34 ϡ੠ 'ABC ⳌѸⱘ䫭䇃߸ᮁˈ 䖭Ͼ䯂乬ৃҹ䗮䖛‫߸ܜ‬ᮁ⚍ 4 ੠ 'ABC ⱘ݇㋏ˈ✊ৢ∖㾷Ѹ⚍ԡ㕂ᴹ㾷‫އ‬DŽ៥Ӏⱘ㒣偠㸼ᯢˈ೼䖍⬠ᘶ໡䖛⿟Ёˈ䖬ᄬ ೼ϡᇥ㉏Ԑⱘ⬅Ѣ⍂⚍䇃Ꮒᓩ䍋ⱘ䫭䇃ᚙᔶˈ䆩೒ߚᵤ↣ϔ⾡ᚙᔶⱘѻ⫳ᴎࠊᑊ 㾷‫އ‬ᅗⱘ῵ᓣᕜ䲒㸠ᕫ䗮DŽ䖤⫼ᭈ᭄ㅫᴃᡔᎻᰃ㾷‫އ‬⍂⚍䖤ㅫ䇃Ꮒ䯂乬ⱘᗱ䏃П ϔˈԚ݊ᕔᕔᏺᴹϡᖙ㽕ⱘᓔ䫔DŽShewchuk[85]߽⫼㞾䗖ᑨ㊒ᑺㅫᴃˈ䆩೒೼⍂ ⚍䖤ㅫ‫⹂ޚ‬ᗻ੠݊ᏺᴹⱘᓔ䫔П䯈পᕫᑇ㸵ˈ෎Ѣ䖭⾡ᗱ䏃ˈҪЎѠ㓈ঞϝ㓈 Delaunay ϝ㾦࣪ㅫ⊩䆒䅵њಯϾ޴ԩॳ䇁ˈे⚍੠Ⳉ㒓ঞᑇ䴶ⱘԡ㕂݇㋏ҹঞ⚍ ੠೚៪⧗ⱘࣙ৿݇㋏ˈ偠䆕њ㞾䗖ᑨ㊒ᑺㅫᴃ㾷‫އ‬⍂⚍䖤ㅫ䇃Ꮒ䯂乬ⱘ᳝ᬜᗻDŽ ঺໪ˈᇍ޴ԩ䅵ㅫᓩ䍋ⱘ⍂⚍䖤ㅫ䇃Ꮒ䯂乬ˈEdelsbrunner ੠ Mücke[123]㋏㒳ᗻ ഄᦤߎњϔ༫ҪӀ⿄ПЎĀㅔ࣪῵ᢳ˄simulation of simplicity˅ āⱘ㾷‫އ‬ᮍḜDŽ 2.4.3.4 ฉٌည‫ͪރܤ‬၍ூ҂ ⬅Ѣ䖍⬠㑺ᴳǃऩ‫ܗ‬ᆚᑺব࣪ǃ‫ܹᦦ⚍ݙ‬ҹঞ Delaunay ⧚䆎ᴀ䑿ⱘϔѯ䰤ࠊˈ Delaunay 㔥Ḑⱘ䋼䞣ᑊ䴲᳔Ӭˈ䳔㽕䖤⫼ϔѯӬ࣪ㄪ⬹ᴹ䖯ϔℹᦤ催DŽᐌ⫼ⱘ㔥 ḐӬ࣪ㄪ⬹ࣙᣀ‫ܝ‬⒥࣪ঞᢧᠥ䞡㒘ϸ㉏DŽࠡ㗙⿏ࡼ㡖⚍ԡ㕂㗠ֱᣕ㡖⚍䖲᥹݇㋏ ϡব˗ৢ㗙Ӭ࣪㡖⚍П䯈ⱘ䖲᥹݇㋏DŽᅲ䰙ⱘ㔥Ḑৢ໘⧚䖛⿟Ёˈϸ⾡ᮍᓣ䗮ᐌ ᰃ㒧ড়Փ⫼ⱘˈFreitag ㄝ[124]ህ㒧ড়෎ѢӬ࣪ⱘ‫ܝ‬⒥࣪ㄪ⬹੠䖍/䴶Ѹᤶ᪡԰ᴹ ᦤ催ಯ䴶ԧऩ‫ܗ‬䋼䞣DŽ ಯ䴶ԧऩ‫ܗ‬㔥ḐЁᄬ೼໮⾡䋼䞣䕗Ꮒⱘऩ‫ˈܗ‬㭘‫ܗ‬ᰃ݊Ёϔ⾡[125]DŽᅗৃⳟ ԰ᰃ⬅ಯϾ᥹䖥݅䴶ⱘ⚍㒘៤ⱘಯ䴶ԧऩ‫ˈܗ‬བ೒ 15 ᠔⼎ˈ㭘‫ ܗ‬ABCD ⱘᑩ䴶 ೼݊໪᥹⧗ⱘ䌸䘧ᑇ䴶Ϟˈ乊⚍ D ⾏䌸䘧ᑇ䴶ⱘ䎱⾏᥹䖥Ѣ 0 DŽ㭘‫ⱘܗ‬ᑇ䴶། 㾦᳔ᇣؐᵕᇣˈԚᰃˈ੠䋼䞣དⱘऩ‫ܗ‬ϔḋˈᅗⱘ໪᥹⧗ञᕘ੠᳔ᇣ䖍䭓П↨г 䕗ᇣˈ䖭Փᕫᅗ㛑䕏ᯧ⒵䎇 Delaunay ぎ໪᥹⧗‫ˈ߭ޚ‬೼৘⾡ Delaunay ㅫ⊩⫳៤ ⱘ㔥ḐЁᑌᄬ˗ेՓᇍѢ䴲ᐌ㾘߭ᥦ߫ⱘ⚍䲚ˈ݊ Delaunay 㔥Ḑг㹿䆕ᯢৃ㛑 Ӯᄬ೼㭘‫[ܗ‬126]DŽֱ䋼 Delaunay 㒚ߚㅫ⊩[85]೼⧚䆎Ϟৃҹֱ䆕⫳៤ϔϾĀ⃵

24

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

Ӭ(almost-good)ā㔥Ḑˈे݊Ё᠔᳝ऩ‫ⱘܗ‬໪᥹⧗ञᕘ੠᳔ᇣ䖍䭓П↨ᇣѢϔϾ ᐌ䞣ˈԚ㭘‫ⱘܗ‬ᄬ೼䰏ℶњ㔥Ḑ䋼䞣ⱘ䖯ϔℹᦤ催DŽ C

4

D

A

B

C

A

B

3 1

2

೒ 14 ⍂⚍䖤ㅫ䇃Ꮒ˖ಯ䴶ԧ੠ϝ㾦ᔶⳌѸ

೒ 15 㭘‫˄ܗ‬sliver˅

Cavendish[125]ᮽ೼ 1985 ᑈህথ⦄њ㭘‫ܗ‬೼ Delaunay ϝ㾦࣪Ёⱘᄬ೼ˈԚⳈ ࠄ⦄೼ˈབԩ⏙䰸㭘‫ܗ‬ҡᰃ Delaunay ᮍ⊩ⱘϔϾ䞡㽕ⷨおЏ乬DŽ㔥ḐӬ࣪ৃ೼ ϔᅮ⿟ᑺϞ㓧㾷㭘‫⏙ܗ‬䰸䯂乬ˈԚ䯂乬ⱘ᳈ད㾷‫އ‬䳔㽕‫ࡽ׳‬Ѣϧ䮼ⱘ㭘‫⏙ܗ‬䰸ㅫ ⊩DŽⳂࠡᄬ೼ϔѯਃথᓣㅫ⊩ˈབ⿏ࡼ㭘‫ܗ‬㡖⚍ⱘԡ㕂੠ᅲᮑ䖍/䴶Ѹᤶ᪡԰ㄝ [125, 127, 128]ˈ੠㔥ḐӬ࣪ϔḋˈᅗӀгϡ㛑ֱ䆕ᕏᑩഄ⏙䰸㭘‫ܗ‬DŽ ᇍ↣Ͼϝ㾦⠛ˈ݊䰘䖥ᄬ೼ϔഫĀ㭘‫ܗ‬ऎඳ˄sliver region˅ ā ˈ㢹ᶤ㡖⚍ԡѢ 䆹ऎඳ‫߭ˈݙ‬䖲᥹ᅗ੠䆹ϝ㾦⠛Ӯᔶ៤ϔϾ㭘‫ܗ‬DŽডПˈ㢹ᇚ㡖⚍⿏ߎ᠔᳝੠݊ Ⳍ䖲ⱘϝ㾦⠛਼ೈⱘ㭘‫ܗ‬ऎඳˈ߭ৃ䖒ࠄ⍜䰸㭘‫ⱘⳂⱘܗ‬DŽChew[129]佪‫ܜ‬㾖ᆳ ࠄ䖭Ͼㅔऩै䞡㽕ⱘ⦄䈵ˈᑊׂᬍњҪॳ᳝ⱘ Delaunay 㒚ߚㅫ⊩DŽᮄㅫ⊩ᑊϡ ೎ᅮ೼໪᥹⧗⧗ᖗ໘ᦦ⚍ˈ 㗠೼݊䰘䖥䱣ᴎᦦ⚍ҹ⍜䰸㭘‫ܗ‬DŽLi[130]ᢧሩњ Chew ⱘㅫ⊩ҹ⫳៤বᆚᑺ㔥Ḑˈᑊ㒧ড় Shewchuk ⱘㅫ⊩ˈ䅼䆎њ䖍⬠㑺ᴳⱘ໘⧚DŽ ෎ѢϞ䴶ৠḋⱘ㾖ᆳˈLi[130]䖬ᦤߎњ঺໪ϔ⾡ㅫ⊩ˈ䗮䖛ᇍ㭘‫݇Ⳍܗ‬㡖⚍䖯㸠 䕏ᖂⱘᡄࡼᴹ⍜䰸⃵Ӭ㔥ḐЁⱘ㭘‫ܗ‬DŽ ੠Ϟ䴶ㅫ⊩ྟ㒜ֱᣕ㔥Ḑⱘ Delaunay ሲᗻϡৠˈCheng ㄝ[131]෎Ѣࡴᴗ Delaunay ⧚䆎ˈᦤߎњĀ㭘‫˄ߎ⏫ܗ‬sliver exudation˅āㅫ⊩ˈҹℸ⏙䰸⃵Ӭ㔥Ḑ Ёᄬ೼ⱘ㭘‫ܗ‬DŽ㭘‫⏙ܗ‬䰸ৢˈ݊䰘䖥㡖⚍ԡ㕂ϡবˈԚ݊䖲᥹ᮍᓣᏆϡ‫ݡ‬⒵䎇 Delaunay ‫߭ޚ‬DŽGuoy[132]䞡ᮄ䆒䅵њ㭘‫ߎ⏫ܗ‬ㅫ⊩ˈᑊᇍ݊ᗻ㛑԰ߎњᅲ偠䆘 ԄDŽ

25

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

᳔䖥ˈEdelsbrunner ㄝ[133]ᦤߎ೼Ā⏫⚍˄sink˅ āԡ㕂ᦦ⚍ⱘ Delaunay 㒚ߚ ㅫ⊩ˈ੠೼໪᥹⧗⧗ᖗᦦ⚍ⱘᮍᓣⳌ↨ˈࠡ㗙᠔䳔⚍᭄᳈ᇥDŽĀ⏫⚍āᰃᣛ੠ϔ ㇛ᔶ⢊䕗Ꮒऩ‫ⱘ݇Ⳍܗ‬Ā⡍⅞ⱘā໪᥹⧗⧗ᖗԡ㕂ˈEdelsbrunner ㄝ㒭ߎњᅗⱘ ϹḐⱘ䗦ᔦᅮНDŽLi[130]߭䆕ᯢˈ೼⏫⚍䰘䖥ᦦ⚍ⱘ Delaunay 㒚ߚㅫ⊩гৃҹ ⍜䰸㭘‫ܗ‬DŽ 2.4.3.5 ۢ໯೴࡬ࠒ‫ރٲ‬സ֥ԅည‫ܤ‬ಁ‫ޙ‬ Ḍᖗ᭄᥂㒧ᵘⱘ䗝ᢽᇍᭈϾㅫ⊩ⱘᯊ䯈੠ぎ䯈ᬜ⥛᳝㟇݇䞡㽕ⱘᕅડDŽ Delaunay ᮍ⊩ⱘⱘᐌ⫼Ḍᖗ᭄᥂㒧ᵘৃߚЎϸ⾡῵ᓣ[85]˖ϔ㉏ҹ䖍ǃ䴶‫ܗ‬㋴Ў Ḍᖗ˗ϔ㉏ҹऩ‫ܗ‬ЎḌᖗDŽѠ㓈ᚙᔶϟˈ㄀ϔ㉏᭄᥂㒧ᵘࣙᣀಯ䖍㒧ᵘǃ㗐䖍㒧 ᵘ੠ञ䖍㒧ᵘㄝˈ݊ЁˈGuibas ੠ Stolfi[93]ᇍಯ䖍㒧ᵘ೼ Delaunay ϝ㾦࣪ㅫ⊩ Ёⱘᑨ⫼԰њ䆺㒚䅼䆎DŽ੠ಯ䖍㒧ᵘⳌ↨ˈབҹϝ㾦ᔶऩ‫ܗ‬ЎḌᖗ䆒䅵᭄᥂㒧ᵘ ੠ㅫ⊩ˈDelaunay ᮍ⊩ⱘぎ䯈߽⫼ᬜ⥛᳈ӬˈϨ Shewchuk ⱘᅲ䆕ⷨお㸼ᯢˈৢ 㗙೼ᯊ䯈ᬜ⥛Ϟг᳈Ӭ[85]˗೼ϝ㓈ᚙᔶϟˈৠḋⱘ㒧䆎г៤ゟDŽᔧ✊ˈҹऩ‫ܗ‬ ЎḌᖗⱘ᭄᥂㒧ᵘ೼㸼⼎䖍ǃ䴶ㄝ‫ܗ‬㋴ᯊϡᰃᕜⳈ᥹ˈӮϔᅮ⿟ᑺϞ๲ࡴㅫ⊩ⱘ ᅲ⦄䲒ᑺˈԚ៥Ӏⱘ㒣偠㸼ᯢˈৃҹ䗮䖛ϔѯ⿟ᑣ䆒䅵ᡔᎻ㾷‫އ‬䖭ѯ䯂乬DŽ PSUE[33]ǃGSH3D[134]ҹঞ Triangle/Pyramid[85]ㄝ乍ⳂЁⱘ Delaunay 㔥Ḑ⫳៤ ఼೼Ḍᖗ᭄᥂㒧ᵘ䆒䅵Ϟ䛑䞛⫼њҹऩ‫ܗ‬ЎḌᖗⱘ῵ᓣDŽ Delaunay 㔥Ḑ⫳៤Џ㽕ࣙᣀ⚍ᦦܹ੠䖍⬠ᘶ໡ϸϾ䖛⿟ˈ݊Ё⚍ᦦܹ䖛⿟㗫 䌍њ㒱໻䚼ߚ䖤㸠ᯊ䯈˗⬅Ѣ Delaunay 㔥Ḑ⫳៤ϔ㠀䞛⫼๲䞣ㅫ⊩ˈ಴ℸˈӬ ࣪ Delaunay ᮍ⊩ⱘ݇䬂೼ѢӬ࣪ऩ⚍ᦦܹ‫ݙ‬ḌDŽऩ⚍ᦦܹ‫ݙ‬ḌЏ㽕ࣙᣀϸℹ˖ ᇏᡒ෎ऩ‫ܗ‬੠᳈ᮄϝ㾦࣪ˈϟ䴶ҟ㒡Ӭ࣪ᅗӀⱘᐌ⫼ᡔᎻ[91, 135]DŽ Delaunay ᮍ⊩Ёˈ‫ݙ‬䚼⚍ⱘ⫳៤ᕔᕔ੠ᔧࠡϝ㾦࣪Ёⱘऩ‫↨ˈ݇Ⳍܗ‬བ೼ऩ ‫ܗ‬䞡ᖗǃᔶᖗ໘⫳៤ᮄ⚍ˈ಴ℸ‫ݙ‬䚼⚍ⱘᦦܹϔ㠀ϡᄬ೼ᇏᡒ෎ऩ‫ⱘܗ‬䯂乬DŽԚ ೼䖍⬠⚍ᦦܹᯊˈ෎ऩ‫ֵܗ‬ᙃैᰃ᳾ⶹⱘDŽᇏᡒ෎ऩ‫ⱘܗ‬ㅫ⊩᳔Ꮒⱘᬜ⥛ᰃ㒓ᗻ ⱘˈࡴ䗳ᅗⱘᐌ⫼ᡔᎻ᳝Ѡ˖ϔᰃ߽⫼ऩ‫ܗ‬䚏᥹݇㋏䖯㸠Ⳍ䚏᧰㋶ˈ೼᧰㋶ⱘ䖛 ⿟Ё䖬ৃҹࡼᗕ㗗㰥᧰㋶ᮍ৥ⱘӬ‫ܜ‬㑻˗Ѡᰃ‫ࡽ׳‬Ѣぎ䯈ߚ㾷㒧ᵘˈབ㾘߭㔥Ḑ ៪໮ߚ䕼⥛ⱘಯঝ᭄/ܿঝᷥㄝDŽᖿ䗳ⱘ෎ऩ‫᧰ܗ‬㋶ㅫ⊩Ёˈ䖭ϸϾᡔᎻᘏᰃ㒧 ড়䍋ᴹՓ⫼ⱘDŽ ᳈ᮄϝ㾦࣪ᰃϔϾሔ䚼᪡԰ˈ⧚䆎੠ᅲ偠ߚᵤ䛑㸼ᯢˈ݊ᑇഛᯊ䯈໡ᴖᑺ੠ ⚍䲚ⱘ໻ᇣ᮴݇DŽᇍ B-W ᦦ⚍‫ݙ‬Ḍ䖯㸠Ӭ࣪ⱘ݇䬂೼Ѣֱ䆕೼ぎ㜨ᔶ៤ৠᯊᅠ ៤ᮄऩ‫߯ܗ‬ᓎˈ䖭䳔㽕‫ࡽ׳‬ϔѯ䕙ࡽ᭄᥂㒧ᵘˈ঺໪ˈᮄऩ‫ⱘܗ‬໪᥹⧗ञᕘ੠ ⧗ᖗԡ㕂᮴乏↣⃵䛑䞡ᮄ䅵ㅫˈৃҹḍ᥂ᔧࠡϝ㾦࣪ЁⱘⳌᑨ᭄᥂ᕫࠄˈҹ‫ޣ‬ᇥ ⍂⚍䖤ㅫ乥⥛DŽ

26

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

2.5 ᑊ㸠 Delaunay ᮍ⊩ Ⳍᇍ㔥Ḑ⫳៤㗠㿔ˈᑊ㸠㔥Ḑ⫳៤ᰃϔϾ䕗Ўᑈ䕏ⱘⷨお乚ඳˈԚ೼ⷁⷁⱘ क໮ᑈЁˈᏆ㒣ѻ⫳њϡᇥ៤ᵰˈ೼ᕜ໮ᑨ⫼乚ඳЁᕫࠄ᥼ᑓˈᑊ䗤ℹߎ⦄೼໻ ൟଚϮ⿟ᑣЁˈ಴ℸˈ䆩೒ܼ䴶ᘏ㒧ᑊ㸠㔥Ḑ⫳៤ⱘ᳔ᮄⷨお៤ᵰϡᰃӊᆍᯧⱘ џDŽḍ᥂Ѹ⬠䴶㔥Ḑ⫳៤੠ᄤ䯂乬‫ݙ‬䚼㔥Ḑ⫳៤П䯈ⱘ‫ˈ㋏݇ৢܜ‬Cougny ੠ Shephard[32]ᇚᑊ㸠㔥Ḑ⫳៤ㅫ⊩ߚ៤ৠℹ໘⧚㉏ǃࠡ㕂໘⧚㉏੠ৢ㕂໘⧚㉏ˈ ҪӀⴔ䞡ߚᵤ↣⾡ᑊ㸠ㅫ⊩ⱘৃᠽሩᗻǃᑊ㸠䆒䅵ⱘ᳝ᬜᗻҹঞ〇ᅮᗻDŽ㗠 Chrisochoides[25]䅸Ўᑊ㸠ㅫ⊩ᇍᑣ߫࣪῵ഫⱘ໡⫼ᗻг䴲ᐌ䞡㽕ˈᑊҢ໡⫼ᗻ ⱘ㾦ᑺˈᇚ Delaunay ᮍ⊩ǃࠡ⊓᥼䖯⊩੠䖍ᄤߚ⊩ⱘᑊ㸠ㄪ⬹ߚ៤ϝ㉏˖㋻㗺 ᓣǃ㾷㗺ᓣ੠䚼ߚ㗺ড়ᓣDŽ঺໪ˈҪ䖬ⴔ䞡ᇍ৘Ͼㅫ⊩ⱘ໡⫼ᗻঞ〇ᅮᗻ԰њߚ ᵤDŽᴀ᭛ⱘⷨお‫ݙ‬ᆍЏ㽕⍝ঞࠄ Delaunay ᮍ⊩ⱘᑊ㸠ˈ಴ℸˈᴀ㡖াᇍᑊ㸠 Delauanay ᮍ⊩ⱘЏ㽕ⷨお៤ᵰ䖯㸠ಲ乒ˈ㗠⬹䖛ᇍࠡ⊓᥼䖯⊩[6, 7, 16]ǃಯ/ܿ ঝᷥ⊩[5]ঞ݊ᅗ㔥Ḑ⫳៤ᮍ⊩ⱘᑊ㸠࣪ⷨおⱘҟ㒡[22]DŽ ᇍᑊ㸠 Delaunay ᮍ⊩ᛳ݈䍷ⱘⷨお㗙ϔ䚼ߚᴹ⑤Ѣ䅵ㅫ᭄ᄺˈ⡍߿ᰃ䅵ㅫ޴ ԩ乚ඳˈҪӀ໻䛑݇ᖗ৘⾡ Delaunay ㅫ⊩ᴀ䑿ⱘᑊ㸠DŽ⦄᳝ⱘㅫ⊩ᇍഛࣔߚᏗ ⚍䲚Ꮖ㒣ৃҹপᕫⳌᔧ催ⱘᑊ㸠ᬜ⥛ˈᔧࠡⷨおⱘЏ㽕䞡⚍䲚Ё೼ᦤ催ㅫ⊩ᇍϡ ৠ㉏ൟ⚍䲚ⱘ䗖ᑨ㛑࡯DŽ෎Ѣ᭄ᄺᆊ䗑∖ᅠ㕢ⱘ㾦ᑺˈҪӀᕔᕔӮᵘᓎᕜᵕッⱘ ⚍䲚ߚᏗᚙᔶҹ䆎䆕ϡৠㅫ⊩ⱘӬࡷDŽ ৠḋˈЏ㽕ᴹ㞾‫݋‬ԧᑨ⫼ᄺ⾥੠Ꮉ⿟⬠ⱘⷨお㗙г೼݇⊼੠Ңџᑊ㸠 Delaunay ᮍ⊩ⱘⷨおDŽᰒ✊ˈ䅵ㅫ᭄ᄺ乚ඳ೼ᑊ㸠 Delaunay ϝ㾦࣪Ϟ᠔পᕫⱘ ⱘⷨお៤ᵰᇍҪӀⱘⷨお᳝ᕜ໻ⱘᐂࡽDŽԚᰃҢⳂᷛᴹ䆆ˈ㄀ϔ㉏ᄺ㗙੠㄀Ѡ㉏ ᄺ㗙ᰃϡৠⱘˈࠡ㗙䗑∖ᅠ㕢ⱘᑊ㸠 Delaunay ㅫ⊩ᴀ䑿ˈ㗠ৢ㗙߭Ўњ㦋প‫݋‬ ໛ᎹϮ࡯䞣˄industry strength˅ⱘ‫ع‬ໂǃᖿ䗳ǃ催ᬜ੠ৃᠽሩⱘᑨ⫼⿟ᑣˈҹᳳ ᑨ⫼ᅗᴹ㾷‫އ‬ᅲ䰙ⱘ⾥ᄺ੠Ꮉ⿟䯂乬DŽ㗠ϨҢᴀ䋼Ϟ䇈ˈ㱑✊ Delaunay 㔥Ḑ⫳ ៤෎Ѣ Delaunay ϝ㾦࣪ˈԚϸ㗙ᄬ᳝ᕜ໻ऎ߿DŽⷨお Delaunay 㔥Ḑ⫳៤ㅫ⊩ᕔ ᕔ䳔㽕㾷‫އ‬ᕜ໮੠ Delaunay ϝ㾦࣪᮴݇ⱘ䯂乬ˈབ䖍⬠㑺ᴳǃᆚᑺ᥻ࠊ੠㔥Ḑ 䋼䞣ㄝˈ㗠䖭ѯ䯂乬ⱘ៤ࡳ㾷‫އ‬Ϣ৺ᰃ䆘Ӌ PDMG ⿟ᑣӬࡷⱘ䞡㽕ᷛ‫ޚ‬DŽ ӏࡵᑊ㸠੠᭄᥂ᑊ㸠ᰃ PDMG ⱘϸ⾡Џ㽕῵ᓣˈc2.5.1 ੠c2.5.2 ᇚߚ߿ᇍ ᅗӀ䖯㸠䅼䆎DŽ

2.5.1 ෎Ѣӏࡵᑊ㸠῵ᓣⱘ PDMG ㅫ⊩ ෎Ѣ䖍/䴶Ѹᤶᗱᛇⱘ Delaunay ๲䞣ᦦ⚍‫ݙ‬Ḍ[84, 93, 94, 136]ᕜ䲒ᑊ㸠ˈ⦄ ᳝ⱘ෎Ѣӏࡵᑊ㸠῵ᓣⱘ PDMG ㅫ⊩Џ㽕ᵘᓎ೼ᑊ㸠 B-W ‫ݙ‬Ḍ[45, 46]ПϞDŽ བc2.4.2.1 ঞ೒ 8 ᠔⼎ˈ⚍ p i ⱘᦦܹ೼޴ԩϞᰃϔϾሔ䚼᪡԰ˈҙ䰤Ѣ݊ 27

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

ᇍᑨⱘぎ㜨 C i DŽϔϾⳈ㾖ⱘᛇ⊩ᰃ˖བᵰϸϾ⚍ֱᣕϔᅮⱘ䎱⾏ˈ߭ᅗӀⱘᦦ ܹ᪡԰ৃҹৠᯊ䖯㸠˗㗠བᵰᇚ⚍ᦦܹ᪡԰㾚ЎϔϾӏࡵˈ߭䖭ᛣੇⴔ䖭ḋⱘϸ ϾӏࡵᰃৃᑊথⱘDŽԚᰃˈᔧϸϾ⚍ᇍᑨⱘぎ㜨থ⫳䞡঴៪Ⳍ䚏˄㒳⿄Ўぎ㜨ᑆ ⍝˅ᯊˈ䖭⾡ӏࡵП䯈ⱘᑊ㸠ᗻህ㹿⸈ണDŽ಴ℸˈᅲ⦄ᑊ㸠 B-W ‫ݙ‬Ḍⱘ݇䬂䯂 乬Пϔ೼Ѣབԩ㾷‫އ‬ぎ㜨ᑆ⍝⦄䈵DŽ ᅲ䰙ⱘ෎Ѣӏࡵᑊ㸠ㅫ⊩ᘏᰃ㽕㒧ড়Ⳍᑨⱘ᭄᥂ߚ㾷ㅫ⊩ᴹᅲᮑⱘDŽ‫؛‬䆒߱ ྟ㒭ᅮⱘ᭄᥂ᰃϔϾ⿔⭣ⱘ㚠᱃㔥Ḑˈ䗮䖛⾏ᬷऎඳߚ㾷ˈᕫࠄ໮Ͼᄤ㔥Ḑˈ䱣 ৢ᯴ᇘᄤ㔥Ḑࠄ᳝ᬜⱘ໘⧚఼ϞDŽབᵰᦦܹ⚍ⱘぎ㜨੠ᄤ䯂乬䖍⬠ϡⳌѸˈ߭⿄ ᅗЎሔ䚼ぎ㜨˄local cavity˅ ˗ডПˈ߭⿄݊Ў⬠䴶ぎ㜨˄interface cavity˅DŽሔ䚼 ぎ㜨ᇍᑨⱘ⚍ᦦܹ᪡԰ᘏᰃϡӮߎ⦄ぎ㜨ᑆ⍝⦄䈵ˈ᮴䳔⡍⅞໘⧚DŽ⬠䴶ぎ㜨ᇍ ᑨⱘ⚍ᦦܹ᪡԰߭ϡৠˈ佪‫ˈܜ‬ᴀഄ੠䖰⿟໘⧚఼П䯈䳔㽕䗮ֵˈҹᬊ䲚⬠䴶ぎ 㜨ᇍᑨⱘ䖰⿟޴ԩֵᙃ˗঺໪ˈ⬠䴶ぎ㜨䖬ৃ㛑੠䖰⿟໘⧚఼Ϟⱘᔧࠡぎ㜨থ⫳ ᑆ⍝ˈ⬅ℸ䳔㽕ৠℹ᪡԰ˈҹֱ䆕᭄᥂ⱘϔ㟈ᗻDŽ Okusanya ੠ Peraire[8]佪‫⫼߽ܜ‬Ϟ䗄ᗱ䏃䆒䅵њⳌᑨⱘѠ㓈 PDMG ㅫ⊩ˈᑊ 䱣ৢᇚ݊᥼ᑓࠄϝ㓈ᚙᔶ[17]DŽҪӀⱘㅫ⊩Ёˈ᭄᥂ߚ㾷䞛⫼ׂᬍⱘതᷛѠߚ⊩ ˄modified coordinate bisection˅ ˈϨᄤ㔥Ḑⱘ᭄ⳂㄝѢ໘⧚఼ⱘ᭄ⳂDŽᅗ乘䆒ϔ Ͼ䯔ؐˈᔧ↣Ͼ໘⧚఼ᦦܹⳌᑨ⚍᭄ৢˈᅗজ䞛⫼ৠḋⱘ᭄᥂ߚ㾷᠟↉ᴹ䞡ߦߚ ᔧࠡᕫࠄⱘ㔥Ḑˈҹᅲ⦄䋳䕑ᑇ㸵ˈҪӀᡞ䖭⿄Ўߦߚ੠䞡ߚ䜡˄partitioning and dynamic redistributing˅ᡔᎻDŽ䖭Ͼ䖛⿟ϡҙ䳔㽕೼໘⧚఼П䯈⿏ࡼ໻䞣ⱘऩ‫ˈܗ‬ 䖬䳔㽕‫ࡽ׳‬ϔᅮⱘৠℹ᠟↉ֱ䆕᭄᥂ⱘϔ㟈ᗻDŽᇍѢぎ㜨ᑆ⍝ᚙᔶˈ⬠䴶ぎ㜨೼ ㄝᕙ䖰⿟᭄᥂ᯊˈOkusanya ੠ Peraire ᦤঞৃՓ⫼ᓖℹㄝᕙঞ䞡঴䅵ㅫᴹࡴ䗳ㅫ ⊩ˈԚᅲ䰙ᅲ⦄Ё䞛⫼ⱘҡᰃৠℹㄝᕙⱘᡔᎻDŽᑊ㸠㔥Ḑ⫳៤ᅠ៤ⱘৠᯊˈ㔥Ḑ гഛࣔߚᏗ೼৘Ͼ໘⧚఼ϞˈৃҹⳈ᥹䗕ܹᑊ㸠∖㾷఼∖㾷DŽ⬅Ѣ Okusanya ੠ Peraire ㅫ⊩ᔶ៤ⱘᯊ‫ˈ׭‬᳝ᬜⱘ㔥Ḑ੠೒ߚ㾷⧚䆎੠⿟ᑣࣙˈབ Metis[137]ǃ ParMetis[138]ǃChaco[139]ঞ Jostle[140]ㄝˈ䖬೼ⷨおПЁˈ಴ℸ Okusanya ੠ Peraire ᇍߚᏗᓣ㔥Ḑⱘߦߚ䋼䞣≵‫خ‬᳈⏅ⱘ↨䕗੠䅼䆎DŽ Chrisochoides ঞ݊乚ᇐⱘⷨおಶ䯳থሩњ Okusanya ੠ Peraire ⱘㅫ⊩ˈᑊ佪 ‫ߎᦤܜ‬њᑊ㸠 B-W ‫ݙ‬Ḍⱘὖᗉ[9, 10]DŽ 䞛⫼ Metis ㄝ䗮⫼ⱘ೒੠㔥Ḑߚ㾷⿟ᑣࣙˈ ᕫࠄ߱ྟ㔥ḐⱘϔϾ䖛ᑺߚ㾷ˈ䱣ৢ䞛⫼ࡼᗕ䋳䕑ᑇ㸵ㄪ⬹ᇚᄤ㔥Ḑ᯴ᇘࠄ᳝ᬜ ⱘ໘⧚఼ϞDŽ೼໘⧚ぎ㜨ᑆ⍝ᚙᔶᯊˈҪӀ߽⫼ᓖℹㄝᕙঞ䞡঴䅵ㅫⱘᡔᎻˈҹ ϔᅮⱘಲ䗔໘⧚˄setback˅ঞ䖛⏵㔥㒰᥶⌟˄network polling˅䌍⫼ˈՓᕫᭈϾ ㅫ⊩ⱘᑊ㸠ᬜ⥛᳝њᕜ໻ⱘᦤ催ˈᅲ⦄њ᠔䇧ⱘᓊ䖳ᆍᖡ B-W ‫ݙ‬Ḍ˄LTBW: Latency Tolerant Bowyer-Watson kernel˅DŽChrisochoides ㄝ[11, 40]ⱘㅫ⊩೼ᑊ㸠㔥 Ḑ⫳៤ⱘৠᯊˈ䗮䖛Ѹᤶ໘⧚఼䖍⬠䰘䖥ⱘऩ‫ˈܗ‬ҹᑇ㸵৘໘⧚఼Ϟऩ‫ܗ‬᭄䞣Ў Ⳃᷛˈࡼᗕഄ䞡ߚ䜡↣Ͼ໘⧚఼Ϟⱘ䋳䕑ˈৠℹᅠ៤њ㔥Ḑ⫳៤੠㔥ḐߦߚϸϾ ӏࡵDŽ੠䞛⫼ Metis ঞ Chaco ᕫࠄⱘ㔥Ḑߦߚⱘ䋼䞣Ⳍ↨ˈৠℹᕫࠄⱘ㔥Ḑߦߚ

28

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

䋼䞣гⳌᔧϡ䫭ˈϢӴ㒳ⱘ‫ܜ‬㔥Ḑ⫳៤ǃৢ㔥Ḑߦߚⱘ䖛⿟Ⳍ↨ˈҪӀⱘㅫ⊩೼ ᬜ⥛Ϟ᳝᥹䖥ϔϾ᭄䞣㑻ⱘᦤ催DŽ೼⬠䴶ぎ㜨ᬊ䲚䖰⿟᭄᥂ˈҹঞ໘⧚఼ࡼᗕѸ ᤶऩ‫ܗ‬ᯊˈ䗮ֵঞৠℹ᪡԰ᰃ䴲㒧ᵘ࣪Ϩϡৃ乘⌟ⱘˈⳈ᥹⫼ MPI П㉏ⱘᑩሖ ᑊ㸠ᑧᓔথ䖭ѯ՟⿟Ӯᕜ㐕⧤Ϩᆍᯧߎ䫭DŽЎℸˈChrisochoides ㄝ䖬ⷨおᑊᅲ⦄ њⳌᑨⱘϞሖᓔথᑧˈᬃᣕࡼᗕ᭄᥂䖕⿏ǃܼሔੑৡぎ䯈ঞऩ৥䗮ֵㄝᴎࠊˈҹ 䰡Ԣ㉏Ԑ⿟ᑣᓔথⱘ䲒ᑺ[12, 23]DŽ ⬠䴶ぎ㜨ⱘ໘⧚ֱ䆕њߚᏗᓣ㔥Ḑ೼ᭈԧϞҡ✊⒵䎇 Delaunay ሲᗻˈҢ㗠 ֱ䆕њᑊ㸠ㅫ⊩ⱘ〇ᅮᗻˈԚᰃˈᅗᓩ䍋ⱘৠℹ੠䗮ֵ䌍⫼ᰃࠊ㑺ㅫ⊩ᑊ㸠ᬜ⥛ ᦤ催ⱘ݇䬂಴㋴DŽϔϾᡬ㹋ⱘࡲ⊩ᰃ೼໘⧚఼П䯈㓈ᡸϔᅮⱘ䖍⬠ˈ೼↣Ͼ໘⧚ ఼Ϟᅲᮑ㑺ᴳ Delaunay ϝ㾦࣪ˈ೼ϔᅮ⿟ᑺϞ⡎⡆њᑊ㸠ㅫ⊩ⱘ〇ᅮᗻˈҹ䖒 ࠄ䰡Ԣㅫ⊩ᅲ⦄䲒ᑺ੠ᦤ催ㅫ⊩ᑊ㸠ᬜ⥛ⱘⳂⱘDŽChew ㄝ[24]ᕜᮽህ೼Ѡ㓈ᚙ ᔶϟ䅼䆎њ䖭⾡ᗱ䏃ˈϨ೼䖍⬠䖍ⱘЁ⚍ࡴ⚍ˈҹᘶ໡䘫༅䖍⬠䖍DŽЎ㓈ᡸ䖍⬠ Ϟ㔥Ḑ᭄᥂ⱘϔ㟈ᗻˈ໘⧚఼П䯈া䳔㽕থ䗕㉏ԐѢĀߚ㾷䆹䖍āⱘ⍜ᙃDŽབᵰ 䖍⬠Ϟϡᄬ೼ᇪ㾦ᚙᔶˈेՓᄬ೼‫ݙ‬䚼䖍⬠ˈDelaunay 㒚ߚㅫ⊩г㛑ֱ䆕᳔㒜㔥 Ḑⱘ䋼䞣DŽ ‫ ࡽ׳‬Delauany-⣀ゟ˄Delaunay-independent˅ⱘὖᗉᰃ㾷‫އ‬ぎ㜨ᑆ⍝䯂乬ⱘ ঺ϔᗱ䏃DŽϸϾᦦܹ⚍ᇍᑨⱘぎ㜨Ѧϡᑆ⍝ᯊˈ⿄䖭ϸϾ⚍ Delauany- ⣀ゟDŽ

Edelsbrunner ੠ Guoy[141]佪‫ߎᦤܜ‬䖭Ͼὖᗉˈ㗠 Chernikov ੠ Chrisochoides[13] ೼⧚䆎ϞথሩњᅗDŽ‫؛‬䆒 r 㸼⼎ᔧࠡ㔥ḐЁ᠔᳝ऩ‫ܗ‬໪᥹೚ञᕘⱘϞ䰤ؐˈ Chernikov ੠ Chrisochoides[13]ᕫࠄѠ㓈ᚙᔶϟϸϾ⚍ Delauany-⣀ゟⱘ‫ߚܙ‬ᴵ ӊ˖ϸ⚍䎱⾏ϡᇣѢ r ⱘ 4 ‫ס‬DŽTriangle ㄝ෎Ѣֱ䋼 Delaunay 㒚ߚㅫ⊩ⱘ㔥Ḑ⫳ ៤఼ˈ䞛⫼೼໪᥹೚೚ᖗࡴ⚍ˈ㒚ߚ䖛⿟Ёৃֱ䆕 r ؐϡব໻DŽ߸ᮁϸ⚍ᰃ৺⣀ ゟᰃᕅડ⿟ᑣᑊ㸠ᬜ⥛ⱘ᳔໻಴㋴ˈৃ䗮䖛䲚៤ㅔऩⱘऎඳߚഫㅫ⊩ᴹ䰡Ԣᅗ᠔ ᓩ䍋ⱘ䌍⫼[13]DŽ

2.5.2 ෎Ѣ᭄᥂ᑊ㸠῵ᓣⱘ PDMG ㅫ⊩ ෎Ѣӏࡵᑊ㸠῵ᓣⱘ PDMG ㅫ⊩㱑✊᳝ᕜདⱘ〇ᅮᗻˈԚ݊ᇍᑣ߫࣪῵ഫ ⱘ໡⫼⿟ᑺ䕗Ԣˈㅫ⊩ⱘᓔথ䳔㽕䖤⫼Ⳍᇍ໡ᴖⱘ䆒䅵੠㓪⿟ᡔᎻˈ಴ℸ᳈໮ⱘ PDMG ㅫ⊩䞛⫼ⱘᰃ᭄᥂ᑊ㸠῵ᓣDŽϡৠⱘ෎Ѣ᭄᥂ᑊ㸠῵ᓣⱘ PDMG ㅫ⊩ⱘ Џ㽕ऎ߿೼Ѣ݊᠔䞛⫼ⱘ᭄᥂ߚ㾷ᮍᓣˈेབԩߚ㾷߱ྟ䯂乬ඳDŽऎඳߚ㾷ᮍᓣ ৃҹߚЎ䖲㓁ऎඳߚ㾷੠⾏ᬷऎඳߚ㾷ϸ㉏DŽࠡ㗙Ⳉ᥹ߚ㾷޴ԩऎඳˈᕫࠄᕜ໮ ᄤඳ˗ৢ㗙‫ܜ‬ᕫࠄ⿔⭣㔥Ḑˈ䱣ৢᇚ㔥Ḑߦߚ៤໮Ͼᄤ㔥ḐDŽ Ⳉ᥹ߚ㾷ⱘᮍᓣ᳝ᕜ໮˖᳝⫼ᑇ䴶এߚࡆⱘ˗᳝⫼Ё䕈⊩ߚࡆⱘ˗᳝䗮䖛ᴗ 䞡ߑ᭄䗦ᔦߚࡆⱘDŽϔ㠀㗠㿔ˈ೼Ѡ㓈ぎ䯈ˈᇍ≵᳝ᇪ㾦ǃ㒚䭓ぎ⋲ㄝሔ䚼޴ԩ ⡍ᕕⱘ䯂乬ඳˈᕜ໮ߚ㾷ᮍ⊩ᰃৃ㸠ⱘˈԚᰃড়⧚ߚ㾷ϝ㓈ऎඳै䴲ᐌೄ䲒DŽ 29

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

⿔⭣㚠᱃㔥Ḑг᳝ᕜ໮ᵘ䗴ᮍᓣˈᅗৃҹ੠߱ྟ䖍⬠ᦣ䗄ᅠܼਏড়˗гৃҹ Փ⫼ Cartesian ߚ㾷៪ಯ/ܿঝᷥߚ㾷ᴹᕫࠄˈᕫࠄⱘ㒧ᵰϡϔᅮ੠߱ྟ䖍⬠ਏড়DŽ 䗮⫼ⱘᑣ߫࣪ Delaunay 㔥Ḑ⫳៤ㅫ⊩䳔㽕‫⫳ܜ‬៤ϔϾҙࣙ৿䖍⬠‫ܗ‬㋴ⱘ⿔⭣㔥 ḐˈSaid ㄝህᰃ䗮䖛ߦߚᅗᴹ䆒䅵 PDMG ㅫ⊩ⱘ[2]DŽ ऎඳߚ㾷೼䯂乬‫ݙ‬䚼ᓩܹҎᎹ䖍⬠ˈབԩֱ䆕䖍⬠䰘䖥㔥Ḑ䋼䞣ᇍ PDMG ㅫ⊩ⱘ〇ᅮᗻ㟇݇䞡㽕˗ᶤѯऎඳߚ㾷䖛⿟г᳝ৃ㛑៤Ўᗻ㛑Ϟⱘ⫊乜ˈᑊ㸠ᅗ ᰃ㾷‫އ‬䖭ϔ䯂乬ⱘ㞾✊ᗱ䏃˗བԩֱ䆕ҎᎹ䖍⬠Ϟ㔥Ḑ᭄᥂ⱘϔ㟈ᗻгᰃ PDMG ㅫ⊩ⷨお੠ᅲ⦄ЁⱘϔϾ䲒乬DŽ 2.5.2.1 ‫ݮ‬ဟ‫ੋ଼ىד‬ԅ PDMG സ֥ ೼ऎඳ‫ݙ‬䚼ᓩܹϔϾߚࡆᑇ䴶ৃᇚऎඳϔߚЎѠˈ䗦ᔦ䖭ϔ䖛⿟ৃᕫࠄ乘ᳳ ⱘߚ㾷㒧ᵰDŽϔϾ䲒乬೼ѢབԩՓߚࡆᑇ䴶ⱘ䖍⬠‫ܗ‬㋴੠ᕙߚ㾷ऎඳⱘ䖍⬠‫ܗ‬㋴ ֱᣕϔ㟈ˈ಴ℸˈߚࡆᑇ䴶ⱘ᠔᳝޴ԩ‫ܗ‬㋴ᑊ䴲ⳳℷ೼ৠϔᑇ䴶ˈ݊䖍⬠ᰃϝ㓈 ⱘDŽ೼ߚࡆᑇ䴶㔥Ḑ⫳៤ࠡˈ䳔㽕ᇚߚࡆᑇ䴶ⱘ䖍⬠ᡩᕅࠄৠϔᑇ䴶Ϟˈᇚߚࡆ ᑇ䴶㔥Ḑ⫳៤䕀࣪ЎѠ㓈䯂乬DŽ㗠ߚࡆᑇ䴶㔥Ḑ⫳៤ৢˈ䳔㽕ᇚ݊䖍⬠ऩ‫ⱘܗ‬ᶤ ѯ⚍ǃ㒓‫ܗ‬㋴ডᡩᕅࠄᕙߚ㾷ऎඳϞDŽ䖭ѯ໘⧚䖛⿟ৃ㛑Ӯ䗴៤໮⾡䫭䇃ⱘ޴ԩ ᚙᔶˈབߚࡆᑇ䴶㔥Ḑ੠ᦣ䗄ᕙߚ㾷ऎඳⱘ㸼䴶㔥ḐⳌѸˈℷ⹂໘⧚ᅗӀᰃֱ䆕 ㅫ⊩‫ع‬ໂᗻⱘ݇䬂᠔೼DŽ Larwood ㄝ[1]ҹሎᇌ᳔䭓ⱘതᷛᮍ৥Ўߚࡆᑇ䴶ⱘ⊩৥ˈᑊ೼䗝ᢽߚࡆԡ㕂 ᯊሑ䞣䙓‫ܡ‬೼ߚࡆᑇ䴶੠ॳ㸼䴶ⳌѸ໘ߎ⦄⣁ᇣⱘ།㾦DŽߚࡆᑇ䴶ⱘ䖍⬠ᦣ䗄ৃ ҹ䗮䖛ϔϾ෎Ѣ೒ߚᵤⱘㅫ⊩ᕫࠄDŽᏗ㕂ߚࡆᑇ䴶Ϟⱘ㔥Ḑᯊˈ䳔㽕㗗㰥ࣙᣀ⚍ ⑤ǃ㒓⑤੠䴶⑤ㄝϝ㓈ᆚᑺ᥻ࠊㄪ⬹DŽ㢹ऎඳߚ㾷䖛⿟Ёߎ⦄ϔѯ᮴⊩㾷‫ⱘއ‬䫭 䇃ᚙᔶˈৃ㗗㰥䗮䖛⿏ࡼߚࡆᑇ䴶ˈ䞡ਃབϞߚࡆ䖛⿟ᴹ㾷‫އ‬DŽ ੠ Larwood ㄝ䗝ᢽߚࡆᑇ䴶ⱘᮍᓣϡৠˈBoufflet[31]ㄝ߽⫼䗦ᔦ߮ᑺߚ㾷⊩ ˄RIB: Recursive Inertial Bisection˅ᴹ⹂ᅮߚࡆᑇ䴶ⱘᮍ৥੠ԡ㕂ˈऎඳߚ㾷ৢˈ ҪӀ䗝⫼෎Ѣࠡ⊓᥼䖯⊩ⱘ㔥Ḑ⫳៤఼ᴹᅠ៤ᄤඳⱘࠪߚDŽ ෎Ѣߚࡆᑇ䴶ⱘऎඳߚ㾷ㅫ⊩ᇍᄤඳ⫳៤ᮍ⊩≵᳝㽕∖ˈԚ೼ㅫ⊩ᅲ䰙䖤㸠 䖛⿟ЁӮߎ⦄৘⾡䫭䇃ᚙᔶˈ᳝ѯ䫭䇃ᚙᔶᕜ䲒⫼Ⳉ᥹ⱘᮍᓣᴹ㾷‫ˈއ‬ᕔᕔ䞛⫼ ᬍবߚࡆᑇ䴶ᮍ৥੠ԡ㕂ⱘᮍᓣᴹ䙓ᓔᅗˈ䖭೼⧚䆎ϞՓᕫㅫ⊩ϡ‫݋‬໛㒱ᇍⱘ‫ع‬ ໂᗻ˗ेՓᅲ䰙ᅲ⦄Ёㅫ⊩ⱘ‫ع‬ໂᗻ᳝䎇໳ⱘֱ䆕ˈԚᰃ䞡ਃߚࡆ䖛⿟ҡӮᓩ䍋 ϔ㋏߫ⱘ䌍⫼ˈҢ㗠ᕅડㅫ⊩ⱘᬜ⥛DŽᇍ৘⾡䫭䇃ᚙᔶ԰⏅ܹⱘߚᵤˈ‫ߚܙ‬Ẕ⌟ ᅗӀˈሑ䞣䙓‫ܡ‬䞡ਃߚࡆ䖛⿟ˈ䖭ѯᎹ԰ᇍֱ䆕ᭈϾㅫ⊩㟇݇䞡㽕ˈLarwood ㄝ [1]ҹঞ Boufflet ㄝ[31]ᇍ䖭ϔЏ乬䛑㔎У䅼䆎˗ϢПϡৠˈᴀ᭛㄀ 6 ゴ೼䅼䆎෎ Ѣߚࡆᑇ䴶ⱘϝ㓈ऎඳߚ㾷Ḛᶊⱘᅲ⦄ᯊˈᇍᅗ԰њ⏅ܹ䯤䗄DŽ 2.5.2.2 ‫ݮ‬ဟ PDT सৢԅ PDMG സ֥ Galtier ੠ George[29]෎Ѣ PDT ⧚䆎ᦤߎњϔϾⳈ᥹ߚ㾷޴ԩऎඳⱘࡲ⊩ˈᑊ ᇚ݊䲚៤ࠄ INRIA ⱘᑊ㸠 CFD 䕃ӊ HPCN3S Ё[28]DŽ

30

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

PDT ⧚䆎ᰃ Delaunay ϝ㾦࣪⧚䆎ⱘϔϾᢧሩDŽ㒭ᅮϔϾখ㗗㸼䴶˄reference surface˅ S ੠ϔϾϝ㓈ぎ䯈⚍䲚 P ˈᇍᑨ⚍ p  P ˈ㢹ᄬ೼ऎඳ S p Ž S ˈ݊‫ݙ‬᠔ ᳝⚍ࠄ p ⱘ䎱⾏ϡ໻Ѣࠄ P Ё݊ᅗ⚍ⱘ䎱⾏ˈ߭⿄ S p Ў⚍ p ೼㸼䴶 S Ϟⱘ Voronoï ‫˗ܗ‬䖲᥹㸼䴶 S ϞⳌ䚏 Voronoï ‫ܗ‬ᇍᑨⱘ⚍ˈৃᕫࠄ⚍䲚 P Ⳍᇍ㸼䴶 S ⱘ ᡩᕅ Delaunay ϝ㾦࣪DŽᅲ䰙ϞᭈϾ䖛⿟Ёᑊϡᄬ೼Āᡩᕅā᪡԰ˈ S p ৃⳟ԰ p ⱘ Voronoï ‫ܗ‬੠ S ⱘѸ䲚DŽ ߽⫼ᑇ䴶԰Ўখ㗗㸼䴶ˈGaltier ੠ George[29]෎Ѣ PDT ⧚䆎ᓎゟњϔ༫ऎ ඳ乘ߚ㾷Ḛᶊˈᅲ䰙ᕫࠄⱘߚࡆ䴶ᑊ䴲ᑇ䴶ˈԚᅗ‫݋‬᳝޴Ͼ䴲ᐌ䞡㽕ⱘ⡍ᗻ˖ ˄1˅ߚࡆ䴶ᰃ᳔㒜 Delaunay ϝ㾦࣪㒧ᵰⱘϔ䚼ߚ˗ ˄2˅ߚࡆ䴶ⱘᢧᠥ㒧ᵘϞϡᄬ೼ϔᴵ䖍㹿໮Ѣ 2 Ͼϝ㾦⠛᠔݅ѿⱘᚙᔶ˗ ˄3˅བᵰ㒣䖛 3 Ͼ㡖⚍ˈϨ⧗ᖗԡ㕂೼ᡩᕅ䴶Ϟⱘ໪᥹⧗ᰃぎ໪᥹⧗ˈ߭ 䖭 3 Ͼ㡖⚍ᔶ៤ⱘϝ㾦ᔶᔶ៤ϔϾᡩᕅ Delaunay ϝ㾦ᔶDŽ ⡍ᗻ˄1˅ֱ䆕੠Ⳉ᥹ҹᑇ䴶‫ࡆߚخ‬䴶Ⳍ↨ˈ෎Ѣ PDT ⧚䆎ⱘㅫ⊩᠔ѻ⫳ⱘ ߚࡆ䴶䋼䞣᳈催˗⡍ᗻ˄2˅Փᕫ߱ྟߚࡆ䴶‫݋‬໛ϔϾ᳝ᬜⱘᢧᠥ㒧ᵘˈৃ䗮䖛 ᐌ⫼ⱘ㔥Ḑ㒚ߚ䖛⿟⫳៤ߚࡆ䴶㔥Ḑ˗⡍ᗻ˄3˅߭㸼ᯢৃҹ䗮䖛⬹ᖂׂᬍ⦄ᄬ ⱘ Delaunay ϝ㾦࣪ㅫ⊩ᅠ៤ߚࡆ䴶ⱘᡩᕅ Delaunay ϝ㾦࣪DŽ ੠෎Ѣᑇ䴶ߚࡆⱘऎඳߚ㾷ㅫ⊩ϔḋˈ෎Ѣ PDT ⧚䆎ⱘऎඳߚ㾷ㅫ⊩гᄬ ೼໮⾡䲒ҹ໘⧚ⱘ䫭䇃ᚙᔶ˗⡍߿ഄˈЎՓߚࡆ䴶ⱘ䖍⬠‫ܗ‬㋴੠ᕙߚ㾷ऎඳⱘ䖍 ⬠‫ܗ‬㋴ֱᣕϔ㟈ˈৃ㛑᮴⊩߽⫼ PDT ⧚䆎ᕫࠄϔϾ᳝ᬜⱘߚࡆ䴶䖍⬠ᦣ䗄DŽϞ 䗄䫭䇃ᚙᔶᐌ䗮䖛⿏ࡼখ㗗ᑇ䴶ⱘԡ㕂ᴹ㾷‫އ‬DŽ 2.5.2.3 ‫ݮ‬ဟ๮೟ฉٌ‫ࠓד‬ԅ PDMG സ֥ Said ㄝ[2]߽⫼䖍⬠‫ܗ‬㋴ᔶ៤ⱘ߱ྟϝ㾦࣪԰Ў㚠᱃㔥Ḑˈ߽⫼䋾ှㅫ⊩ᇚ㚠 ᱃㔥Ḑߦߚ៤໮Ͼᄤ㔥Ḑˈ䱣ৢ䞛⫼ Manager/Worker ᑊ㸠῵ᓣˈ㒚ߚ৘ᄤ㔥Ḑˈ Manager 䋳䋷ߚথӏࡵ˗Worker ߭䋳䋷ᠻ㸠ᄤ㔥Ḑ㒚ߚ᪡԰DŽ᳔ৢ⫳៤ⱘ㔥Ḑৃ ҹߚᏗ೼໘⧚఼Ϟˈгৃҹ䗕ಲ Manager 㒳ϔ៤ϔϾᭈԧ㔥ḐDŽ⬅Ѣᄤ䯂乬䖍⬠ ‫ܜ‬Ѣᄤ䯂乬‫ݙ‬䚼㹿⾏ᬷˈᄤ㔥Ḑ⫳៤ᯊ໘⧚఼䯈ϡ䳔㽕䗮ֵDŽ䰸ℸҹ໪ˈSaid ㄝ䖬䞛⫼њࡼᗕ䋳䕑ᑇ㸵ㄪ⬹ᴹᑇ㸵৘Ͼ໘⧚఼Ϟⱘ䋳䕑ˈϨᑊ㸠࣪њऎඳߚ㾷 䖛⿟DŽ䞛⫼ℸㄪ⬹ˈSaid ㄝ[2]ᑊ㸠њ Weatherill ⱘᑣ߫࣪ Delaunay 㔥Ḑ⫳៤఼DŽ Ϟ䗄ᗱ䏃ᑊϡ໡ᴖˈԚ೼‫݋‬ԧᅲ⦄䖛⿟Ёˈᅗ䴶Јབϟϔѯ䯂乬˖ ˄1˅ϸϾᄤ㔥ḐП䯈ⱘҎᎹ䖍⬠Ϟৃ㛑ᄬ೼㹿 3 Ͼ៪ 3 ϾҹϞⱘᄤ㔥Ḑ᠔ ݅ѿⱘ䖍ˈ䖭ѯ䖍г㹿⿄Ўܼሔ䖍˄global edge˅ˈऎඳߚ㾷䖛⿟Ёˈ䳔㽕ᇍᅗ Ӏ䖯㸠⡍⅞໘⧚ˈҹֱ䆕㔥Ḑ᭄᥂ⱘϔ㟈ᗻ˗ ˄2˅⬅ѢᓩܹҎᎹ䖍⬠ˈᄤ㔥Ḑⱘ䖍⬠ϞӮ᳝ϡᇥᇪ㾦ˈ㱑✊ৃҹ䗮䖛ϔ ѯӬ࣪㾘߭ᴹ‫ޣ‬ᇥ䖭⾡ᚙᔶˈԚᕜ䲒ᅠܼ⍜䰸ᅗˈ㗠ᇪ㾦ⱘᄬ೼ᖙ✊Ӯᕅડࠄ᳔ 㒜㔥Ḑ䋼䞣ⱘᦤ催˗ ˄3˅੠݊ᅗऎඳߚ㾷䖛⿟Ⳍ↨ˈ䆹ㅫ⊩ⱘҎᎹ䖍⬠໘⧚⌕⿟↨䕗໡ᴖˈㅫ 31

ԛ 2 Ⴣ ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ཙࡎᆘ೭

⊩ᅲ⦄䲒ᑺ䕗໻DŽ 2.5.2.4 ୣ൑ PDMG സ֥ Ё䕈⊩ᰃᐌ⫼ⱘऎඳߚ㾷ᮍ⊩[142]ˈ Linardakis ㄝ[26]ᇱ䆩ᇚᅗ⫼ѢѠ㓈 PDMG ㅫ⊩ЁDŽҪӀᅲᮑЁ䕈ߚ㾷ⱘ佪㽕Ⳃᷛᰃֱ䆕ᔶ៤ᄤඳᯊϡӮᓩܹᇪ㾦ˈ ৠᯊՓᕫᄤඳ໻ᇣⳌ䖥ǃҎᎹ䖍⬠ሑ䞣ᇣDŽᣝ✻ऎඳⱘሔ䚼⡍ᕕሎᇌ˄LFS: Local Feature Size˅⾏ᬷҎᎹ䖍⬠ৢˈᄤඳ㹿䗕ᕔ৘Ͼ໘⧚఼䖯㸠㔥Ḑࠪߚˈᑊ㸠㔥Ḑ ⫳៤ᯊ໘⧚఼П䯈᮴䳔䗮ֵDŽҎᎹ䖍⬠䰘䖥ᄬ೼ϔϾ㓧‫ކ‬ᏺ˄ buffer zone ˅ˈ Linardakis ㄝ䆕ᯢ೼ᄤඳ㔥Ḑ⫳៤ᯊˈ㓧‫ކ‬ᏺ‫ݙ‬ϡӮᦦܹᮄⱘ㡖⚍ˈ⬅ℸˈҎᎹ 䖍⬠Ϟ㔥Ḑ᭄᥂ⱘϔ㟈ᗻᕫࠄֱ䆕DŽ䖭⾡ᑊ㸠ㅫ⊩ৃҹপᕫᕜདⱘᑊ㸠ᬜ⥛ˈԚ ᰃ೼ҎᎹ䖍⬠ϞӮߎ⦄䖛ᑺ㒚ߚ˄overrefinement˅ⱘ⦄䈵ˈϨ䲒ҹᢧሩࠄϝ㓈DŽ Talbert ㄝ[44]䗮䖛Ⳉ㒓ᇚѠ㓈ऎඳϔߚЎѠˈⳈ㒓ⱘϸϾッ⚍䰸㽕ⳌѦৃ㾚 ໪ˈ䖬ᖙ乏㗗㰥Ⳉ㒓੠ॳऎඳⱘ།㾦ǃⳈ㒓ⱘ䭓ᑺҹঞߚ㾷ᕫࠄⱘϸϾᄤඳⱘⳌ ᇍ໻ᇣㄝ޴ԩ಴㋴DŽ㢹ᇚ䖭ѯ޴ԩ಴㋴ⱘᕅડ䕀ᤶ៤ϔϾᴗ䞡ߑ᭄ˈᅲ偠㸼ᯢˈ ೼ᅗⱘᣛᇐϟˈৃড়⧚ߚ㾷ӏᛣѠ㓈ऎඳDŽ៥Ӏⱘⷨお㸼ᯢˈ䆹ऎඳߚ㾷䖛⿟䳔 㽕⍜㗫੠㔥Ḑ⫳៤޴Тৠḋ᭄䞣㑻ⱘᯊ䯈䌘⑤ˈԚড়⧚ഄᑊ㸠䆹䖛⿟ৢˈ៥Ӏ㦋 ᕫњϔϾ催ᬜ⥛ǃৃᠽሩⱘѠ㓈ऎඳߚ㾷ḚᶊDŽᑊᇚ݊੠Ѡ㓈ᑣ߫࣪ Delaunay 㔥Ḑ⫳៤఼㒧ড়ˈᅲ⦄њϔϾѠ㓈ᑊ㸠 Delaunay 㔥Ḑ⫳៤఼ PDMG-2DDŽ Blelloch[143]ㄝⷨおњ෎Ѣߌࣙ⊩ⱘᑊ㸠ㄪ⬹ˈᇚ݊⫼ѢѠ㓈ӏᛣ⚍䲚ⱘᑊ 㸠 Delaunay ϝ㾦࣪ˈ㗠 Kadow[35]߭ᇚ݊ᓩܹѠ㓈 PDMG ㅫ⊩Ёˈᑊ⍜䰸њ݊ Ёᄬ೼ⱘᑣ߫࣪ℹ偸DŽ

32

㄀ 3 ゴ 䴲㒧ᵘ࣪ಯ䖍ᔶ㔥Ḑ⫳៤ঞ݊ᑊ㸠࣪

3.1 ࠡ㿔 ᑇ䴶៪᳆䴶⡍ᅮ䯂乬ߚᵤЁˈ⬅Ѣ䅵ㅫ㒧ᵰⱘ㊒ᑺ催Ѣϝ㾦ᔶऩ‫ˈܗ‬ಯ䖍ᔶ ऩ‫ܗ‬ᕔᕔ㹿Ӭ‫ܜ‬䞛⫼ˈԚ݊㔥Ḑ⫳៤ㅫ⊩г᳈Ў໡ᴖDŽ⦄᳝ⱘಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳ ៤ᮍ⊩Џ㽕ৃҹߚЎϸ㉏˖䯈᥹⊩[70-74]੠Ⳉ᥹⊩[42-44, 62, 64, 76-78]DŽ䯈᥹⊩ ೼ऎඳ‫ݙ‬䚼乘‫⫳ܜ‬៤ϝ㾦ᔶऩ‫ˈܗ‬䱣ৢ䗮䖛ऩ‫ߚܗ‬㾷៪㗙ড়ᑊˈ⫳៤ܼಯ䖍ᔶऩ ‫ܗ‬㔥Ḑ៪㗙ϝ㾦ᔶ੠ಯ䖍ᔶⱘ⏋ড়ऩ‫ܗ‬㔥ḐDŽⳈ᥹⊩ࣙᣀ᯴ᇘ⊩ǃ෎ѢᷙḐ⊩੠ ࠡ⊓᥼䖯⊩ㄝˈ݊Ёҹࠡ⊓᥼䖯⊩[62, 64]ᑨ⫼᳔Ўᑓ⊯ˈ݊䖍⬠䗖ᑨ㛑࡯དǃ 㔥Ḑ䋼䞣䕗催ˈԚгᄬ೼ᅲ⦄໡ᴖǃ䅵ㅫᬜ⥛䖛Ԣㄝ㔎⚍DŽ ෎Ѣߚ⊏⊩ᗱᛇˈTalbert ㄝ[44]ᦤߎњϔϾᮄⱘܼಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤ⱘᗱ 䏃˖䗮䖛䗦ᔦߚ㾷ˈᇚ䯂乬ඳߦߚ៤໮Ͼ⒵䎇㽕∖ⱘᄤඳ˗䱣ेᣝ✻ϔᅮ㾘߭೼ ᄤඳЁᅠ៤㔥Ḑࠪߚ˗᳔ৢড়ᑊᄤඳ㔥ḐDŽTalbert ㄝ[44]㽕∖᳔㒜ᄤඳᖙ乏Ў݁ 㡖⚍ऎඳˈᑊḍ᥂݁㡖⚍ᄤඳⱘ‫ݙ‬㾦⡍ᗻᇚ݊ߦߚ៤ 4 ㉏ 13 ⾡ॳൟߚ߿ࡴҹ໘ ⧚DŽChae ㄝ[41]๲ࡴњܿ㡖⚍ᄤඳ 5 ㉏݅ 15 ⾡ॳൟҹঞϔϾሖ⢊ॳൟDŽNowottny ㄝ[42]߭㽕∖ᄤඳᰃϔϾĀㅔऩऎඳāˈᑊ㒚ߚ݊ЎĀൟಯ䖍ᔶā៪Āൟϝ㾦ᔶā ˈ ✊ৢ೼ϸ㉏ϡৠⱘᄤඳЁḍ᥂Ⳍᑨⱘ㒣偠῵ൟ䖯㸠㔥Ḑࠪߚ˗䘫ធⱘᰃˈ䆹ㅫ⊩ ೼ᄤඳߚ㾷ࠄা࠽ϟ 6 Ͼ㡖⚍ᯊˈҡ✊䳔㽕ᇚᄤඳߚ៤ 3 ㉏ 7 ⾡ॳൟҹᅠ៤᳔ৢ ⱘ㔥Ḑᇕ䯁䅵ㅫDŽSarrate ㄝ[43]থሩњϞ䗄ㅫ⊩ˈ߽⫼㚠᱃㔥Ḑᴹ᥻ࠊ㔥Ḑⱘ⭣ ᆚˈᑊᇚ䆹ㅫ⊩ᑨ⫼Ѣ㞾䗖ᑨߚᵤЁDŽ Ϟ䗄ㅫ⊩ᄬ೼ϸϾ㔎䱋˖ϔᰃ᳔㒜ᄤඳ໻䛑ᰃ݁㡖⚍៪ܿ㡖⚍ᄤඳˈ䖛Ѣ⣁ ᇣˈ㟈Փऎඳߚ㾷ሖ⃵䖛⏅ˈϡҙ䰡Ԣњߚ㾷ᬜ⥛ˈϨ䖛໮ⱘ䰘ࡴ㑺ᴳӮᕅડࠄ ᳔㒜㔥Ḑ䋼䞣ⱘᦤ催˗Ѡᰃ෎Ѣᄤඳ‫ݙ‬㾦ㄝ⡍ᗻⱘᄤඳߚ㉏㾘߭䖛Ѣ㐕⧤ˈᄤඳ ⾡㉏䖛໮ˈࠪߚ㾘߭໡ᴖˈՓᕫㅫ⊩ᅲ⦄䲒ᑺ๲໻ˈϨ݊Ё⡉ᡃࠄ໻䞣ⱘ⍂⚍䖤 ㅫˈ๲ࡴњㅫ⊩ⱘᯊ䯈⍜㗫DŽ ⊼ᛣࠄ߽⫼Ⳉ㒓ߚ㾷ऎඳˈ೼ऎඳ‫ݙ‬䚼Ӯᔶ៤ϔѯ䕗㾘߭ⱘ޴ԩᔶԧˈ㢹㛑 ℷ⹂ഄ䆚߿䖭ѯऎඳЎ㉏ಯ䖍ᔶ៪㉏ϝ㾦ᔶˈ߽⫼ᴢढㄝ[76, 77]ᦤߎⱘ῵ᵓ⊩ ᅠ៤ᄤඳ㔥Ḑ⫳៤ˈৃҹ᳝ᬜഄ㓧㾷Ϟ䴶ᦤঞⱘϸϾ䯂乬˗঺ϔᮍ䴶ˈ೼ᑨ⫼῵ ᵓ⊩ⱘ㔥Ḑ⫳៤఼Ёᓩܹ㞾ࡼⱘᢧᠥߚ㾷ঞ޴ԩߚ㾷ㅫ⊩ৢˈৃҹ⍜䰸ॳ‫ⱘܜ‬᠟ Ꮉߚ㾷䖛⿟ˈᕫࠄϔϾܼ㞾ࡼⱘಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤఼DŽ ᴀゴ㄀ 2̚7 㡖䆺㒚ഄ䅼䆎њᑣ߫࣪㔥Ḑ⫳៤䖛⿟ˈ㄀ 2 㡖㒭ߎњᑣ߫࣪㔥 Ḑ⫳៤⌕⿟˗㄀ 3 㡖ᦣ䗄њ㞾ࡼⱘᢧᠥߚ㾷੠޴ԩߚ㾷䖛⿟ˈᑊᇍབԩ᥻ࠊߚ㾷

ԛ 3 Ⴣ ׄࠒ‫ܤٲ‬ങΨ໹ฉٌಓю‫ރ‬ୣω໻‫ܤ‬

㒓Ϟⱘ㡖⚍⫳៤ঞབԩ䆚߿ᄤඳЎ㉏ಯ䖍ᔶ៪㉏ϝ㾦ᔶሩᓔњ䅼䆎˗㄀ 4 㡖ׂℷ ˈᕫࠄϔϾ‫ع‬ໂֱ䋼ⱘൟ῵ᵓ˗ њᴢढㄝ[76, 77]ᦤߎⱘൟ῵ᵓ˄pattern module˅ ㄀ 5 㡖ᓩܹѠঝᷥˈᑊᇚ݊ᑨ⫼Ѣᢧᠥߚ㾷ǃ޴ԩߚ㾷ঞൟ῵ᵓ㔥Ḑᵘᓎ⦃㡖˗ ㄀ 6 㡖䅼䆎њབԩᕫࠄϔϾᭈԧ㔥Ḑᑊ䗮䖛޴ԩঞᢧᠥӬ࣪ᴹᦤछᅗⱘ䋼䞣˗㄀ 7 㡖߭ᇍㅫ⊩ⱘ݇䬂ℹ偸䖯㸠њᗻ㛑ߚᵤ੠Ӭ࣪DŽ ᑣ߫࣪㔥Ḑ⫳៤ࣙ৿ϸϾ݇䬂ℹ偸˖޴ԩߚ㾷੠ᄤඳ㔥Ḑ⫳៤ˈᴀゴ㄀ 8 㡖 䅼䆎њᅗӀ৘㞾ⱘᑊ㸠ᡔᎻ˗⡍߿ഄˈ䗮䖛ᓩܹᄤඳ೒ˈᅲ⦄њৠℹ㔥Ḑ⫳៤੠ ߦߚˈ⍜䰸њӴ㒳ᑊ㸠῵ᢳ⦃๗Ё᠔ᖙ䳔ⱘ㔥Ḑ䞡ߦߚ⦃㡖DŽ ᴀゴ㄀ 9 㡖ᇚ䗮䖛᭄ؐᅲ偠䆘Ԅᑣ߫࣪ঞᑊ㸠㔥Ḑ⫳៤఼ⱘᗻ㛑DŽ

3.2 ᑣ߫࣪㔥Ḑ⫳៤⌕⿟

೒ 16 ᑣ߫࣪㔥Ḑ⫳៤⌕⿟೒ ‫؛‬ᅮ߱ྟⱘ޴ԩऎඳ⬅ϔᴵ䗚ᯊ䩜䕀৥ⱘ໪⦃੠ nl ˄ nl t 0 ˅ᴵ乎ᯊ䩜䕀৥ ⱘ‫⦃ݙ‬᠔ᦣ䗄ˈབ೒ 16 ᠔⼎ˈ೼݊Ёᑣ߫࣪⫳៤㔥Ḑ䳔㽕 5 ϾЏ㽕ℹ偸˖ ˄1˅ᢧᠥߚ㾷˖䗝ᢽĀ᳔Շāⱘ nl ᇍϡৠ⦃Ϟⱘ㡖⚍ˈᇚ໮䖲䗮ऎඳ䖲᥹ ៤ऩ䖲䗮ऎඳDŽ ˄2˅޴ԩߚ㾷˖䗝ᢽᕙߚ㾷ऎඳ⦃ϞĀ᳔ՇāⱘϸϾৃ㾚⚍ˈߚ㾷݊Ўϸ ϾᄤඳDŽᇍ↣Ͼᄤඳˈ߸ᮁᅗᰃ৺⒵䎇ᑨ⫼῵ᵓ⊩Ⳉ᥹⫳៤㔥Ḑⱘᴵӊˈབᵰᰃˈ ᇍ䆹ᄤඳ‫ذ‬ℶ޴ԩߚ㾷ˈ䕀ܹℹ偸˄3˅ ˗৺߭ˈᇍᅗ䞡໡޴ԩߚ㾷䖛⿟DŽ ˄3˅ᄤඳ㔥Ḑ⫳៤˖ᑨ⫼῵ᵓ⊩⫳៤ᄤඳ㔥ḐDŽ ˄4˅㔥Ḑড়ᑊ˖ࠨ䰸޴ԩߚ㾷㒓੠ᢧᠥߚ㾷㒓Ϟⱘ䞡໡㔥ḐֵᙃDŽ 34

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

˄5˅㔥Ḑৢ໘⧚˖䗮䖛‫ܝ‬⒥࣪ঞᢧᠥӬ࣪ˈᦤ催ᭈԧ㔥Ḑ䋼䞣DŽ

3.3 ᄤඳᔶ៤ 3.3.1 ߚ㾷㒓‫ݙ‬ᮄ㡖⚍⫳៤ 䗝ᅮᢧᠥ៪޴ԩߚ㾷㒓ৢˈ佪‫ܜ‬䳔㽕೼ߚ㾷㒓‫ݙ‬Ꮧ㕂㡖⚍ˈᇚ↡ඳ⦃䖍ߚ㾷 ៤ϸϾᄤඳ⦃䖍DŽᮄ㡖⚍ⱘ᭄Ⳃ੠ԡ㕂䳔㽕੠㔥Ḑᆚᑺ᥻ࠊㄪ⬹Ⳍऍ䜡ˈϨֱ䆕 ᄤඳ⦃䖍Ϟ㡖⚍ᘏ᭄Ў‫ي‬᭄ˈҹ⫳៤ܼಯ䖍ᔶऩ‫ܗ‬㔥ḐDŽ ⦄᳝⠜ᴀⱘಯ䖍ᔶऩ‫ܗ‬㔥Ḑ⫳៤఼া㗗㰥⬅䖍⬠ሎᇌഎᅮНⱘ㔥Ḑᆚᑺ᥻ ࠊֵᙃˈᇮ᳾㗗㰥㚠᱃㔥Ḑঞᆚᑺ⑤ㄝ催㑻ᆚᑺ᥻ࠊㄪ⬹ˈ⬅ℸˈᣛᇐߚ㾷㒓‫ݙ‬ ᮄ㡖⚍Ꮧ㕂ⱘᆚᑺֵᙃা᳝ϸッ⚍ⱘऩ‫ܗ‬ሎᇌؐDŽ䆒ߚ㾷㒓ᅲ䰙䭓ᑺЎ l a ˈϸッ ⚍ j ੠ k Ϟⱘऩ‫ܗ‬ሎᇌؐߚ߿Ў d j ੠ d k ˈϔ㠀ഄˈߚ㾷㒓‫ৃݙ‬Ꮧ㕂㡖⚍᭄Ў

2 * la d j  dk

ns

བ n s ϡ⒵䎇༛‫ي‬ᗻ㽕∖ˈপ n s

n s  1 ˗⬅ℸˈߚ㾷㒓㹿⾏ᬷ៤ n s  1 Ͼᄤ↉DŽ‫؛‬

䆒↣ϔᄤ↉ⱘĀ⧚ᛇ䭓ᑺāЎ

m*i  b

( sid ) i

⬅ッ⚍ᴵӊ ( s id ) 0

0,1, , n s )

(i

d j ੠ ( s id ) n

d k ˈৃᕫ˖

dk  d j ­ °m ns ® °b d j ¯ ⬅ℸᭈϾߚ㾷㒓ⱘĀ⧚ᛇ䭓ᑺāЎ˖ ns

lid

¦ (s

id

)i

0.5 * (d j  d k ) * (n s  1)

i 0

ᇚ lid ੠ l a П䯈ⱘ䇃Ꮒߚ᨞ࠄ↣ϔᄤ↉ˈ߭↣ϔᄤ↉ⱘᅲ䰙䭓ᑺЎ˖ (sa ) i

la * ( sid ) i lid

(i

0,1,  , n s )

35

ԛ 3 Ⴣ ׄࠒ‫ܤٲ‬ങΨ໹ฉٌಓю‫ރ‬ୣω໻‫ܤ‬

↣Ͼᮄ㡖⚍ⱘऩ‫ܗ‬ሎᇌؐЎ˖

di

0.5 * (( s a ) i 1  ( s a ) i )

(i 1,2,  , n s )

lid ੠ l a П䯈ⱘⳌᇍ䇃ᏂK ৃҹᅮНЎ˖

K

l a  lid

˄1˅

la

3.3.2 ᢧᠥߚ㾷 ϔ㠀㗠㿔ˈᢧᠥߚ㾷䖛⿟ৃҹ᠟Ꮉᅠ៤ˈЎᮍ֓䍋㾕ˈ೼䖭г䆒䅵њⳌᑨⱘ 㞾ࡼㅫ⊩DŽЎ↣ᴵ‫׭‬䗝ᢧᠥߚ㾷㒓ᅮНϔϾᴗ䞡ؐˈᴗ䞡᳔ؐᇣⱘ㹿䅸ЎĀ᳔Շā 㗠㹿䞛⫼DŽᷛ䆄໮䖲䗮޴ԩऎඳЎ : ˈ䆒 Vi (i 1,, n) ੠ V0 ߚ߿Ўऎඳ‫ݙ‬໪⦃㡖 ⚍䲚ড়˗䆒 P  Vi ˈ Q  V j (i

0,1,, n; j

0,1,, n; i z j ) ˈ E : PQ ᰃϔᴵ䖲᥹

P ੠ Q ⱘⳈ㒓ˈ H : {E; E  :} Ў᠔᳝೼ऎඳ‫ݙ‬䚼ⱘ‫׭‬䗝ᢧᠥߚ㾷㒓ⱘ䲚ড়ˈᴗ 䞡ߑ᭄ f : H o R ৃ㸼⼎Ў˖

C1D  C 2 E  C 3K  C 4I

f (E)

K ⱘᅮН㾕݀ᓣ˄1˅ˈ D ǃ E ੠ I ⱘᅮНབϟ˖ 4

D

E

I

¦T

i



i 1

S 2

˄2˅

2S ls lb

(l s : ߚ㾷㒓䭓ᑺ˗lb : ऎඳ໪ࣙೈⲦᇍ㾦㒓ⱘ䭓ᑺ)

max(0.0, T1  T 2  S )  max(0.0, T 3  T 4  S )

S

˄3˅ ˄4˅

݀ᓣ˄2˅ǃ˄3˅੠˄4˅Ё⍝ঞⱘব䞣 T i (i 1,2,3,4) ǃ l s ੠ lb ⱘ޴ԩᛣНབ೒ 17 ᠔⼎DŽߚ䞣 D 䅸Ўᮄѻ⫳ⱘ།㾦ҹ䴴䖥 90$ ЎՇˈҹ䰆ℶᄤඳЁߎ⦄ᇪ㾦˗ߚ䞣 E 䅸Ўᢧᠥߚ㾷㒓ᑨ䆹ሑ䞣ⱘⷁˈҹ䰆ℶ⣁䭓ऎඳⱘߎ⦄˗ߚ䞣K 㗗㰥ⱘᰃᅲ䰙㡖 ⚍Ꮧ㕂੠ऩ‫ܗ‬ሎᇌᅮНП䯈ⱘ䇃Ꮒ˗ߚ䞣 I 䅸Ў⦃䖍Ϟⱘߍ⚍ᘏᰃӬ‫ܜ‬㹿㗗㰥DŽ C1 ǃ C 2 ǃ C 3 ੠ C 4 ߭ߚ߿ᰃⳌᑨߚ䞣ⱘᴗ䞡㋏᭄ˈᅲ偠㸼ᯢˈϔ㠀ഄˈᔧপ C1

0.5 ǃ C2

0.2 ǃ C3

0.1 ǃ C 4

0.1 ᯊˈ߽⫼Ϟ䗄῵ൟৃҹপᕫ䕗⧚ᛇⱘ㒧 36

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

ᵰDŽ䳔㽕⊼ᛣⱘᰃˈ‫׭‬䗝ᢧᠥߚ㾷㒓䰸㽕⒵䎇೼ऎඳ‫ݙ‬䚼ⱘᴵӊ໪ˈ䖬ᑨ䙓‫ܡ‬੠ ݊ᅗᏆ䗝ᅮᢧᠥߚ㾷㒓ⳌѸˈ⾏⦃Ϟ㡖⚍˄䰸ᢧᠥߚ㾷㒓ッ⚍੠ッ⚍ⱘⳌ䚏⚍˅ гϡᑨ䖛䖥ˈৢ㗙ⱘߎ⦄Ӯᇐ㟈⣁じऎඳⱘᔶ៤DŽ Q

T3

T4 ls

ߚ㾷㒓

lb

ᇍ㾦㒓

T2 T1

P

໪ࣙೈⲦ

೒ 17 ᢧᠥߚ㾷㒓䗝প⼎՟

3.3.3 ޴ԩߚ㾷 ㉏ԐѢᢧᠥߚ㾷ˈ޴ԩߚ㾷г䳔㽕ᅮНϔϾᴗ䞡ߑ᭄DŽᷛ䆄ᢧᠥߚ㾷ᔶ៤ⱘ ऩ䖲䗮޴ԩऎඳЎ : s ˈ⦃䖍㡖⚍䲚ড়Ў V ˈ P, Q  V ˈ E : PQ ᰃϔᴵ䖲᥹ P ੠

Q ⱘⳈ㒓ˈ H : {E; E  : s } Ў᠔᳝೼ऎඳ‫ݙ‬䚼ⱘ‫׭‬䗝޴ԩߚ㾷㒓ⱘ䲚ড়ˈߑ᭄

f : H o R ৃ㸼⼎Ў˖ f (E)

C1D  C2 E  C3J  C4K  C5I

݊Ё D ǃ E ǃK ੠ I ⱘ㸼䖒ᓣߚ߿བ݀ᓣ˄2˅ ǃ ˄3˅ ǃ ˄1˅੠˄4˅ ˈ㗠 2

¦A

i

J

 Aav

i 1

˄5˅

2

¦A

i

i 1

݀ᓣ˄5˅Ёⱘ A1 ੠ A2 ᰃߚ㾷㒓ᇚ↡ඳߚ㾷ৢᕫࠄⱘϸϾᄤඳⱘ䴶⿃ˈ Aav ᰃ↡ ඳ䴶⿃ⱘϔञˈ䆒㕂 J ⱘⳂⱘᰃ㽕∖ߚ㾷㒓ᑨ䆹ሑ䞣ᑇഛഄߚ㾷↡ඳ˄䴶⿃ᛣН Ϟ˅DŽ C1 ǃ C 2 ǃ C 3 ǃ C 4 ੠ C 5 ߚ߿ᰃⳌᑨߚ䞣ⱘᴗ䞡㋏᭄ˈϔ㒘᥼㤤ⱘؐᰃ˖

37

ԛ 3 Ⴣ ׄࠒ‫ܤٲ‬ങΨ໹ฉٌಓю‫ރ‬ୣω໻‫ܤ‬

C1

0.5 ˗ C2

0.15 ˗ C3

0.35 ˗ C 4

0.1 ˗ C5

0.2 DŽ

3.3.4 ᳔㒜ᄤඳᔶ⢊⡍ᕕⱘ䞣࣪ᅮН ޴ԩߚ㾷䖛⿟ᰃ䗦ᔦ䖯㸠ⱘˈ݊㒜ℶᴵӊপ‫އ‬Ѣᇍ᳔㒜ᄤඳᔶ⢊⡍ᕕⱘ䞣࣪ ᅮНDŽ῵ᵓ⊩㽕∖᳔㒜ᄤඳᰃĀ㉏ಯ䖍ᔶā៪Ā㉏ϝ㾦ᔶāˈ೼ᅲ偠ⱘ෎⸔Ϟˈ ᴀ᭛䅸Ў䗖ড়῵ᵓ⊩ⱘ᳔㒜ᄤඳ乏⒵䎇ᴵӊ˄1˅៪㗙ৠᯊ⒵䎇ᴵӊ˄2˅~˄5˅ ˖     ˄1˅ᄤඳ⦃䖍㡖⚍ᘏ᭄ϡ໻Ѣ 6˗៪㗙 ˄2˅᳝ 3 ៪ 4 Ͼ乊⚍ⱘ‫ݙ‬㾦೼ 120 $ Пϟˈ䖭ѯ乊⚍⿄Ў㾦⚍˗Ϩ ˄3˅‫ݙ‬㾦Ё≵᳝䍙䖛 180 $  H 1 ⱘߍ㾦˗Ϩ ˄4˅㢹ϸϾ㾦⚍䯈䖲㓁ߎ⦄ߍ㾦ˈߍ㾦੠ᑇ㾦ⱘᏂؐП੠ϡ䍙䖛 H 1 ˗Ϩ ˄5˅㢹ϸϾ㾦⚍䯈䖲㓁ߎ⦄ߌ㾦ˈᑇ㾦੠ߌ㾦ⱘᏂؐП੠ϡ䍙䖛 H 2 DŽ ᅲ偠㒧ᵰ㸼ᯢˈপ H 1

15$ ǃ H 2

15$ ᯊৃҹᕫࠄ䕗དⱘ㔥Ḑࠪߚ㒧ᵰDŽ㔥Ḑ

ᆚᑺ䕗⭣ᯊˈ H 2 ৃҹᬒᆑࠄ 30 $ ˗㔥Ḑ⿴ᆚᯊˈ䳔ᙄᔧ‫ޣ‬ᇥ H 2 ⱘؐDŽ

3.4 ᄤඳ㔥Ḑࠪߚ 3.4.1 ῵ᵓ⊩ⱘϔѯ෎ᴀὖᗉ

˄a˅I ൟ

˄b˅II ൟ

˄c˅III ൟ

˄d˅IV ൟ

೒ 18 ᇍᑨℷᮍᔶখ᭄ඳⱘϔᮣ෎ᴀൟ῵ᵓ 3.4.1.1 ໸੦͐ ᇍѢ⡍ᅮᔶ⢊ऎඳЁⱘϔϾ䖍⬠㡖⚍ߚᏗ B ˈḍ᥂ᵘ䗴㾘ᕟ < ৃҹ⹂ᅮ㔥Ḑ M ˈे᳝ϟ䴶ⱘ݇㋏ M < (B ) ݊Ё B ᑨ䆹⒵䎇෎ᴀ㑺ᴳ R ˈ↨བ೼ℷᮍᔶऎඳЁ㽕⫳៤ܼಯ䖍ᔶऩ‫ˈܗ‬ಯᴵ䖍 ⬠ⱘࠪߚ᭄П੠ᑨЎ‫ي‬᭄DŽ៥Ӏ⿄Ѡ‫ܗ‬㒘 ( B, M ) Ўൟ῵ᵓDŽ 3.4.1.2 ‫ަؘ‬Ψ࠘ၟ೯ԅ໸੦͐ďpattern module with boundary constraintsĐ ℸᯊˈ䖍⬠㡖⚍ߚᏗ B 䰸⒵䎇෎ᴀ㑺ᴳ R ˈ䖬㽕⒵䎇䰘ࡴ㑺ᴳ Ra DŽ↨བ䇈ᇍ

38

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

Ѣℷᮍᔶऎඳˈ Ra ৃҹᰃϸᇍ䖍ࠪߚ᭄Ⳍㄝ៪㗙ϸ䚏䖍ࠪߚ᭄ⳌㄝDŽ 3.4.1.3 ‫·ݮ‬໸੦͐ďbasic pattern moduleĐ ෎ᴀൟ῵ᵓᑊ≵᳝ϔϾ㊒⹂ⱘᅮНˈ೼䖭⡍ᣛ䙷ѯᵘൟㅔऩǃৃ⫼ᴹ㒘ড়݊ ᅗൟ῵ᵓⱘ䰘ࡴ䖍⬠㑺ᴳⱘൟ῵ᵓDŽ೒ 18 㒭ߎᇍᑨѢℷᮍᔶখ᭄ඳЁⱘϔᮣ෎ ᴀൟ῵ᵓDŽ

3.4.2 ϝߚऎൟ῵ᵓ੠݁ߚऎൟ῵ᵓ N1

K4

K3

K1

C N2

N3

C

B

K3 K2

A

B

A

೒ 19 ϝߚऎൟ῵ᵓ

N4

K2

K1

N1

K3

 B



C

K4

B N2

A

N3

D

C K2

K1

E

A



F

K6



K5

K2

K1



N4 D

N4

E K7

೒ 20 ݁ߚऎൟ῵ᵓ

 F

ᴢढㄝ[77, 144]㒭ߎ䖛ϸ⾡ൟ῵ᵓˈߚ߿བ೒ 19 ੠ 20 ᠔⼎DŽ N1 ǃ N 2 ǃ N 3 ੠ N 4 ߚ߿ᰃ 4 ᴵ䖍ⱘߚ↉᭄ˈЎֱ䆕ѻ⫳ܼಯ䖍ᔶऩ‫ˈܗ‬乏᳝

N 1  N 2  N 3  N 4 ‫ي‬᭄ 䗮䖛ᮟ䕀ℷᮍᔶˈᘏৃҹՓᕫ

˄6˅

39

ԛ 3 Ⴣ ׄࠒ‫ܤٲ‬ങΨ໹ฉٌಓю‫ރ‬ୣω໻‫ܤ‬

˄7˅

N1  N 4 t N 2  N 3

೒ 19 ᠔⼎ൟ῵ᵓࣙ৿ϝϾߚऎˈ೼䖭⿄݊Ўϝߚऎൟ῵ᵓˈㅔ⿄ ᳿⚍⚍ⷕ˅

0 0->1

1 0->2

2 0->3

3 1->2

4 1->3

5 2->3

ৢ䴶ⱘ䖤ㅫЁৃ㛑Ӯ⡉⍝ࠄ໮Ͼࣙ৿݅ѿ㡖⚍ⱘऩ‫ˈܗ‬Ўऎߚ݅ѿ㡖⚍೼ϡ ৠऩ‫ܗ‬Ёⱘ⚍ⷕ㸼⼎ᮍᓣˈᓎゟњབϟੑৡ㾘߭˖

81

ׄࠒ‫ܤٲ‬ฉٌಓю‫ރ‬ୣω໻‫ܤ‬ԅయ‫ูؤ‬ඕཙࡎ

㒭ᅮ᳝ᑣಯ䴶ԧऩ‫ܗ‬䲚ড় T

D(t j )

j (j

{t1 , t 2 , , t n } ˈᇍ↣Ͼऩ‫ܗ‬ᣛᅮϔϾ᭄ؐᷛ䆄

1 ~ n)

ऩ‫ⱘܗ‬乊⚍⫼໻‫ݭ‬ᄫ↡ A ~ Z 㸼⼎ˈ䆄Ў D ˈ䆒 D ᇍᑨⱘᇣ‫ݭ‬ᄫ↡Ў E ˈ㢹ऩ‫ܗ‬

t j ࣙ৿乊⚍ D ˈ߭䆄 D ೼ऩ‫ ܗ‬t j Ёⱘ⚍ⷕؐЎ iE j ˗⡍߿ഄˈᔧ n 1 ᯊˈेা᳝ ϔϾऩ‫ܗ‬ᯊˈ䆄 D ೼ଃϔऩ‫ܗ‬Ёⱘ⚍ⷕؐЎ iE DŽ

5.3.3 ϝ㾦ᔶⱘ S ൟߚ㾷੠ Z ൟߚ㾷 ϝ㾦ᔶⱘϸᴵ䖍Ϟ⏏ࡴ䕙ࡽ⚍ৢˈᄬ೼ϸ⾡ᮍḜˈഛৃᇚॳϝ㾦ᔶߚ㾷៤ϝ Ͼᇣϝ㾦ᔶDŽབ೒ 57ˈ‫؛‬䆒㾖ᆳ㗙ԡѢऩ‫ܗ‬໪䚼Ϩ䴶ᇍ 'ABC ˈḍ᥂ϸ⾡ᮍḜЁ P1 P2 ǃ BP1 ˄៪ AP2 ˅ঞ AB 䖭 3 ᴵ㒓↉ᔶ៤ⱘᄫヺᔶ⢊ˈߚ߿ᔶ䈵ഄ⿄ᅗӀЎ S ൟߚ㾷੠ Z ൟߚ㾷2DŽ C

P1

C

P2

P1

A

P2

A B

B

˄a˅ S ൟߚ㾷

˄b˅ Z ൟߚ㾷

೒ 57 ϝ㾦ᔶⱘ S ൟߚ㾷੠ Z ൟߚ㾷

5.4 䖍⬠䖍ᘶ໡ 5.4.1 Ḍᖗ᭄᥂㒧ᵘ˖ㅵ䘧‫ܗ‬ ㅵ䘧‫ܗ‬੠ܼሔऩ‫ܗ‬᭄㒘Ёⱘಯ䴶ԧऩ‫ܗ‬ᄬ೼ϔϔᇍᑨⱘ݇㋏ˈԚ㽕⊼ᛣϸ㗙 ⱘὖᗉᰃ᳝ᴀ䋼ऎ߿ⱘˈࠡ㗙ⴔ䞡ᦣ䗄ⱘᰃऩ‫ܗ‬೼ߚ㾷ᯊⱘ⢊ᗕ˗ৢ㗙ⴔ䞡ᦣ䗄 ⱘᰃऩ‫޴ⱘܗ‬ԩֵᙃ੠ᢧᠥֵᙃDŽ 䖍⬠䖍ᘶ໡ⱘ䖛⿟ᅲ䋼Ϟህᰃ䗤Ͼߚ㾷ㅵ䘧‫ⱘܗ‬䖛⿟ˈ಴ℸㅵ䘧‫ܗ‬᭄᥂㒧ᵘ ⱘ䆒䅵ᰃ䖍⬠䖍ᘶ໡ㅫ⊩䆒䅵ⱘ݇䬂DŽ⿟ᑣЁˈ៥Ӏᵘ䗴њϔϾ㣅᭛䆡 pipel˄pipe 2

᭛⤂[149]Ё⿄ Z ൟߚ㾷Ў N ൟߚ㾷ˈᴀ᭛԰㗙䅸Ў Z ൟߚ㾷᳈Ўᔶ䈵DŽ

82

ԛ 5 Ⴣ Delaunay ฉٌಓюġΨ࠘‫؏݋‬

+ el˅ᴹᣛҷㅵ䘧‫ܗ‬DŽㅵ䘧‫ܗ‬㒧ᵘⱘ C 䇁㿔ᅮНЎ˖ typedef struct Pipel { INTEGER iEle; int type; INTEGER iNod1, iNod2; int cod1, cod2; DecTets dectets; int nTets; } Pipel; iEle ඳᰃㅵ䘧‫ܗ‬ᇍᑨⱘಯ䴶ԧऩ‫ܗ‬೼ܼሔऩ‫ܗ‬᭄㒘Ёⱘ㋶ᓩ˗type ඳᷛᖫ њㅵ䘧‫㉏ⱘܗ‬ൟDŽㅵ䘧‫㉏ⱘܗ‬ൟᰃ⬅䘫༅䖍੠݊ⳌѸⱘϸϾѸ⚍ⱘ㉏ൟ݅ৠ‫އ‬ᅮ ⱘDŽѸ⚍ⱘ㉏ൟ᳝ 4 ⾡ˈߚ߿ᅮНབϟ˖ enum {DEG = 0, NOD, EDG, FAC}; DEG 㸼⼎ϔ⾡䗔࣪ᚙᔶˈे≵᳝Ѹ⚍˗NOD 㸼⼎Ѹ⚍ᰃㅵ䘧‫ⱘܗ‬乊⚍˗EDG 㸼 ⼎Ѹ⚍೼ㅵ䘧‫ⱘܗ‬ϔᴵ䖍Ϟ˗FAC 㸼⼎Ѹ⚍೼ㅵ䘧‫ⱘܗ‬ϔϾ㸼䴶‫ݙ‬DŽ⬅ℸㅵ䘧‫ܗ‬ ⱘ㉏ൟ᳝ 11 ⾡˖ #define #define #define #define #define #define #define #define #define #define #define

NOD_NOD EDG_NOD FAC_NOD NOD_EDG EDG_EDG FAC_EDG NOD_FAC EDG_FAC FAC_FAC NOD_DEG EDG_DEG

(((NOD) (((NOD) (((NOD) (((EDG) (((EDG) (((EDG) (((FAC) (((FAC) (((FAC) (((DEG) (((DEG)