71
Geometric Mesh Processing: Mesh Generation Fabio Ganovelli [email protected] ISTI- CNR

Geometric Mesh Processing: Mesh Generationvcg.isti.cnr.it/~cignoni/GMP2006/GMP_05_MeshGeneration.pdfMesh Generation Triangolazione di punti in 2D • Definizione del problema • Qualche

  • Upload
    others

  • View
    25

  • Download
    0

Embed Size (px)

Citation preview

  • Geometric Mesh Processing:Mesh Generation

    Fabio Ganovelli

    [email protected] CNR

  • Tipi di mesh: mesh strutturate

    Una mesh regolare è una decomposizione in elementi i cui vertici sono espressi come mapping di un dominio più semplice

    • Richiedono poca memoria

    • Facilità di applicazione del metodo alle differenze finite

    • difficile determinare mapping che approssimino “bene” domini complessi• non sempre possibile

    Introduzione

    ),(f 00

    ),(f 10

    ),(f 11

    ),(f 01

    )(f' Γ=Γ

    ],[],[ 1010 ×=Γ'Γf

  • Tipi di mesh: mesh non strutturateDecomposizione in elementi finiti

    • possibilità di approssimare domini arbitrariamente complessi

    • Maggiore richiesta di memoria per la memorizzazione

    Introduzione

  • Da dove vengono le mesh?

  • Mesh GenerationTriangolazione di punti in 2D• Definizione del problema• Qualche algoritmo

    Superfici 2D embedded in 3D• Ricostruzione da sezioni planari (tiling)• Marching Cubes• Ball Pivoting

    Mesh di volume• Misure di Qualità

    – Poliedri non triangolabili – Punti di Steiner

    • Triangolazione di poliedri– Advancing front approach– Medial axis transform– Bubble Meshing (ricostruzione di domini non manifold)

    • Triangolazione di Point set– Alpha shapes

  • Definizioni

    • Una mesh è una decomposizione di un sottoinsieme compatto di in celle.

    • Un simplesso in n dimensioni è il luogo dei punti ottenuti come combinazione convessa di n+1 punti

    • Un complesso simpliciale ΣΣΣΣ in n dimensioni è un insieme di simplessi tale che:

    – 1. tutte le facce di ogni n-simplesso appartengono a ΣΣΣΣ– 2. per ogni coppia di simplessiσ e τ vale:

    – 3. n è il massimo ordine dei simplessi di ΣΣΣΣ

    nR

    ∅=

    entrambidifacciaunaτσ I

    Introduzione

  • Mesh simpliciali in

    Input PoligonoSemplice

    Poligonocon buchi

    PSLG (PlanarStraight Line

    Graph)

    Point Set

    Compl.in tempo O(n) O(n log h) O( n log n) O(n log n)

    Problemi NP-completi:

    – dire se un PSLG (con intersezioni) contiene una triangolazione [Lloyd77]

    – dire se una collezione di triangoli contiene una triangolazione

    2RMesh Generation in due dimensioni

  • Criteri di ottimalità

    Un criterio di ottimalità si definisce con funzioni f: T → R, di tipo:

    o

    dove f (t) misura la bontà di un triangolo

    perché f sia ben definita deve avere un solo minimo in corrispondenza del triangolo ideale (es: equilatero) e massimo non limitato

    f (τ ) può basarsi sull’angolo minimo o massimo, sulla lunghezza del lato più lungo/corto, sull’area del più piccolo/grande cerchio inscritto/circoscritto, sull’aspect ratio tra tutti i triangoli della mesh

    { }Γ∈= ττ :)(fmax[min]f ∑Γ∈

    τ )(ff

    Mesh Generation in due dimensioni

  • Es: Aspect Ratio

    a

    cb

    h

    Def: L’aspect ratio è data dal rapporto tra il lato più lungo e l’altezza relativa a tale lato

    h

    a)t(f =

    +∞≤≤ )t(f3

    2a

    h3

    2=)t(f

    a

    h

    +∞→)t(f

    L’aspect ratio è legata all’angolo minimo θ :

    θθ sin)t(f

    sin

    21 ≤≤

    Mesh Generation in due dimensioni

    min

    max

  • Triangolazione di Delaunay

    • Def: Cella di Voronoi di un punto p∈ S:

    • Def: Diagramma di Voronoi di un point set S:

    • Def: Triangolazione di Delaunay di un point set S: triangolazione contenente tutti e soli i lati che connettono duepunti che condividono un lato della cella di Voronoi (duale del diagramma di Voronoi)

    }Sp|xp||xp|:x{cV jjih

    i ∈∀≤ℜ∈=

    Mesh Generation in due dimensioni

    icVV U=

  • Qualche proprieta’ ….Dato un insieme di vertici, un edge {a,b} appartiene a DT sse esiste un cerchio passante per a e b non contenente nessun altro vertice

    Dato un insieme di vertici, un triangolo {a,b,c} appartiene a DT sse il cerchio passante per a,b e c non contiene nessun altro vertice

    a

    b

    a

    b

    a

    bc

    a

    bc

    Mesh Generation in due dimensioni

  • Preview di domani

    • Lift-transformation

    • Proprieta’ incredibile:– La proiezione sul piano dell’intersezione dei piani tangenti ai punti

    “lifted” produce in diagramma di Voronoi dei punti sul piano

    ),,(),(

    ,,,),,(

    :

    22

    0

    211

    1

    yxyxyx

    xxxxxn

    iinn

    nn

    +=

    =

    ℜ→ℜ

    ∑=

    +

    ψ

    ψ

    ψ

    KK

  • Ottimizzazioni di DT

    • Ottimizza :– massimizza il minimo angolo

    – minimizza il massimo circumcircle

    – minimizza il massimo min-containment circle

    Mesh Generation in due dimensioni

  • Ottimizzazione: algoritmo di flipping [Lawson77]

    Procedura di ricerca locale

    b

    a

    dc

    )()()(

    )()()'(

    Tfacdfabcf

    bcdfabdfTf

    =+

  • Ottimi globali

    Variando il criterio per decidere quando due triangoli adiacentidevono essere “flippati” si possono ottimizzare diverse misure, es.:

    – max-min angle (Delaunay)

    – min-max circumcircle (Delaunay) ….

    – Min-max min containment circle (Delaunay)

    Ci sono criteri per i quali l’algoritmo di flipping termina in un ottimo locale , es.:

    – min-max angle

    – minimum total edge length (MWT)

    Mesh Generation in due dimensioni

  • Edge insertion [Edelsbrunner92]Generalizzazione dell’algoritmo di flipping

    Aggiunta di un lato candidato

    Retriangolazione

    migliore

    Ripristinaprecedente

    s

    n

    a b1T

    2T

    a b1T

    2T

    Mesh Generation in due dimensioni

  • Anchor propertyDef: data T , un vertice a di un triangolo abc è un anchor vertex se ∀T’ : f(T’) < f(T), T’ contiene un lato ad che interseca il triangolo in bc

    Def: vale la weak anchor property per f sse :∀ T, ∀ abc ∈ T : f(abc) = f(T), uno dei vertici è un anchor vertex. Se ∀abc ∈ T , uno dei vertici è un anchor vertex vale la strong anchorproperty

    Mesh Generation in due dimensioni

    Es: f(T) = max-angle gode della Weak Anchor Property

    Teorema : se f soddisfa la WAP ⇒ l’algoritmo Edge Insertiondetermina l’ottimo globale in O(n3)Se vale SAP la complessità scende a O(n2log n)

  • Poligoni Semplici:Programmazione dinamica

    Sia un poligono P, una sua diagonale ab e siano T e T’ due triangolazioni delle due parti del poligono diviso da ab

    Def: f(T) è decomponibile se:• monotona• g è calcolabile in O(1)• se T è un triangolo, f(T) è calcolabile in O(1)

    )b,a),T(f),T(f(g)T(f:g 21=∃

    Mesh Generation in due dimensioni

    a b1T

    2T

    Areamin)T(f =)f,fmax()b,a,f,f(g 2121 =

    Una triangolazione di un poligono semplice che ottimizzi una funzione decomponibile può essere calcolata in O(n3) [Klincsek80]

    MWT)T(f =abff)b,a,f,f(g −+= 2121

  • Mesh Generation in due dimensioni

    ∞+=

    = +

    altrimenti

    diagonaleunaèsudiottimo

    verticidaiformatopoligonodati 1

    )v,v(se)j,i(Pf)j,i(F

    v,,v,v)j,i(P,v,v

    ji

    jiiji K

    )v,v),j,k(F),v,v),k,i(F,)vvv(f(g(gmin)j,i(F

    globaleottimo)k,(F

    jkkikjijki 43421≤≤

    ==1

    iv

    jvkv

    Nell’implementazione F(1,k) è calcolato iterativamente

    fdiottimo)n,(F =1

    nv

  • Un Problema aperto: Minimum WeightTriangulation

    Esiste un algoritmo polinomiale per determinare la triangolazione di un point set che minimizzi la lunghezza totale dei lati (o che la approssimi per O(1))? O il problema è NP-completo ? [Garey & Johnson79]

    Se la funzione sui lati è generale, non correlata alla lunghezza, MWT è NP-completo [Lloyd77]

    Qualunque triangolazione ha lunghezza totale O(n) volte l’ottimo[Kirkpatrik80]

    La triangolazione di Delaunay può essere fino a Ω(n) volte l’ottimo [Manacher79]

    Per poligoni convessi, la strategia greedy fornisce una approssimazione O(1) [Levcopoulus77]

    Mesh Generation in due dimensioni

  • Minimum Weight Triangulation: migliore approssimazione

    1. Partizione del convex hull in poligoni convessi2. Triangolazione greedy dei poligoni

    L’algoritmo fornisce una approssimazione O(log n) [Plaisted & Hong 87]

    Mesh Generation in due dimensioni

  • Mesh Generation in 3 dimensioni

    Superfici 2D embedded in 3D• Ricostruzione da sezioni planari (tiling)• Marching Cubes• Ball Pivoting3D Mesh Generation• Misure di Qualità

    – Poliedri non triangolabili

    – Punti di Steiner

    • Triangolazione di poliedri– Advancing front approach

    – Medial axis transform

    – Bubble Meshing (ricostruzione di domini non manifold)

    • Triangolazione di Point set– Alpha shapes

  • Ricostruzione da sezioni planari [Bajaj96]

    • Caso particolare di Point Set: i punti sono distribuiti su un insieme di piani paralleli (slices) • Input: insieme di slices, ognuna contenente un insieme di poligoniProblema : ricostruire la superficie dell’oggetto (degli oggetti) conoscendo i contorni su ogni slice

    Slice 1

    Slice 2

    Generazione di Mesh Superficiali

  • Ricostruzione della superficie da sezioni planari

    Criteri:1. La superficie ricostruita e le regioni sugli slices formano un insieme di

    superfici chiuse2. L’intersezione tra una qualunque linea verticale passante per i due

    slices e la superficie ricostruita è un punto, un lato o è vuota3. Il resampling della superficie ricostruita deve consistere nei contorni

    originali

    Generazione di Mesh Superficiali

  • Il problema della corrispondenza

    • Determinare in modo “corretto” (decidere in modo consistente) la corrispondenza tra i contorni

    Generazione di Mesh Superficiali

  • Il Problema della copertura (Tiling)

    • Costruire le strisce di triangoli tra i contorni corrispondenti

    Criteri:• minima superficie• minimo volume racchiuso• minima lunghezza dei lati

    Problema di matching su grafi bipartiti

    Generazione di Mesh Superficiali

  • Il Problema della copertura (Tiling)

    Esistono coppie poligoni per cui non è possibile effettuare un tiling

    Generazione di Mesh Superficiali

  • Il problema di branching

    • Costruire la copertura (tiling) quando la corrispondenza tra i contorni non è 1:1

    • Le tecniche adottate in c,d ed e violano il criterio (3)

    Generazione di Mesh Superficiali

  • Marching Cube:estrazione di isosuperfici da dataset volumetrici [Lorensen87] :

    Output: superficie con valore αααα e con derivata lungo la normale non nulla (isosuperficie)

    Input:- una griglia di punti regolare (quindi un insieme di celle cubiche) dove ad ogni punto (vertice) è associato un valore reale f (campo)- un valore scalare αααα

    Il valore del campo in un punto p è ottenuto per interpolazione trilineare del valore nei vertici della cella che lo contiene

    10 5

    7 3

    7.5 = α

    57.f =

    00p 10p

    11p01p

    ∑=

    =

    −− −−⋅=1

    0

    11 11j,i

    j,i

    jjiiij y)y(x)x(f)y,x(f

    y

    x00,

    1

    1

    Generazione di Mesh Superficiali

  • Marching Cube: configurazioni

    Generazione di Mesh Superficiali

    • Configurazioni possibili: 2^8=256, ma si riducono a quattordiciclassi di equivalenza considerando rotazioni mirroring e complemento

  • Marching Cube: LookUp Table

    Generazione di Mesh Superficiali

    0 1

    23

    4 5

    67

    7 6 5 4 3 2 1 010000000

    0 : nil1 : {e0,e4,e8}2 : ….3 : ….

    …. …

    255: nil

    LookUpTable

    Per ogni permutazione del valore del campo rispetto alla soglia, memorizza I triangoli della configurazione corrispondente

  • Marching Cubes: Implementazione

    • “Marching”. L’algoritmo procede cella per cella, riga per riga, slice per slice. Da ogni cella si produce una triangolazione.

    • Tranne che per le celle sul bordo della griglia considerare unanuova cella richiede solo valutare tre nuovi edges

    • Se non si vuole duplicare i vertici occorre ricordarsi i verticicalcolati su edge condivisi da celle gia’ processate

    Generazione di Mesh Superficiali

  • Marching Cubes: pros/issues

    • Pros:– Facile da implementare

    – Veloce e non memory consuming

    – Molto robusto

    • Allora perche’ dall’87 ci hanno pubblicato fantastilioni di papers?

    Generazione di Mesh Superficiali

    Issues:• Consistenza . Produrre una mesh C0 e manifold: casiambigui• Correttezza : Approssimare bene l’isosuperificie• Mesh complexity: il numero di triangoli prodotti da MC non dipende dalla forma della reale isosuperficie• Mesh quality: triangoli arbitrariamente brutti

  • Marching Cubes: casi ambigui

    ?

    Generazione di Mesh Superficiali

  • Marching Cubes: casi ambigui

    ?

    Generazione di Mesh Superficiali

  • Generazione di Mesh Superficiali

    αα

    Punti di sella

    hzyyz)y,x,(f +++= gdc0

    =⇒=+=∂

    =⇒=+=∂

    cg -y'0gc

    0

    cd

    -z'0dc0

    'yx

    )'y,'x,(f

    'zy

    )'y,'x,(f

    )'y,'x,(f 0

    Valore del campo su una faccia

  • Generazione di Mesh Superficiali

    ELUT: Exhaustive LUT

    …..

    Face saddle pointsbody saddle point

    ELUT:Per ogni configurazione ambigua determina la triangolazionecoerente in base ai valori dei punti di sella

  • Marching Tetrahedra

    • Celle tetraedrali invece che cubiche• Solo 3 configurazioni (dalle 2^4 combinazioni di segno del vertice)• Risove le ambiguita’• ?

    Generazione di Mesh Superficiali

  • Marching Tetrahedra

    • Approccio originale: le celle cubiche vengono divise in 5 (o 6) tetraedri.– La suddivisione determina la topologia

    • Body centered cubic lattice: aggiunta di unvertice nel centro del cubo, suddivisionea diamanti– Suddivisione unica non ambigua

    – Tutti tetraedri uguali

    – Migliore superficie risultante

    Generazione di Mesh Superficiali

  • Adaptive triangulation

    • Invece di fermarsi alla configurazione iniziale si puo’ raffinare(refine) selettivamente la superficie per approssimare megliol’isosuperficie

    Generazione di Mesh Superficiali

  • Extended MC

    D2Y > 0

    X

    Y

    D1X < 0D3X > 0

    D1Y < 0

    Surface

    Exact intersectionpoint

    Generazione di Mesh Superficiali

  • Generazione di Mesh Superficiali

    MC

    normaltangent element

    normal

    tangent element

    Reconstructedsurface

  • Extended MC

    Generazione di Mesh Superficiali

    Marching Cubes Extended Marching Cubes

  • Discretized Marching Cubes

    • Il punto di attraversamento dell’isosuperficie e’ sempre il puntomedio

    • Stesse configurazione del MC standard• Tutte le facce generate sono su un insieme si 13 piani• Dopo l’estrazione viene effettuato un passo di “merging” per

    ottenere poligoni coplanari piu’ grandi

    Generazione di Mesh Superficiali

  • Dual Marching Cubes

    • Un vertice per ogni patch generata da MC• Un quad per ogni edge intersecato (i 4 vertici associati alle

    patch delle celle che condividono l’edge)• Tende ad eliminare triangoli brutti

    Generazione di Mesh Superficiali

    Vertice del dual MC Vertice di MC

  • Generazione da punti: Ball Pivoting

    • Una sfera di raggio ro “rotola” sui punti, ogni tripla di punti chetocca contemporaneamente forma un triangolo

    • La superficie creata e’ interpolante• Raggio della sfera?

    Generazione di Mesh Superficiali

  • Generazione da punti: Ball Pivoting

    • BPA puo’ essere usato come tecnica di remeshing– Distribuisci punti uniformemente su una superficie esistente

    – Esegui BPA

    • Quando e’ garantito che la topologia della mesh risultante e’ uguale alla mesh di partenza?

    • Due condizioni sul sampling (o, dualmente, sul raggio dellasfera)– L’intersezione di qualunque sfera di raggio ro con la superficie e’

    omeomorfo a un disco

    – Qualunque sfera di raggio ro centrata in un punto della superficiecontiene almeno un vertice

    Generazione di Mesh Superficiali

  • Mesh di Volume

  • Mesh Volumetriche• Visualizzazione di oggetti o

    campi scalari nello spazio tridimensionale (es: applicazioni diagnostiche in medicina)

    • Risoluzione di sistemi di equazioni differenziali su domini non banali (analisi strutturale dei materiali, deformable objectmodeling)

    Introduzione

  • Misure di qualità

    • Geometrica:Def ( più comune) : L’Aspect Ratio di un tetraedro è il rapporto tra il raggio della sfera circoscritta e il raggio di quella inscritta

    Generazione di Mesh di volume

    • Topologica:

    =

    −1= ∑ =

    tetraedri

    triangoliD

    Dn

    n

    it

    12

    6

    0 ιδε

    =

    −1= ∑ =

    tetraedri

    triangoli.

    A

    R

    rA

    m

    m

    ii

    ig

    112

    50

    rR

  • Qualità geometrica: casi pessimi

    Needle Sliver

    Wedge Cap

    non ottimizza l’Aspect Ratio

    minimizza il raggio della min-containment sphere con raggio massimo

    La Triangolazione di Delaunay 3D:

    Generazione di Mesh di volume

  • Triangolazione di Poliedri

    Nessun vertice di un triangolo può essere collegato ad uno del triangolo opposto con un segmento che non intersechi una faccia [Schonhardt28]

    Generazione di Mesh di volume

    Poliedri non triangolabili: es. di Schonhardt

  • Punti di Steiner

    I punti di steiner sono punti aggiuntivi all’input che:• rendono possibile la triangolazione di ogni poliedro• rendono possibile ogni ottimizzazione Es: Il poliedro di Schonhardt può essere triangolato aggiungendo

    un punto di Steiner

    Si può costruire un poliedro semplice che necessita di puntidi Steiner per poter essere diviso in regioni convesse (lowerbound per la triangolazione) [Chazelle91]

    Ogni poliedro può essere triangolato con punti di Steiner

    È un problema NP-completo decidere se un poliedro è triangolabile senza aggiungere punti di Steiner[Garey&Johnson79]

    2n

    2n

    Generazione di Mesh di volume

  • Triangolazione di Poliedri

    Input: Descrizione di un poliedro limitato: vertici, lati e facce

    • Punti di Steiner necessari in ogni caso pratico

    SvantaggioLa superficie della triangolazione da costruire è nota e quindi la triangolazione è constrained: più difficile e meno gradi di libertà nelle ottimizzazioni

    VantaggioLa superficie della triangolazione da costruire è nota è può essere usata come base nella costruzione

    Generazione di Mesh di volume

  • Advancing Front Tetraedralization (AFT)

    Idea: partire da una triangolazione della superficie (il fronte iniziale della triangolazione 3D) e “riempire” il poliedro

    Control Background

    Fronte iniziale

    Scelta di una faccia

    Selezione di un quarto vertice e costruzione di un tetraedro

    Aggiornamento del fronte

    Il fronte è vuotoN S

    end

    Generazione di Mesh di volume

  • Advancing Front Tetraedralization

    Offset front

    Fronte iniziale

    Costruzione fronte di offset

    Triangolazione dello strato tra i fronti

    Il fronte è vuotoN S

    end

    Costruzione del fronte di offset

    Generazione di punti lungo le normali alle facce

    +correzione del fronte di offset

    Generazione di Mesh di volume

  • Medial Axis Transform• Idea: suddividere l’oggetto in un insieme di sottodomini per i

    quali è più semplice costruire una mesh• Def: Il medial axis di un poligono (poliedro) semplice è

    l’insieme dei punti centro di un cerchio (una sfera) di diametromassimale tangente al poligono (poliedro)

    medial axis

    • def: Il medial axis transform è il medial axis + una funzione che assegna ad ogni punto il valore del raggio del corrispondente cerchio

    • I medial vertices sono i punti di discontinuità del primo ordine del raggio

    • Con un taglio su ogni medial edge si può partizionare qualunque dominio bi-dimensionale in regioni convesse

    Generazione di Mesh di volume

  • Medial Axis Transform

    • I sottodomini convessi sono ulteriormente partizionati in regioni “meshabili” con mesh standard mediante Mid PointSubdivision

    Mid Point Subdivision

    1. Aggiunta di un punto su ogni lato2. Aggiunta di un punto interno3. Nuovi lati tra i mid points sui lati e quello interno

    Risultato : le regioni ottenute sono

    quadrilateri

    Generazione di Mesh di volume

  • Condizioni per le mesh di una regione:

    Medial Axis Transform

    ===

    21

    21

    21

    mp

    pn

    nm

    Condizioni per la corrispondenza tra regioni adiacenti:

    2121 MMmm +=+

    L’insieme delle condizioni è un set di vincoli di un problema di ottimizzazione combinatoria

    Generazione di Mesh di volume

  • Generazione di Mesh di volume

  • Generazione di Mesh di volume

    Bubble Meshing [Shimada-Gossard]

    Physically-Based non-manifold meshing

    Output: • una mesh triangolare hyrid-dimension

    Input:• un dominio non-manifold• una funzione di distribuzione d(x,y,z)

    Oss: un insieme di packedspheres è “simile” al diagramma di Voronoi dei centri delle sfere

  • Generazione di Mesh di volume

    Algoritmo:1) filling: riempire il dominio con sfere di raggio proporzionale alla

    densità specificata2) relaxation: aggiustare la posizione delle sfere in modo da

    minimizzare “overlapping” e “gap”

    Filling (caso celle unidimensionali):

    1x2x

    )x(d 2)x(d 1

    1x2x

    due sfere di vengono posizionate agli estremi dell’elementose non c’è overlapping, una sfera viene aggiunta nel punto medio

    L’algoritmo procede ricorsivamente fino al riempimento

    3x

    Il raggio delle sfere è determinato dalla funzione densità

  • Generazione di Mesh di volume

    Relaxation:La finale disposizione delle sfere è ottenuta stabilizzando la posizione delle sfere rispetto alla forza agente su di esse definita come:

    0000

    0

    023

    051

    510

    510

    k)l(f,)l.(f)l(f

    ll.

    l.ldclblal)l(f

    ' −===

    ≤≤≤+++

    =

    L’equazione del moto:

    )t(fdt

    )t(dxc

    dt

    )t(xdm i

    ii

    ii =+2

    2

    È integrata sul tempo (metodo Runge-Kutta del IV ordine)

  • Generazione di Mesh di volume

    Controllo della popolazione:- sfere con un eccessivo grado di overlapping sono eliminate- vengono aggiunte sfere dove si sono creati dei “gap”

  • Alpha Shapes [Edelsbrunner94]

    Il Convex Hull dei punti è una possibile definizione della superficie

    Def: Convex hull di }ppp{ h,,, K10

    'CHCHCHp,'HS'CH

    CHp,HSCH

    CH

    j'i

    ji

    n

    ⊆⇒∈∀=∀

    ∈∀=ℜ∈

    I

    I

    Def: Empty half-space EHS:Semispazio non contenente punti di S

    EHS\CH n∞

    ℜ= UDef: Convex hull di S

    Generazione di Mesh di volume

    Problema: qual è la superficie di un oggetto espresso come insieme di punti?

  • Alpha Shapes

    • Def: empty αααα-ball Palla di raggio α non contenente punti del point set S

    • Def: αααα--Hull Complemento dell’unione di tutte le empty α-ball

    • L’alpha-shape è un politopo non necessariamente convesso e non necessariamente connesso derivabile dalla triangolazione “pesata” di Delaunay con peso α∈[0,∞)

    Generazione di Mesh di volume

    BallE\RH n αα∞

    = U

  • Triang. Di Delaunay

    Point Set

    Diagramma di Voronoi

    Alpha Diagram Alpha triangolazione

    Generazione di Mesh di volume

  • Delaunay Shape Alpha Shape

    • Se α = 0 l’ α -shape è il point set• Se α →∞ l’ α -shape è il convex hull• Un numero finito di soglie definisce tutte

    le shapes possibili (al più ) hαααα

  • Generazione di Mesh di volume

  • Alpha Shapes: generalizzazioni• Scale density alpha-shape

    α non è una costante ma una funzione della densità dei punti: migliora il risultato quando la densità di distribuzione dei punti nel dominio non è costante

    • Anisotropic alpha-shapeellissoidi in luogo di sfere i.e. metrica definita da un ellissoide

    Generazione di Mesh di volume

    alpha-shape scaled Scaled & anisotropic