Arrangements of Conic Arcs Athanasios K AKARGIAS a joint work with - - PowerPoint PPT Presentation

arrangements of conic arcs
SMART_READER_LITE
LIVE PREVIEW

Arrangements of Conic Arcs Athanasios K AKARGIAS a joint work with - - PowerPoint PPT Presentation

Arrangements of Conic Arcs Athanasios K AKARGIAS a joint work with Elias T SIGARIDAS Ioannis E MIRIS Monique T EILLAUD Sylvain P ION 2004 Outline 1. Arrangements Intro 2. CGAL Introduction 3. The Curved Kernel 4. The Algebraic Kernel 5. The


slide-1
SLIDE 1

Arrangements of Conic Arcs

Athanasios KAKARGIAS a joint work with Elias TSIGARIDAS Ioannis EMIRIS Monique TEILLAUD Sylvain PION 2004

slide-2
SLIDE 2

Outline

  • 1. Arrangements Intro
  • 2. CGAL Introduction
  • 3. The Curved Kernel
  • 4. The Algebraic Kernel
  • 5. The Arrangement Traits
slide-3
SLIDE 3

Arrangement of Lines

slide-4
SLIDE 4

Arrangement of Circular Arcs

slide-5
SLIDE 5

Arrangement of Circular Arcs

Details

slide-6
SLIDE 6

Arrangement of Elliptic Arcs

slide-7
SLIDE 7

CGAL Introduction

slide-8
SLIDE 8

Program anatomy

Data Structures Algorithm Data Type

slide-9
SLIDE 9

Library anatomy

Adaptors : Traits classes

Data Structures Algorithms Traits Data Types

slide-10
SLIDE 10

Concepts, Models

in short

  • Concepts define Interfaces and reside in the documentation
  • Models provide Implementation and reside in the sources
slide-11
SLIDE 11

The Geometric Primitives

A collection that contains among others

  • Point
  • Line
  • Segment
  • Circle
  • Conic
slide-12
SLIDE 12

The basic Geometric Data Structures

a collection that contains among others

  • Polygons
  • Half-edge data structures
  • Topological maps
  • Triangulations
  • Multidimensional search trees
slide-13
SLIDE 13

The Geometric Algorithms

are parametrized by

  • The Data Structures
  • A Traits class
slide-14
SLIDE 14

The Traits classes

define interface between

  • The Data Structures
  • Algorithm
  • Primitives
slide-15
SLIDE 15

The Kernel

factoring out common Traits functionality

⇒ ⇒

slide-16
SLIDE 16

The Geometric Kernel

groups

  • constant-size non-modifiable Geometric Primitive objects ( Point, Line )
  • operations on the above objects ( ccw(), less xy() )

has models

  • CGAL::Cartesian
  • CGAL::Homogeneous
slide-17
SLIDE 17

extending/exchanging the Kernel

slide-18
SLIDE 18

The Curved Kernel

slide-19
SLIDE 19

The Curved Kernel

is parametrized by

  • A Linear Kernel ( Circles, Conics, Points )
  • An Algebraic Kernel ( Algebraic Number Type, Equation Type )

extends/defines

  • Conic
  • Conic arcs
  • Intersection, End Points of Conics
slide-20
SLIDE 20

The Conic

is extended to

  • Operate with Conic arc Endpoints
  • Provide the implicit equation
slide-21
SLIDE 21

The Conic arc

is defined by

  • A supporting Conic
  • A pair of Conic arc Endpoints
slide-22
SLIDE 22

The Conic arc Endpoint

is defined by

  • A pair of Conics that intersect on this point ( implicit representation )
  • A Point with coordinates of Algebraic NT ( explicit representation )
slide-23
SLIDE 23

The Algebraic Kernel

slide-24
SLIDE 24

The Algebraic Kernel

is parametrized by

  • A ring number type

defines

  • Bivariate polynomials
  • Algebraic numbers of degree up to 4

has model

  • ECG::Synaps kernel
slide-25
SLIDE 25

Bivariate Polynomial

supports

  • Sign at a pair of algebraic numbers
  • Symbolic solve producing pairs of algebraic numbers
  • Derivative wrt y

has models

  • Synaps::BPoly 2 2
  • Synaps::mpol
slide-26
SLIDE 26

Algebraic Number Type

supports

  • Three valued comparisons
  • Sign

has models

  • Synaps::root of
  • leda::real ( with diamond operator )
  • CORE::Expr
slide-27
SLIDE 27

Algebraic Predicates

  • Sign compare( RootOf , RootOf )
  • Sign sign( RootOf )
  • Sign sign at( BPoly , Pair< RootOf > )
  • Sequence< Pair< RootOf > > solve( BPoly , BPoly )
slide-28
SLIDE 28

The Arrangement Traits

slide-29
SLIDE 29

The Arrangement Traits

defines

  • An x monotone curve
  • Geometric Predicates on x monotone curves

has model

  • ECG::Conic arc traits
  • CGAL::Arr conic traits 2
slide-30
SLIDE 30

Geometric Predicates for Arrangement of curves

  • Point comparisons in x, y and xy order
  • Curve comparisons in y order
  • Curve - Point comparisons in x and y order
  • Curve - Curve intersection
  • Curve test/make x monotone
  • Curve split at a point
slide-31
SLIDE 31

Nearest Intersection to the right g2 g1

γ

  • Algebraic::solve
  • Algebraic::compare
slide-32
SLIDE 32

Point, Curve Compare y at x

  • Algebraic::sign at
  • Algebraic::diff
slide-33
SLIDE 33

Bibliography

  • Experimenting with the Curved Kernel.

Athanasios Kakargias , Sylvain Pion. Technical Report ECG-TR-302206-02, INRIA Sophia-Antipolis, 2003.

  • Comparison of fourth-degree algebraic numbers and

applications to geometric predicates. I.Z. Emiris and E.P . Tsigaridas. Technical Report ECG-TR-302206-03, INRIA Sophia-Antipolis, 2003.

  • Towards an Open Curved Kernel.

Ioannis Z. Emiris, Athanasios Kakargias, Sylvain Pion, Monique Teillaud, Elias P . Tsigaridas ACM Symposium of Computational Geometry 2004 - to appear

slide-34
SLIDE 34

The End