• Aucun résultat trouvé

Outline Outline

N/A
N/A
Protected

Academic year: 2022

Partager "Outline Outline"

Copied!
94
0
0

Texte intégral

(1)

2D Triangulations in 2D Triangulations in

http://

http:// www.cgal.org www.cgal.org

Pierre Alliez Pierre Alliez Mariette

Mariette YvinecYvinec

(2)

Outline Outline

SpecificationsSpecifications

DefinitionDefinition

Triangulations in CGALTriangulations in CGAL FeaturesFeatures

RepresentationRepresentation

As a set of facesAs a set of faces

Representation based on vertices and cellsRepresentation based on vertices and cells

Software designSoftware design

Traits classTraits class

Triangulation data structureTriangulation data structure

AlgorithmsAlgorithms

Point locationPoint location

ExamplesExamples

ApplicationsApplications

(3)

Outline Outline

SpecificationsSpecifications

DefinitionDefinition

Triangulations in CGALTriangulations in CGAL FeaturesFeatures

RepresentationRepresentation

As a set of facesAs a set of faces

Representation based on vertices and cellsRepresentation based on vertices and cells

Software designSoftware design

Traits classTraits class

Triangulation data structureTriangulation data structure

AlgorithmsAlgorithms

Point locationPoint location

ExamplesExamples

ExercisesExercises

(4)

Definitions Definitions

• • A A 2D triangulation 2D triangulation is a set is a set T T of triangular of triangular facets such that:

facets such that:

–– two facets are either disjoint or share a lower two facets are either disjoint or share a lower dimensional face (edge or vertex).

dimensional face (edge or vertex).

–– the set of facets in the set of facets in TT is connected for the is connected for the adjacency relation.

adjacency relation.

–– the domain the domain UUTT which is the union of facets in which is the union of facets in TT has no singularity.

has no singularity.

(5)

Definitions Definitions

•• A A simplicialsimplicial complex is a set complex is a set T T of of simplicessimplices such thatsuch that

any face of a simplex in any face of a simplex in T is a simplex in T is a simplex in TT

two two simplicessimplices in T in T either are disjoint or share a common either are disjoint or share a common subface

subface..

•• The dimension The dimension d d of a of a simplicialsimplicial complex is the complex is the maximal dimension of its

maximal dimension of its simplicessimplices..

•• A A simplicialsimplicial complex complex T T is pure if any simplex of is pure if any simplex of T T is is included in a simplex of

included in a simplex of T T with maximal dimension.with maximal dimension.

(6)

Definitions Definitions

•• Two simplexes in Two simplexes in T T with maximal dimension with maximal dimension d d are are said to be adjacent if they share a (

said to be adjacent if they share a (dd--1) 1) dimensional dimensional subface

subface. A . A simplicialsimplicial complex is connected if the complex is connected if the adjacency relation defines a connected graph over adjacency relation defines a connected graph over the set of

the set of simplicessimplices of of T T with maximal dimension.with maximal dimension.

•• The union The union UUTT of all of all simplicessimplices in in T T is called the is called the domain of

domain of TT. .

•• A point A point p p in the domain of in the domain of T T is said to singular if its is said to singular if its surrounding in

surrounding in UUTT is neither a topological ball nor a is neither a topological ball nor a topological disc.

topological disc.

(7)

2D Triangulations in CGAL 2D Triangulations in CGAL

– – Basic Basic

– – Delaunay Delaunay – – Regular Regular

– – Constrained Constrained

– – Constrained Delaunay Constrained Delaunay

(8)

Basic Triangulation Basic Triangulation

Lazy incremental construction, no

control over the shape of triangles

(9)

Delaunay Triangulation Delaunay Triangulation

• • Empty circle property Empty circle property

(10)

Regular Triangulation Regular Triangulation

• • Generalization of Delaunay Generalization of Delaunay triangulation.

triangulation.

• • Defined for a set of Defined for a set of weighted weighted points

points . Each weighted point . Each weighted point can be considered as a sphere can be considered as a sphere whose square radius is equal whose square radius is equal to the weight. The regular to the weight. The regular

triangulation is the dual of the triangulation is the dual of the power diagram.

power diagram.

(11)

Constrained Triangulation Constrained Triangulation

