une définition arithmétique du cercle de bresenham

58
Cercles discrets J.L. Tou- tant Geométrie discrète Connexité Droite Cercles Bresenham Analytique Comparaison Epaisseur variable Definition Conclusion et pers- pectives Une définition arithmétique du cercle de Bresenham J.L. Toutant LIRMM UMR 5506 CNRS-UMII Journées “Informatique et Géométrie” Lyon, juin 2006 JAMET D., FIORIO C. AND TOUTANT J.-L. Discrete Circle : An Arithmetical Approach with non Constant Thickness. Vision Geometry XIV, Electronic Imaging 2006, San José(USA), 2006.

Upload: others

Post on 11-Jan-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Une définition arithmétique du cercle de Bresenham

J.L. Toutant

LIRMMUMR 5506 CNRS-UMII

Journées “Informatique et Géométrie”Lyon, juin 2006

JAMET D., FIORIO C. AND TOUTANT J.-L.

Discrete Circle : An Arithmetical Approach with non Constant Thickness.Vision Geometry XIV, Electronic Imaging 2006, San José(USA), 2006.

Page 2: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Introduction

Caractérisation arithmétique des droites discrètes :pavage du plan,connexité,

caractérisation arithmétique des cercles discrets :pavage du plan,

utilisation d’une épaisseur non constante.

Page 3: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Plan

1 Géométrie discrèteConnexitéDroite

2 CerclesBresenhamAnalytiqueComparaison

3 Epaisseur variableDefinition

4 Conclusion et perspectives

Page 4: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Adjacence et connexité

Un point de Z2 est un pixel et un point de Zn, un voxel.

Definition (0-Adjacence)

Soient V = (V1, . . . , Vn) et V′ = (V ′1, . . . , V ′n).Les voxels V et V′ sont 0-voisins ou 0-adjacents si et seulement si :

‖V −V′‖∞ = max{|V1 − V ′1|, . . . , |Vn − V ′n|} = 1.

pixels voxels

Definition (0-Connexité)

Soit E un ensemble de voxel. Il est dit 0-connexe si pour chacun des couples de voxelsqu’il contient, il existe une chaîne de 0-voisins les reliant.

Page 5: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Adjacence et connexité

Un point de Z2 est un pixel et un point de Zn, un voxel.

Definition (0-Adjacence)

Soient V = (V1, . . . , Vn) et V′ = (V ′1, . . . , V ′n).Les voxels V et V′ sont 0-voisins ou 0-adjacents si et seulement si :

‖V −V′‖∞ = max{|V1 − V ′1|, . . . , |Vn − V ′n|} = 1.

pixels voxels

Definition (0-Connexité)

Soit E un ensemble de voxel. Il est dit 0-connexe si pour chacun des couples de voxelsqu’il contient, il existe une chaîne de 0-voisins les reliant.

Page 6: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Adjacence et connexité

Un point de Z2 est un pixel et un point de Zn, un voxel.

Definition (0-Adjacence)

Soient V = (V1, . . . , Vn) et V′ = (V ′1, . . . , V ′n).Les voxels V et V′ sont 0-voisins ou 0-adjacents si et seulement si :

‖V −V′‖∞ = max{|V1 − V ′1|, . . . , |Vn − V ′n|} = 1.

pixels voxels

Definition (0-Connexité)

Soit E un ensemble de voxel. Il est dit 0-connexe si pour chacun des couples de voxelsqu’il contient, il existe une chaîne de 0-voisins les reliant.

Page 7: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Droite discrète arithmétique

Droite discrète arithmétique

La droite discrète arithmétique D(n, µ, ω) de vecteur normal n = (a, b) ∈ R2,d’ordonnée à l’origine µ ∈ R et d’ épaisseur ω ∈ R+ est le sous-ensemble de Z2 définipar :

D(n, µ, ω) =n

(i, j) ∈ Z2 | −ω

2≤ ai + bj + µ <

ω

2

o. (1)

REVEILLÈS, J.-P.

Géométrie discrète, calcul en nombres entiers etalgorithmique.Thèse d’Etat, Université Louis Pasteur, Strasbourg, 1991.

Page 8: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de Bresenham et droite arithmétique

Droites naives

Une droite arithmétique discrète D(v, µ, ω) est naive si ω = ‖n‖∞.

