Introduction à l'algorithme de dessin au trait

Dans cet article, nous verrons un aperçu de l'algorithme de dessin au trait. Le dessin au trait sur l'ordinateur signifie que l'écran de l'ordinateur se divise en deux lignes et colonnes. Ces lignes et colonnes sont également appelées pixels. Dans le cas où nous devons tracer une ligne sur l'ordinateur, tout d'abord, nous devons savoir quels pixels doivent être allumés. Une ligne est une partie d'une ligne droite qui s'étend indéfiniment dans la direction opposée. La ligne est définie par deux points d'extrémité. Sa densité doit être distincte de la longueur de la ligne.
La formule pour une interception linéaire de la pente: Y = mx + b
Dans cette formule, m est une ligne de la pente et b est l'ordonnée à l'origine de y dans la ligne. Aux positions (x1, y1) et (x2, y2), deux extrémités sont spécifiées pour le segment de ligne.

La valeur de la pente m et b peut être déterminée en conséquence
• m = y2 - y1 / x2 - x1
• soit M = Δy / Δx

Exemple:

Les extrémités des lignes sont (0, 0) et (4, 12). Tracez le résultat pour calculer chaque valeur de y comme les étapes x de 0 à 4.

Solution:

Nous avons donc une formule d'équation de droite: Y = mx + b
• m = y2 - y1 / x2 - x1
• m = 12 - 0/4 - 0
• m = 3
L'ordonnée à l'origine b est ensuite trouvée en reliant y1 et x1 à la formule y = 3 x + b, 0 = 3 (0) + b. Par conséquent, b = 0, donc la formule de ligne y = 3x.
Le but est de déterminer le prochain emplacement x, y le plus rapidement possible par le précédent.

Types d'algorithme de dessin au trait

Voici les types d'algorithmes:

1. Algorithme différentiel numérique (DDA)

Une méthode de conversion incrémentielle est un algorithme DDA et nous avons également appelé algorithme différentiel numérique (DDA). Cette approche se caractérise par l'utilisation des résultats de l'étape précédente dans chaque calcul.

Voyons les exemples ci-dessous:

Exemple 1

La ligne de point final est (x1, y1) et (x2, y2)

  • dx = x2 - x1
  • dy = y2 - y1

Donc, maintenant, nous allons déterminer la longueur de la ligne si abs (dx)> = abs (dy) puis length = abs (dx) else length = abs (dy)

  • Δx = dx / longueur
  • Δy = dy / longueur
  • X = x1
  • Y = y1

Setpixel (rond (x), rond (y));

  • i = 1

tandis que (i <= longueur)

  • x = x + Δx;
  • y = y + Δy;

setpixel (rond (x), rond (y));
i = i + 1
fin pendant

Exemple # 2

Une ligne de points d'extrémité (5, 4) et (6, 9) peut être convertie avec le DDA.

Solution:
• dx = x2 - x1
• dx = 6 - 5 = 1
• dy = y2 - y1
• dy = 9 - 4

dy = 5
Comme, dx <dy alors,
• longueur = y2 - y1 = 5
• dx = (x2 - x1) / longueur = 1/5 = 0, 2
• dy = (y2- y1) / longueur = 5/5 = 1
x1 y1 x2 y2 L dx dy ixy

Résultat:

X1

Y1

X2

Y2

L

Dx

Dy

je

X

Oui

Résultat

3

2

4

sept

5

.2

1

0

3, 5

5.5

3.5, 5.5

1

3.9

1, 5

3.9, 1.5

2

4.9

3, 5

4.9, 3.5

3

5.1

7, 5

5.1, 7.5

4

3.7

4.5

3.7, 4.5

5

4.5

7, 5

4.5, 7, 5

Limitation de l'algorithme DDA

  • L'arithmétique des points flottants et arrondis est une procédure longue.
  • Une erreur d'arrondi peut conduire à une distance du véritable chemin de segment de longue ligne par l'emplacement de pixel mesuré.

2. L'algorithme de la ligne de Bresenham

L'algorithme de conversion de scan est l'algorithme de Bresenham. Cet algorithme offre le principal avantage de n'utiliser que des calculs entiers.

1. Points d'extrémité de la ligne et stocker le point d'extrémité gauche dans (x1, y1)
2. Pour que le paramètre de décision obtienne la première valeur Δx ie Dx, Δy ie Dy, 2 Δy et 2 Δx.
3. Initialiser le démarrage
4. Initialisez i = 1 comme compteur,
Sinon, le prochain point à tracer est (xk + 1, yk + 1) et répétez l'étape 4 (Δx - 1) fois.
Ajustement
Pour m> 1, nous pouvons dire si nous augmentons x à chaque fois que nous augmentons y.
Une fois la variable de décision pk résolue, la formule est très similaire, seuls les x et y de l'équation seront remplacés.

Résumé de l'algorithme de la ligne de Bresenham

Ce sont les avantages suivants pour l'algorithme de la ligne de Bresenham:
• Un algorithme incrémental rapide.
• Cela utilise uniquement des calculs entiers.
DDA a les problèmes suivants par rapport à l'algorithme DDA:
• La ligne pixellisée peut être éloignée de l'accumulation attendue d'erreurs d'arrondi.
• Il faut du temps pour arrondir les opérations et l'arithmétique en virgule flottante.

Articles recommandés

Cela a été un guide pour l'algorithme de dessin au trait. Nous discutons ici de ce qu'est l'algorithme de dessin au trait ainsi que des divers exemples. Vous pouvez également consulter les articles suivants pour en savoir plus–

  1. Algorithmes d'apprentissage automatique
  2. Algorithme SVM
  3. Régression linéaire simple
  4. Régression multivariée
  5. Comparaison entre la régression linéaire et la régression logistique

Catégorie: