Courbes d'infographie

En infographie, nous avons souvent besoin de dessiner différents types d'objets sur l'écran. Les objets ne sont pas toujours plats et nous devons dessiner des courbes plusieurs fois pour dessiner un objet.

Types de courbes

Une courbe est un ensemble infiniment grand de points. Chaque point a deux voisins à l'exception des points d'extrémité. Les courbes peuvent être globalement classées en trois catégories -explicit, implicit, et parametric curves.

Courbes implicites

Les représentations de courbes implicites définissent l'ensemble de points sur une courbe en utilisant une procédure qui permet de tester pour voir si un point se trouve sur la courbe. Habituellement, une courbe implicite est définie par une fonction implicite de la forme -

f (x, y) = 0

Il peut représenter des courbes à plusieurs valeurs (plusieurs valeurs y pour une valeur x). Un exemple courant est le cercle, dont la représentation implicite est

x2 + y2 - R2 = 0

Courbes explicites

Une fonction mathématique y = f (x) peut être représentée sous forme de courbe. Une telle fonction est la représentation explicite de la courbe. La représentation explicite n'est pas générale, car elle ne peut pas représenter des lignes verticales et est également à valeur unique. Pour chaque valeur de x, une seule valeur de y est normalement calculée par la fonction.

Courbes paramétriques

Les courbes de forme paramétrique sont appelées courbes paramétriques. Les représentations de courbes explicites et implicites ne peuvent être utilisées que lorsque la fonction est connue. En pratique, les courbes paramétriques sont utilisées. Une courbe paramétrique bidimensionnelle a la forme suivante -

P (t) = f (t), g (t) ou P (t) = x (t), y (t)

Les fonctions f et g deviennent les coordonnées (x, y) de n'importe quel point de la courbe, et les points sont obtenus lorsque le paramètre t varie sur un certain intervalle [a, b], normalement [0, 1].

Courbes de Bézier

La courbe de Bézier est découverte par l'ingénieur français Pierre Bézier. Ces courbes peuvent être générées sous le contrôle d'autres points. Des tangentes approximatives à l'aide de points de contrôle sont utilisées pour générer une courbe. La courbe de Bézier peut être représentée mathématiquement par -

$$ \ sum_ {k = 0} ^ {n} P_ {i} {B_ {i} ^ {n}} (t) $$

Où $ p_ {i} $ est l'ensemble des points et $ {B_ {i} ^ {n}} (t) $ représente les polynômes de Bernstein qui sont donnés par -

$$ {B_ {i} ^ {n}} (t) = \ binom {n} {i} (1 - t) ^ {ni} t ^ {i} $$

n est le degré polynomial, i est l'indice, et t est la variable.

La courbe de Bézier la plus simple est la droite allant du point $ P_ {0} $ à $ P_ {1} $. Une courbe de Bézier quadratique est déterminée par trois points de contrôle. Une courbe de Bézier cubique est déterminée par quatre points de contrôle.

Propriétés des courbes de Bézier

Les courbes de Bézier ont les propriétés suivantes -

  • Ils suivent généralement la forme du polygone de contrôle, qui se compose des segments joignant les points de contrôle.

  • Ils passent toujours par les premier et dernier points de contrôle.

  • Ils sont contenus dans la coque convexe de leurs points de contrôle définissant.

  • Le degré du polynôme définissant le segment de courbe est un de moins que le nombre de points de polygone de définition. Par conséquent, pour 4 points de contrôle, le degré du polynôme est 3, c'est-à-dire un polynôme cubique.

  • Une courbe de Bézier suit généralement la forme du polygone de définition.

  • La direction du vecteur tangent aux extrémités est la même que celle du vecteur déterminé par le premier et le dernier segments.

  • La propriété de coque convexe pour une courbe de Bézier garantit que le polynôme suit en douceur les points de contrôle.

  • Aucune ligne droite ne coupe une courbe de Bézier plus de fois qu'elle ne croise son polygone de contrôle.

  • Ils sont invariants sous une transformation affine.

  • Les courbes de Bézier présentent des moyens de contrôle global, le déplacement d'un point de contrôle modifie la forme de la courbe entière.

  • Une courbe de Bézier donnée peut être subdivisée en un point t = t0 en deux segments de Bézier qui se rejoignent au point correspondant à la valeur du paramètre t = t0.

Courbes B-Spline

La courbe de Bézier produite par la fonction de base de Bernstein a une flexibilité limitée.

  • Tout d'abord, le nombre de sommets de polygones spécifiés fixe l'ordre du polynôme résultant qui définit la courbe.

  • La deuxième caractéristique limite est que la valeur de la fonction de fusion est différente de zéro pour toutes les valeurs de paramètre sur toute la courbe.

La base B-spline contient la base de Bernstein comme cas particulier. La base B-spline est non globale.

Une courbe B-spline est définie comme une combinaison linéaire de points de contrôle Pi et de la fonction de base B-spline $ N_ {i,} $ k (t) donnée par

$ C (t) = \ sum_ {i = 0} ^ {n} P_ {i} N_ {i, k} (t), $ $ n \ geq k-1, $ $ t \: \ epsilon \: [ tk-1, tn + 1] $

Où,

  • {$ p_ {i} $: i = 0, 1, 2… .n} sont les points de contrôle

  • k est l'ordre des segments polynomiaux de la courbe B-spline. L'ordre k signifie que la courbe est composée de segments polynomiaux par morceaux de degré k - 1,

  • les $ N_ {i, k} (t) $ sont les «fonctions de fusion B-spline normalisées». Ils sont décrits par l'ordre k et par une suite non décroissante de nombres réels appelée normalement «séquence de nœuds».

$$ {t_ {i}: i = 0, ... n + K} $$

Les fonctions N i , k sont décrites comme suit -

$$ N_ {i, 1} (t) = \ left \ {\ begin {matrix} 1, & if \: u \: \ epsilon \: [t_ {i,} t_ {i + 1}) \\ 0 , & Sinon \ end {matrice} \ right. $$

et si k> 1,

$$ N_ {i, k} (t) = \ frac {t-t_ {i}} {t_ {i + k-1}} N_ {i, k-1} (t) + \ frac {t_ {i + k} -t} {t_ {i + k} - t_ {i + 1}} N_ {i + 1, k-1} (t) $$

et

$$ t \: \ epsilon \: [t_ {k-1}, t_ {n + 1}) $$

Propriétés de la courbe B-spline

Les courbes B-spline ont les propriétés suivantes -

  • La somme des fonctions de base B-spline pour toute valeur de paramètre est 1.

  • Chaque fonction de base est positive ou nulle pour toutes les valeurs de paramètre.

  • Chaque fonction de base a précisément une valeur maximale, sauf pour k = 1.

  • L'ordre maximum de la courbe est égal au nombre de sommets du polygone de définition.

  • Le degré du polynôme B-spline est indépendant du nombre de sommets du polygone de définition.

  • La B-spline permet le contrôle local de la surface de la courbe car chaque sommet affecte la forme d'une courbe uniquement sur une plage de valeurs de paramètres où sa fonction de base associée est différente de zéro.

  • La courbe présente la propriété de diminution de la variation.

  • La courbe suit généralement la forme du polygone de définition.

  • Toute transformation affine peut être appliquée à la courbe en l'appliquant aux sommets du polygone de définition.

  • La ligne courbe dans la coque convexe de son polygone de définition.