Droite discrète naive.

Droite naive et tracé de Bresenham

La droite arithmétique naive D(v, µ, ‖n‖∞) décrit la droite de bresenham de mêmeparamètre.

BRESENHAM, J.

Algorithm for Computer Control of a Digital Plotter.IBM Systems Journal, 4(1), pp. 25-30, 1964.

Page 9: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Page 10: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Calcul sur un seul quadrant,

Initialisation sur un pixel trivial ducercle,

Détermination incrémental du pixelsuivant,

Page 11: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Calcul sur un seul quadrant,

Initialisation sur un pixel trivial ducercle,

Détermination incrémental du pixelsuivant,

Page 12: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Calcul sur un seul quadrant,

Initialisation sur un pixel trivial ducercle,

Détermination incrémental du pixelsuivant,

Page 13: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Calcul sur un seul quadrant,

Initialisation sur un pixel trivial ducercle,

Détermination incrémental du pixelsuivant,

Page 14: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Calcul sur un seul quadrant,

Initialisation sur un pixel trivial ducercle,

Détermination incrémental du pixelsuivant,

Page 15: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Calcul sur un seul quadrant,

Initialisation sur un pixel trivial ducercle,

Détermination incrémental du pixelsuivant,

Page 16: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Page 17: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

Page 18: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 19: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 20: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1

δ∆

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 21: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1

δ

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 22: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆∆

∆n+1

δ∆

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 23: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆

∆n+1

δ∆

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 24: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆

∆n+1

δ∆

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 25: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ∆

∆n+1

δ∆

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 26: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Tracé de cercle de J. Bresenham

δ

∆n+1

δ∆

∆n

BRESENHAM, J.

A Linear Algorithm for Incremental Digital Display of CircularArcs.Communication of the ACM, 20(2), pp. 100-106, 1977.

∆ = (in − 1)2 + (jn + 1)2 − r2

si ∆ < 0 −→ 1er octant : jn+1 = jn + 1

δ = i2n + (jn + 1)2 − r2

d = ∆ + δ

d > 0 : in+1 = in − 1 et ∆n+1 = ∆,d ≤ 0 : in+1 = in et ∆n+1 = δ,

si ∆ > 0 −→ 2nd octant : in+1 = in − 1

δ = (in − 1)2 + (jn)2 − r2

d = ∆ + δ

d > 0 : jn+1 = jn et ∆n+1 = δ,d ≤ 0 : jn+1 = jn + 1 et ∆n+1 = ∆.

Page 27: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Cercles de Bresenham

Page 28: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Cercles de Bresenham

Page 29: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Erreurs de tracé

Uniquement sur les diagonales et quand :

r2 = 2i2 − i + 1

n i r1 0 12 3 43 8 114 95 1345 264 3736 3 219 4 5527 8 960 12 6718 10 9343 154 6349 304 368 430 441

10 3 714 435 5 253 004. . . . . . . . .

KULPA, Z.

On the Properties of Discrete Circles, Rings, and Disks.Computer Graphics and Image Processing, 10, pp. 348-365, 1979.

MCILROY, M. D.

Best Approximate Circles on Integer Grids.ACM Transactions on Graphics, 2(4), pp. 237-263, 1983.

Page 30: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Cercle discret analytique

Cercle discret analytique

Le cercle discret analytique C(M0, r , ω) de centreM0 = (x0, y0) ∈ R2, de rayonr ∈ R?

+ et d’épaisseur ω ∈ R?+, est l’ensemble suivant de Z2 :

C(M0, r , ω) =

(i, j) ∈ Z2|

“r −

ω

2

”2≤ (i − x0)

2 + (j − y0)2 <

“r +

ω

2

”2ff

.

rr −

ω2

r +ω

2

ANDRES, E.

Discrete circles, rings and spheres.Computers & Graphics , 18(5), pp. 695-706, 1994.

ANDRES, E. AND JACOB M.-A.

The Discrete Analytical Hyperspheres.

IEEE Transactions on Visualization and Computer Graphics,

3(1), pp. 75-86, 1997.

Page 31: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétés des cercles analytiques

Pavage du plan par des cercles concentriques de rayon entier et d’épaisseurω = 1 (cercles réguliers) :

Pas de caractérisation de la connexité en fonction de l’épaisseur (minimalité).