• • Allows to Allows to enforce edges enforce edges . .

(12)

Constrained Delaunay Constrained Delaunay

Triangulation Triangulation

•• Constrained triangulation which is Constrained triangulation which is as much as much Delaunay as possible

Delaunay as possible. Each triangle satisfies the . Each triangle satisfies the constrained empty circle property: Its

constrained empty circle property: Its

circumscribing circle encloses no vertex visible from circumscribing circle encloses no vertex visible from the interior of the triangle, where enforced edges the interior of the triangle, where enforced edges are considered as visibility obstacles.

are considered as visibility obstacles.

(13)

Derivation Tree (2D)

Derivation Tree (2D)

(14)

General Features General Features

Traversal:Traversal:

going from a face to its neighborsgoing from a face to its neighbors

iterators to visit all faces of a triangulationiterators to visit all faces of a triangulation

circulators to visit all faces around a vertex or all faces circulators to visit all faces around a vertex or all faces intersected by a line.

intersected by a line.

Point location queryPoint location query

Insertion, removal, flips:Insertion, removal, flips:

Features adapted to each type of triangulations (e.g., the Features adapted to each type of triangulations (e.g., the

insertions and deletions in a Delaunay triangulation maintain th insertions and deletions in a Delaunay triangulation maintain the e empty circle property).

empty circle property).

(15)

Additional Features Additional Features

• • For some triangulations For some triangulations

(16)

Additional Features Additional Features

• Example for constrained and Delaunay constrained triangulations:

– Insertion and removal of constraints

(17)

Additional Features Additional Features

• • For For Delaunay triangulation Delaunay triangulation

– – Nearest neighbor queries Nearest neighbor queries – – Voronoi diagram Voronoi diagram

Point p = dual(face)

(18)

Traversal (1) Traversal (1)

• • Iterators Iterators

– – All faces All faces iterator iterator

– – All vertices iterator All vertices iterator

– – All edges All edges iterator iterator

(19)

Traversal (2) Traversal (2)

• • Circulators Circulators

– – Face circulator Face circulator

•• faces incident to a vertexfaces incident to a vertex

– – Edge circulator Edge circulator

•• edges incident to a vertexedges incident to a vertex

– – Vertex circulator Vertex circulator

•• vertices incident to a vertexvertices incident to a vertex

(20)

Traversal (3) Traversal (3)

• • Line face circulator Line face circulator

(21)

Point Location & Insertion

Point Location & Insertion

(22)

Edge Flip

Edge Flip

(23)

Outline Outline

SpecificationsSpecifications

DefinitionDefinition

Triangulations in CGALTriangulations in CGAL FeaturesFeatures

RepresentationRepresentation

As a set of facesAs a set of faces

Representation based on vertices and cellsRepresentation based on vertices and cells

Software designSoftware design

Traits classTraits class

Triangulation data structureTriangulation data structure

AlgorithmsAlgorithms

Point locationPoint location

ExamplesExamples

ExercisesExercises

(24)

Triangulations as a Set of Faces Triangulations as a Set of Faces

• All triangulations in CGAL tile the convex hull of their vertices. Triangulated polygonal regions can be obtained through constrained triangulations.

(25)

Triangulations as a Set of Faces Triangulations as a Set of Faces

• All triangulations in CGAL tile the convex hull of their vertices. Triangulated polygonal regions can be obtained through constrained triangulations.

• An imaginary vertex (so-called infinite vertex is added).

(26)

Triangulations as a Set of Faces Triangulations as a Set of Faces

• All triangulations in CGAL tile the convex hull of their vertices. Triangulated polygonal regions can be obtained through constrained triangulations.

• An imaginary vertex (so-called infinite vertex is added).

– Any face is a triangle.

– Any edge is incident to two exactly 2 faces.

– The set of faces is equivalent to a 2D topological sphere.

(27)

Triangulations as a Set of Faces Triangulations as a Set of Faces

In any dimension, the set of faces is combinatorically equivalent to a triangulated

sphere.

00 11

22

33

(28)

Representation Representation

• • The internal representation is based on The internal representation is based on faces

faces and and vertices vertices . .

• • Edges are Edges are implicitly implicitly represented represented

• • Vertex Vertex

–– Face* v_faceFace* v_face

• • Face Face

–– Vertex* vertex[3]Vertex* vertex[3]

–– Face* neighbor[3]Face* neighbor[3]

(29)

Representation Representation

• • functions functions cw(i cw(i ) ) & & ccw(i ccw(i ) )

(30)

Representation Representation

• • From one face to another From one face to another

(31)

Representation Representation

• • Around a vertex Around a vertex

(32)

Outline Outline

SpecificationsSpecifications

DefinitionDefinition

Triangulations in CGALTriangulations in CGAL FeaturesFeatures

RepresentationRepresentation

As a set of facesAs a set of faces

Representation based on vertices and cellsRepresentation based on vertices and cells

Software designSoftware design

Traits classTraits class

Triangulation data structureTriangulation data structure

AlgorithmsAlgorithms

Point locationPoint location

ExamplesExamples

ExercisesExercises

(33)

Software Design Software Design

CGAL classes are parameterized by one or more template parameters :

–– Polygon_2<Polygon_2<TraitsTraits, Container>, Container>

–– Polyhedron_3<Polyhedron_3<TraitsTraits, HDS>, HDS>

–– Planar_map_2<Planar_map_2<Dcel,TraitsDcel,Traits>>

–– Arrangement_2<Arrangement_2<Dcel,TraitsDcel,Traits,Base,Base node>node>

–– Min_circle_2<Min_circle_2<TraitsTraits>>

–– Point_set_2<Point_set_2<TraitsTraits>>

–– Range_tree_k<Range_tree_k<Traits>Traits>

(34)

Triangulation Classes Triangulation Classes

Triangulation_2<

Triangulation_2< Traits Traits , , TDS TDS > >

Triangulation_3<

Triangulation_3< Traits Traits , , TDS TDS > >

• • Traits Traits

– – Geometric traits Geometric traits

• • TDS TDS

– – Triangulation Data Structure Triangulation Data Structure

(35)

Geometric Traits Geometric Traits

• • Geometric Geometric traits classes traits classes provide : provide :

–– Basic geometric objectsBasic geometric objects

–– Predicates and ConstructorsPredicates and Constructors

• • Requirements for traits are documented Requirements for traits are documented

–– basic library data structures and algorithms can basic library data structures and algorithms can be used with user

be used with user--defined objectsdefined objects

• • Default traits classes are provided Default traits classes are provided

(36)

Traits Class for Traits Class for

Delaunay Triangulation Delaunay Triangulation

Requirements:Requirements:

PointPoint SegmentSegment TriangleTriangle LineLine

RayRay

orientation testorientation test in circle testin circle test circumcentercircumcenter bisectorbisector

(37)

Traits Class for Traits Class for

Delaunay Triangulation Delaunay Triangulation

• • Default traits class: Default traits class:

Triangulation_euclidean_traits_2<KernelTriangulation_euclidean_traits_2<Kernel>>

• • Delaunay triangulation of 2D points: Delaunay triangulation of 2D points:

typedeftypedef Cartesian<doubleCartesian<double> > KernelKernel;;

typedeftypedef Triangulation_euclidean_traits_2<KernelTriangulation_euclidean_traits_2<Kernel> > TraitsTraits;; typedeftypedef Delaunay_triangulation_2<TraitsDelaunay_triangulation_2<Traits> Triangulation;> Triangulation;

(38)

Predicates for Predicates for

Delaunay Triangulation

Delaunay Triangulation

(39)

Traits Class for Terrains Traits Class for Terrains

Needs Needs

3D points3D points orientationorientation in circlein circle

on x and y coordinateson x and y coordinates

Triangulation_euclidean_traits_xy_3<

Triangulation_euclidean_traits_xy_3<Kernel>Kernel>

Definition Definition::

typedef

typedef Cartesian<double> KernelCartesian<double> Kernel;; typedef

typedef Triangulation euclideanTriangulation euclidean traits xytraits xy 3<3<KernelKernel> Traits;> Traits;

typedef

typedef Delaunay triangulation 2<Traits> Triangulation;Delaunay triangulation 2<Traits> Triangulation;

(40)

Software Design Software Design

template< class Gt, class Tds>

Triangulation_2 ;

template<class Vb, class Fb>

Triangulation_data_structure_2;

(41)

Triangulation Design Triangulation Design

Vertex base Vertex base

Vertex base :: Point Vertex base :: Point Vertex base

Vertex base( Point p, void* f)( Point p, void* f) Point

Point pointpoint();();

void*

void* faceface();();

void*

void* set pointset point();();

void*

void* set faceset face();();

Face base Face base Face base

Face base(void* v0, void* v1, void* v2,(void* v0, void* v1, void* v2, void* n0, void* n1, void* n2)

void* n0, void* n1, void* n2) void*

void* vertexvertex(int(int i);i);

void*

void* neighborneighbor(int(inti);i);

void*

void* set set vertexvertex(int(int i, void* v);i, void* v);

void*

void* set set neighborneighbor(int(int i, void* f);i, void* f);

(42)

Triangulation Data Structure Triangulation Data Structure

Tds<Tds<Vb,FbVb,Fb>>

Types:

Types:

Tds<Tds<Vb,FbVb,Fb>::Vertex inherits from >::Vertex inherits from VbVb

Tds<Tds<Vb,FbVb,Fb>::Face inherits from >::Face inherits from FbFb

Tds<Tds<Vb,FbVb,Fb>::Face >::Face iteratoriterator

Tds<Tds<Vb,FbVb,Fb>::Edge >::Edge iteratoriterator

Tds<Tds<Vb,FbVb,Fb>::Vertex >::Vertex iteratoriterator

Tds<Tds<Vb,FbVb,Fb>::Face circulator>::Face circulator

Tds<Tds<Vb,FbVb,Fb>::Edge circulator>::Edge circulator

Tds<Tds<Vb,FbVb,Fb>::Vertex circulator>::Vertex circulator

(43)

Combinatorial Operations Combinatorial Operations

void

void insert_in_face insert_in_face (Vertex* v,Face* f)(Vertex* v,Face* f) void

void insert_in_edge insert_in_edge (Vertex* v, Face* f, (Vertex* v, Face* f, intint i)i) void

void remove_degre_3 (Vertex* v);remove_degre_3 (Vertex* v);

(44)

Combinatorial Operations Combinatorial Operations

void

void flip flip (Face* f, (Face* f, int int i); i);

void

void split vertex split vertex (Vertex*, Face* f1, Face* f2) (Vertex*, Face* f1, Face* f2) void

void join vertices join vertices (Vertex* v1, vertex* v2) (Vertex* v1, vertex* v2)

(45)

The Triangulation Class The Triangulation Class

CGAL::Triangulation 2<

CGAL::Triangulation 2<GtGt, , TdsTds >>

typedef

typedef GtGtgeometric_traits;geometric_traits;

typedef

typedef TdsTds Triangulation_data_structure;Triangulation_data_structure;

typedef

typedef Triangulation_2<GtTriangulation_2<Gt, , TdsTds > Triangulation;> Triangulation;

Types Types

Gt::Point_2Gt::Point_2 Gt::

Gt::Segment_2Segment_2 Gt::

Gt::Triangle_2Triangle_2 Triangulation::

Triangulation::Vertex Vertex inherits from inherits from Tds::VertexTds::Vertex Triangulation::

Triangulation::Face Face inherits from inherits from Tds::FaceTds::Face Triangulation::

Triangulation::Vertex_handleVertex_handle Triangulation::

Triangulation::Face_handleFace_handle

typedef

typedef pair<Face handle, intpair<Face handle, int> > Edge Edge ;; Triangulation::

Triangulation::Face_iteratorFace_iterator Triangulation::

Triangulation::Edge_iteratorEdge_iterator Triangulation::

Triangulation::Vertex_iteratorVertex_iterator Triangulation::

Triangulation::Line_face_circulatorLine_face_circulator Triangulation::

Triangulation::Face_circulatorFace_circulator Triangulation::

Triangulation::Edge_circulatorEdge_circulator Triangulation::

Triangulation::Vertex_circulatorVertex_circulator

(46)

High Level Functions High Level Functions

enumenum Locate_type {Locate_type { VERTEX=0, EDGE, FACE, VERTEX=0, EDGE, FACE, OUTSIDE_CONVEX_HULL, OUTSIDE_CONVEX_HULL, OUTSIDE_AFFINE_HULL}

OUTSIDE_AFFINE_HULL}

Face_handle

Face_handle locatelocate(( Point query, Point query, Locate_type&

Locate_type& ltlt,, int& int& lili,,

Face_handle h =Face_handle() );

Face_handle h =Face_handle() );

Vertex_handle

Vertex_handle insertinsert(Point p)(Point p) void

void removeremove(Vertex_handle v)(Vertex_handle v)

(47)

Insertion Insertion

Vertex handle insert (Point p) {

Locate type lt; int li;

Face handle loc = locate(p, lt, li);

switch(lt) {

case VERTEX : return f->vertex(li);

case EDGE :return insert_in_edge( p, loc,li);

case FACE :return insert_in_face(v,loc);

case OUTSIDE CH :return insert_outside ch(p,loc);

case OUTSIDE AH :return insert_outside ah(p);

} }

(48)

Performances Performances

Kilimandjaro elevation contour lines (38K segments)

(49)

Related Components Related Components

•• Voronoi diagramVoronoi diagram

•• Elevation (through traits class)Elevation (through traits class)

Courtesy IPF,Vienna University of Technology & Inpho GmbH

(50)

Outline Outline

SpecificationsSpecifications

DefinitionDefinition

Triangulations in CGALTriangulations in CGAL FeaturesFeatures

RepresentationRepresentation

As a set of facesAs a set of faces

Representation based on vertices and cellsRepresentation based on vertices and cells

Software designSoftware design

Traits classTraits class

Triangulation data structureTriangulation data structure

AlgorithmsAlgorithms

Point locationPoint location

ExamplesExamples

ExercisesExercises

(51)

Algorithms for Triangulation Algorithms for Triangulation

•• All CGAL triangulations are built through All CGAL triangulations are built through incremental

incremental onon--line insertion of vertices. line insertion of vertices.

•• The main algorithmic issue is therefore to deal with The main algorithmic issue is therefore to deal with point

point locationlocation. .

•• CGAL offers different algorithms :CGAL offers different algorithms :

linewalklinewalk Zigzag walkZigzag walk

jump and walk strategyjump and walk strategy the Delaunay hierarchythe Delaunay hierarchy

(52)

Efficient Localization Efficient Localization

• • Delaunay Hierarchy Delaunay Hierarchy

(53)

Outline Outline

SpecificationsSpecifications

DefinitionDefinition

Triangulations in CGALTriangulations in CGAL FeaturesFeatures

RepresentationRepresentation

As a set of facesAs a set of faces

Representation based on vertices and cellsRepresentation based on vertices and cells

Software designSoftware design

Traits classTraits class

Triangulation data structureTriangulation data structure

AlgorithmsAlgorithms

Point locationPoint location

ExamplesExamples

ExercisesExercises

(54)

#include <CGAL/Cartesian.h>

#include <CGAL/Cartesian.h>

#include <CGAL/Triangulation_2.h>

#include <CGAL/Triangulation_2.h>

using

using namespace CGAL;namespace CGAL;

using

using namespace std;namespace std;

typedef

typedef Cartesian<doubleCartesian<double> > KernelKernel;; typedef

typedef Triangulation_2<KernelTriangulation_2<Kernel> Triangulation;> Triangulation;

typedef

typedef Triangulation::Vertex_circulator Vertex_circulator;Triangulation::Vertex_circulator Vertex_circulator;

typedef

typedef Kernel::Point_2 Point;Kernel::Point_2 Point;

Triangulation t;

Triangulation t;

Point p;

Point p;

while

while(cin(cin >> p) t.insert(p);>> p) t.insert(p);

Vertex_circulator

Vertex_circulator vcvc = t.incident_vertices(t.infinite_vertex());= t.incident_vertices(t.infinite_vertex());

Vertex_circulator

Vertex_circulator done(vcdone(vc););

dodo

coutcout << << vc-vc->point();>point();

while

while(++vc(++vc != done);!= done);

(55)

Drawing Generators...

Drawing Generators...

template <

template <classclass kernel, classkernel, class TDS>TDS>

class

class DT2 : publicDT2 : public CGAL::Delaunay_triangulation_2<kernel,TDS>CGAL::Delaunay_triangulation_2<kernel,TDS>