Page 32: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Approche géométriqueApproximation par les tangentes

C(N0, r) : (x − i0)2 + (y − j0)

2 − r2 = 0

TMk(C) : 2(x− i0)(x−xk )+2(y− j0)(y−yk ) = 0

TMk(C) : −

‖(2(i − i0), 2(j − j0))‖∞2

≤ 2(i−i0)(i−xk )+2(i−j0)(i−yk ) <‖(2(i − i0), 2(j − j0))‖∞

2

Cercles discrets ?

C(N0, r) : −‖(2(i − i0), 2(j − j0))‖∞

2≤ (i − i0)

2 + 2(j − j0)2 − r2

<‖(2(i − i0), 2(j − j0))‖∞

2

Page 33: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Approche géométriqueApproximation par les tangentes

C(N0, r) : (x − i0)2 + (y − j0)

2 − r2 = 0

TMk(C) : 2(x− i0)(x−xk )+2(y− j0)(y−yk ) = 0

TMk(C) : −

‖(2(i − i0), 2(j − j0))‖∞2

≤ 2(i−i0)(i−xk )+2(i−j0)(i−yk ) <‖(2(i − i0), 2(j − j0))‖∞

2

Cercles discrets ?

C(N0, r) : −‖(2(i − i0), 2(j − j0))‖∞

2≤ (i − i0)

2 + 2(j − j0)2 − r2

<‖(2(i − i0), 2(j − j0))‖∞

2

Page 34: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Approche géométriqueApproximation par les tangentes

C(N0, r) : (x − i0)2 + (y − j0)

2 − r2 = 0

TMk(C) : 2(x− i0)(x−xk )+2(y− j0)(y−yk ) = 0

TMk(C) : −

‖(2(i − i0), 2(j − j0))‖∞2

≤ 2(i−i0)(i−xk )+2(i−j0)(i−yk ) <‖(2(i − i0), 2(j − j0))‖∞

2

Cercles discrets ?

C(N0, r) : −‖(2(i − i0), 2(j − j0))‖∞

2≤ (i − i0)

2 + 2(j − j0)2 − r2

<‖(2(i − i0), 2(j − j0))‖∞

2

Page 35: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Approche géométriqueApproximation par les tangentes

C(N0, r) : (x − i0)2 + (y − j0)

2 − r2 = 0

TMk(C) : 2(x− i0)(x−xk )+2(y− j0)(y−yk ) = 0

TMk(C) : −

‖(2(i − i0), 2(j − j0))‖∞2

≤ 2(i−i0)(i−xk )+2(i−j0)(i−yk ) <‖(2(i − i0), 2(j − j0))‖∞

2

Cercles discrets ?

C(N0, r) : −‖(2(i − i0), 2(j − j0))‖∞

2≤ (i − i0)

2 + 2(j − j0)2 − r2

<‖(2(i − i0), 2(j − j0))‖∞

2

Page 36: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Approche géométriqueApproximation par les tangentes

C(N0, r) : (x − i0)2 + (y − j0)

2 − r2 = 0

TMk(C) : 2(x− i0)(x−xk )+2(y− j0)(y−yk ) = 0

TMk(C) : −

‖(2(i − i0), 2(j − j0))‖∞2

≤ 2(i−i0)(i−xk )+2(i−j0)(i−yk ) <‖(2(i − i0), 2(j − j0))‖∞

2

Cercles discrets ?

C(N0, r) : −‖(2(i − i0), 2(j − j0))‖∞

2≤ (i − i0)

2 + 2(j − j0)2 − r2

<‖(2(i − i0), 2(j − j0))‖∞

2

Page 37: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Approche analytiqueTransposition du comportement des droites discrètes arithmétiques

Droites discrètes naives

da,b,µ : R2 −→R(x , y)7−→ax + by + µ

a et b sont les dérivées partielles de d . On obtient une droite discrète naive enappliquant ‖ · ‖∞ au vecteur (∂x d , ∂y d).

−‖(∂x d(i, j), ∂y d(i, j))‖∞

2≤ d(i, j) <

‖(∂x d(i, j), ∂y d(i, j))‖∞2

Cercles discrets ?

cN0,r : R2 −→R(x , y)7−→(x − i0)2 + (y − j0)2 − r2