{{

public:

public:

voidvoid gl_draw_generators()gl_draw_generators() {{

::glBegin::glBegin(GL_POINTS(GL_POINTS););

Point_iterator Point_iterator it;it;

for(it = points_begin();

for(it = points_begin();

it != points_end();

it != points_end();

it++) it++) {{

const Point& p = *it;

const Point& p = *it;

::glVertex2f(p.x(),p.y());

::glVertex2f(p.x(),p.y());

}}

::glEnd::glEnd();();

}} }}

(56)

Drawing Delaunay Edges...

Drawing Delaunay Edges...

voidvoid gl_draw_delaunay_edges()gl_draw_delaunay_edges() {{

::glBegin::glBegin(GL_LINES(GL_LINES););

Edge_iterator Edge_iterator it;it;

for(itfor(it = edges_begin(); = edges_begin();

it != edges_end();

it != edges_end();

it++) it++) {{

// edge =

// edge = std::pairstd::pair<<Face_handle,intFace_handle,int>>

Edge& edge = *it;

Edge& edge = *it;

const

const Point& p1 = edge.firstPoint& p1 = edge.first->->vertex(ccw(edge.secondvertex(ccw(edge.second))))-->point();>point();

const

const Point& p2 = edge.firstPoint& p2 = edge.first->->vertex(cw(edge.secondvertex(cw(edge.second))))-->point();>point();

::glVertex2f::glVertex2f(p1.x(), p1.y());(p1.x(), p1.y());

::glVertex2f::glVertex2f(p2.x(), p2.y());(p2.x(), p2.y());

}} ::

::glEndglEnd();();

}}

(57)

Drawing Voronoi Edges Drawing Voronoi Edges

voidvoid gl_draw_voronoi_edges()gl_draw_voronoi_edges() {{ ::glBegin::glBegin(GL_LINES(GL_LINES););

Edge_iterator

Edge_iteratorhEdge;hEdge;

for(hEdgefor(hEdge = edges_begin(); = edges_begin(); hEdgehEdge!= edges_end(); hEdge!= edges_end(); hEdge++) ++) {

{

CGAL::Object object =

CGAL::Object object = dual(hEdgedual(hEdge););

Segment segment;

Segment segment;

Ray ray;

Ray ray;

Point source, target;

Point source, target;

if(CGAL::assign(segment,object)) if(CGAL::assign(segment,object)) {{

source = segment.source();

source = segment.source();

target = segment.target();

target = segment.target();

} } else if

else if(CGAL::assign(ray,object)) (CGAL::assign(ray,object)) {{

source = ray.source();

source = ray.source();

target = ray.point(1);

target = ray.point(1);

}}

::glVertex2f::glVertex2f(source.x(),source.y());(source.x(),source.y());

::

::glVertex2fglVertex2f(target.x(),target.y());(target.x(),target.y());

} }

::glEnd::glEnd(); }(); }

(58)

Demo Demo

(59)

Applications Applications

• • Meshing Meshing

–– rendering, simulationrendering, simulation

• • Remeshing Remeshing

–– reverse engineeringreverse engineering

• • Efficient location Efficient location

• • Placement of streamlines Placement of streamlines

–– scientific visualizationscientific visualization

• • ... ...

(60)

Reverse Engineering Reverse Engineering

1. 1. Digitizing physical objects Digitizing physical objects

The Digital Michelangelo Project The Digital Michelangelo Project

point set point set

(61)

Reverse Engineering Reverse Engineering

1. 1. Digitizing physical objects Digitizing physical objects

2. 2. Representing the resulting dense point Representing the resulting dense point set with:

set with:

– – discrete surface discrete surface

•• e.g. triangle meshe.g. triangle mesh

– – mathematical surface mathematical surface

•• implicit functionimplicit function

•• ∑∑ radial basis functionsradial basis functions

•• NURBS patchesNURBS patches

•• etc.etc.

(62)

A Typical Pipeline A Typical Pipeline

DigitizationDigitization

physical object -physical object -> point set> point set

ReconstructionReconstruction

point set -point set -> surface> surface

Resampling / RemeshingResampling / Remeshing

ProcessingProcessing

e.g. denoising, smoothing, fairinge.g. denoising, smoothing, fairing

Segmentation / StructuringSegmentation / Structuring

EditingEditing

Storage & TransmissionStorage & Transmission

Simulation and/or VisualizationSimulation and/or Visualization

Browsing & RetrievalBrowsing & Retrieval

3D Printing3D Printing physical

digital

physical

(63)

Definition Definition

• • Isotropic Isotropic sampling: sampling:

– – Locally uniform in all directions Locally uniform in all directions – – Generate compact elements Generate compact elements

– – Used for simulation and processing Used for simulation and processing

(64)

Isotropic

Isotropic Sampling Sampling ? ?

(65)

1. 1. Global Parameterization Global Parameterization

(66)

Conformal Mapping Conformal Mapping

““A A well-well-shapedshaped element in parameter space will not element in parameter space will not be deformed too much once lifted in embedding be deformed too much once lifted in embedding space”

space”

(67)

2. 2. Initial Initial Sample Sample Repartition Repartition

Voronoi diagram

(68)

3. 3. Precise Precise Sample Sample Placement Placement

Lloyd Lloyd

centroidal Voronoi diagram

(69)

Uniform Remeshing Uniform Remeshing

50kV50kV

(70)

Non Non - - uniform uniform Remeshing Remeshing

(71)

Placement of Streamlines Placement of Streamlines

Abdelkrim

Abdelkrim Mebarki Mebarki , 2004 , 2004

(72)
(73)
(74)
(75)
(76)
(77)
(78)
(79)
(80)
(81)
(82)
(83)
(84)
(85)
(86)
(87)
(88)
(89)
(90)
(91)
(92)
(93)
(94)

Exercices

Exercices

Références

Documents relatifs

Our results revealed that children succeed in synchronizing their taps with an external tempo when it is close to their own SMT, as indicated by the high percentage of reinforced

Activation of the Constitutive Androstane Receptor induces hepatic lipogenesis and regulates Pnpla3 gene expression in a LXR-independent way...

We adopt a very simple economic model with only three agents: households allocate their income between consumption and saving; firms produce consumption and capital goods,

5 ( مﻼﻌﺘﺴﻻا : مﺎظﻨﻝا موﻘﻴ ﺎﻨرﺎﺒﺨﺈﺒ دوﻘﻔﻤ وأ فﻝﺎﺘ رﻴودﺘﻝا ، دﻴﻠﺠﺘﻝا ﻲﻓ ﻪﻨﺄﺒ ددﻋ لﻜ فﻗوﻤﺒ.. 5 - ةددﺤﻤ ﺔﻴﻨﻤز ةدﻤ لﻼﺨ ﺔﻨﻴﻌﻤ تﺎﻴرود ﻲﻓ كارﺘﺸﻻا دﻴدﺠﺘ ﺦﻴراوﺘﺒ رﻴرﻘﺘ

étudié dans le cadre de cette thèse correspond à un objet glacé qui orbite dans le système solaire externe pour arriver ensuite dans le système solaire interne sous la forme

glycolipids that were identified as product D and PGL-tb by TLC and MALDI-TOF analyses (Figure 3 and Figure S2). The presence of product D indicated that the Rv2957 gene carried

ﻥﻴﺘﻴﻵﺍ ﻥﻴﺘﺎﻫ ﻲﻓ ﻰﻨﻌﻤﻟﺍﻭ ّلﻜ ﻪﻤﻠﻌﻴ ﷲﺍ ﻥﻴﺩ ﻥﻤ ﺎﻤﻠﻋ ﻡﺘﻜ ﻥﻤ ، ﻡﻠﻌﻟﺍ ﺀﺍﻭﺴ ﻱﺫﹼﻟﺍ ﻭـﻫ لﻬﺠﻟﺍ ﺩﻀ ﻭﺃ ، ﻤ ﻭﻫ ﺎﻤﻋ لﻴﺩﺒﻟﺍ ﻡﻠﻌﻟﺍ ﺭ ﻓ ﻪـﻨﺍﻭﻟﺃ ﻑـﻠﺘﺨﻤ ﺩﺎﺴﻓ ﻥﻤ ﻊﻗﺍﻭﻟﺍ

La st r ucture subc l rculalre a un aspect très dlfférf!nt des deux autres et est de type mégallthlque : elles est délimitée par des blocs de granite plus ou moins gros et plantés