−‖(∂x c(i, j), ∂y c(i, j))‖∞

2≤ c(i, j) <

‖(∂x c(i, j), ∂y c(i, j))‖∞2

Page 38: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Approche analytiqueTransposition du comportement des droites discrètes arithmétiques

Droites discrètes naives

da,b,µ : R2 −→R(x , y)7−→ax + by + µ

a et b sont les dérivées partielles de d . On obtient une droite discrète naive enappliquant ‖ · ‖∞ au vecteur (∂x d , ∂y d).

−‖(∂x d(i, j), ∂y d(i, j))‖∞

2≤ d(i, j) <

‖(∂x d(i, j), ∂y d(i, j))‖∞2

Cercles discrets ?

cN0,r : R2 −→R(x , y)7−→(x − i0)2 + (y − j0)2 − r2

−‖(∂x c(i, j), ∂y c(i, j))‖∞

2≤ c(i, j) <

‖(∂x c(i, j), ∂y c(i, j))‖∞2

Page 39: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Cercle discret minimal intérieur

Definition

SoitN0 = (i0, j0) ∈ R2, r ∈ R+.Le cercle discret minimal intérieur C(N0, r) de centreN0 et de rayon r est l’ensemblesuivant :

C(N0, r) =

(i, j) ∈ Z2 | −

‖ (2(i − i0), 2(j − j0)) ‖∞2

≤ c(i, j) <‖ (2(i − i0), 2(j − j0)) ‖∞

2

ff.

Page 40: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési > j > 0

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i, j) : −i ≤ i2 + j2 − r2 < i

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 41: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési > j > 0

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i−1, j−1) : −(i − 1) ≤ (i−1)2+(j−1)2−r2 < i − 1(i − 1, j) : −(i − 1) ≤ (i − 1)2 + j2 − r2 < i − 1(i, j) : −i ≤ i2 + j2 − r2 < i(i + 1, j) : −(i + 1) ≤ (i + 1)2 + j2 − r2 < i + 1(i +1, j +1) : −(i + 1) ≤ (i+1)2+(j+1)2−r2 < i + 1

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 42: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési > j > 0

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i −1, j −1) : i + 2j − 1 ≤ i2 + j2 − r2 < 3i + 2j − 3(i − 1, j) : i ≤ i2 + j2 − r2 < 3i − 2(i, j) : −i ≤ i2 + j2 − r2 < i(i + 1, j) : −3i − 2 ≤ i2 + j2 − r2 < −i(i + 1, j + 1) : −3i −2j +3 ≤ i2 + j2 − r2 < −i − 2j − 1

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 43: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési > j > 0

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i, j) : −i ≤ i2 + j2 − r2 < i

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 44: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési > j > 0

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i−1, j +1) : −(i − 1) ≤ (i−1)2+(j−1)2−r2 < i − 1(i, j + 1) : −i ≤ (i − 1)2 + j2 − r2 < i(i, j) : −i ≤ i2 + j2 − r2 < i(i, j − 1) : −i ≤ (i + 1)2 + j2 − r2 < i(i +1, j−1) : −(i + 1) ≤ (i+1)2+(j−1)2−r2 < i + 1

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 45: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési > j > 0

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i−1, j +1) : i − 2j − 1 ≤ i2 + j2 − r2 < 3i − 2j − 3(i, j + 1) : −i − 2j − 1 ≤ i2 + j2 − r2 < i − 2j − 1(i, j) : −i ≤ i2 + j2 − r2 < i(i, j − 1) : −i + 2j − 1 ≤ i2 + j2 − r2 < i + 2j − 1(i +1, j−1) : −3i +2j −3 ≤ i2 + j2 − r2 < −i + 2j − 1

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 46: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési = j

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i, i) : −i ≤ i2 + i2 − r2 < i

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 47: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési = j

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i − 1, i) : −i ≤ (i − 1)2 + i2 − r2 < i(i, i) : −i ≤ i2 + i2 − r2 < i(i, i − 1) : −i ≤ i2 + (i − 1)2 − r2 < i

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 48: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési = j

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i − 1, i) : i − 1 ≤ i2 + i2 − r2 < 3i − 1(i, i) : −i ≤ i2 + i2 − r2 < i(i, i − 1) : i − 1 ≤ i2 + i2 − r2 < 3i − 1

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 49: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Propriétési = j

Minimalité sur chaque octant,

Erreurs sur les diagonales quandr2 = 2i2 − i + 1.

(i − 1, i) : i − 1 ≤ i2 + i2 − r2 < 3i − 1(i, i) : −i ≤ i2 + i2 − r2 < i(i, i − 1) : i − 1 ≤ i2 + i2 − r2 < 3i − 1

(i, j)

(i − 1, i)

(i, i − 1)

(i, j + 1)

(i − 1, j + 1)

(i, j − 1)

(i + 1, j − 1)

(i − 1, j)

(i − 1, j − 1)

(i + 1, j)

(i + 1, j + 1)

r2 = 2i2 − i + 1

Page 50: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Cercle discret minimal intérieur et tracé de Bresenham

Théorème

SoitN0 = (i0, j0) ∈ Z2 et r tel que r2 ∈ N. Le cercle de Bresenham B(N0, r) est lecercle discret minimal intérieur C(N0, r) :

C(N0, r) = B(N0, r).

Preuve

critère de décision pour le tracé de Bresenham : i − 2j − 32 ,

critère de décision pour le cercle discret minimal intérieur : i − 2j − 1.

Les paramètres sont tous entiers, donc les deux critères sont équivalents.

Page 51: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Conclusion

Résultat principal

Caractérisation arithmétique des tracés de cercles algorithmiques typeBresenham,

Définition de cercles naifs pour tout rayon entier.

Originalité de l’approche

L’épaisseur de la définition arithmétique n’est pas constante comme jusqu’ici maisdépendante du comportement local de la courbe (les dérivées partielles).

Page 52: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Perspectives

Cercles à paramètres non entiers

Extension du tracé de Bresenham pour des coordonnées de centre et des rayons nonentiers

PHAM, S.

Digital Circles with Non-Lattice Point Centers.

The Visual Computer, 9(1), pp. 1-24, 1992.

Dimensions supérieures

Courbes discrètes

Page 53: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Perspectives

Cercles à paramètres non entiers

Extension du tracé de Bresenham pour des coordonnées de centre et des rayons nonentiers

PHAM, S.

Digital Circles with Non-Lattice Point Centers.

The Visual Computer, 9(1), pp. 1-24, 1992.

Dimensions supérieures

Extension naturelle de la définition en dimensions supérieures,

Nombreuses erreurs de tracés.

Courbes discrètes

Page 54: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Perspectives

Cercles à paramètres non entiers

PHAM, S.

Digital Circles with Non-Lattice Point Centers.

The Visual Computer, 9(1), pp. 1-24, 1992.

Dimensions supérieures

Courbes discrètes

Page 55: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Perspectives

Cercles à paramètres non entiers

Extension du tracé de Bresenham pour des coordonnées de centre et des rayons nonentiers

PHAM, S.

Digital Circles with Non-Lattice Point Centers.

The Visual Computer, 9(1), pp. 1-24, 1992.

Dimensions supérieures

Courbes discrètes

Page 56: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Perspectives

Cercles à paramètres non entiers

Extension du tracé de Bresenham pour des coordonnées de centre et des rayons nonentiers

PHAM, S.

Digital Circles with Non-Lattice Point Centers.

The Visual Computer, 9(1), pp. 1-24, 1992.

Dimensions supérieures

Courbes discrètes

Extension de la définition des cercles à d’autres courbes discrètes.

Page 57: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Perspectives

Cercles à paramètres non entiers

PHAM, S.

Digital Circles with Non-Lattice Point Centers.

The Visual Computer, 9(1), pp. 1-24, 1992.

Dimensions supérieures

Courbes discrètes

Page 58: Une définition arithmétique du cercle de Bresenham

Cerclesdiscrets

J.L. Tou-tant

GeométriediscrèteConnexité

Droite

CerclesBresenham

Analytique

Comparaison

EpaisseurvariableDefinition

Conclusionet pers-pectives

Perspectives

Cercles à paramètres non entiers

Extension du tracé de Bresenham pour des coordonnées de centre et des rayons nonentiers

PHAM, S.

Digital Circles with Non-Lattice Point Centers.

The Visual Computer, 9(1), pp. 1-24, 1992.

Dimensions supérieures

Courbes discrètes