Loading
Notes d'étude
Study Reminders
Support
Text Version

Représentation de la spline

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Bonjour et bienvenue à la conférence numéro 8 dans le cours Computer Graphics.
Aujourd'hui, nous allons discuter en détail de ces deux types de splines. En plus de cela, nous allons parler de la façon dont ces splines peuvent être utilisées pour représenter des courbes et des surfaces en infographie. Commençons par l'idée d'interpoler les splines.
Si vous vous souvenez, l'interpolation des splines est celle où nous définissons un ensemble de points de contrôle et la courbe spline passe à travers ces points. Et nous avons aussi mentionné 3 splines d'interpolation populaires. À savoir la spline cubique naturelle, les splines cubiques d'Hermite et les splines cubiques Cardinal, les 3 sont des splines interpolantes, ce qui signifie qu'elles sont définies par des points de contrôle qui passent par les courbes de Spline. Alors, maintenant, allez dans une discussion détaillée sur chacun de ces types populaires. Nous allons commencer par la spline cubique naturelle.
Juste un peu d'histoire. Donc c'est l'une des premières splines. Cela a été utilisé dans les applications graphiques d'ordinateur. Et comme son nom l'indique, puisqu'il s'agit d'une spline cubique, elle est composée de pièces de polynômes de troisième degré.
Maintenant, chaque pièce, chacune des pièces polynomiales est définie par 4 points de contrôle, on peut les dénoter comme p0, p1, p2, p3. Il est rappelé que lorsque nous parlons d'interpolation polynomiale, ce que nous avons mentionné précédemment, c'est que si nous utilisons un polynôme de degré n, alors nous allons avoir n plus 1 points de contrôle. Donc, de la même façon ici, puisque le degré est trois, nous avons donc 4 points de contrôle.
Dans le cas des splines cubiques naturelles, deux points de contrôle p0 et p3 dénotent deux points limites qui signifie la valeur limite du paramètre u so p0 fait référence au point où u = 0 et p3 fait référence au point où u = 1. Maintenant, les deux autres points de contrôle dénotent essentiellement le premier et le second dérivé au point de départ qui est égal à 0. Donc, deux points de contrôle sont essentiellement des points sur les courbes p0 et p3, qui représente les deux points limites et les deux autres points ne sont pas des points sur les Courbes, plutôt les premiers et les dérivés de second ordre par rapport au paramètre u à u égal à 0.
Essons maintenant de représenter cette spline à l'aide de l'une des techniques de représentation. Par conséquent, rappelait encore une fois que la spline peut être représentée de l'une des deux façons, à savoir une représentation de matrice de base et une représentation de fonction de mélange. Nous avons également mentionné qu'ils sont équivalents. Donc, toute représentation est assez bonne. Maintenant, dans le contexte des représentations d'interpolation, nous allons essayer de les représenter à l'aide du formulaire de matrice de base.
Donc, en cas de spline cubique naturelle, puisque nous utilisons un polynôme cubique, les équations des pièces polynomiales générales devraient ressembler à ceci. Où a0, a1, a2 et a3 sont des coefficients, u est le paramètre. Maintenant nous savons déjà que p0 ou le point de contrôle p0 et le point de contrôle p1 point de contrôle p2, il doit être p2 et le point de contrôle p3 ont une signification spécifique, donc p0 et p3 représentent le point aux bornes. Donc, alors on peut mettre en place les équations, quelque chose comme ça, p0 est la valeur de fonction à u égale à 0 que nous pouvons obtenir en remplaçant u par 0.
Donc, nous aurons a0, 0.a1, 0 carré a2, 0 cube a3 juste remplacer 0, remplacer u par 0. De même pour p3, la valeur de la fonction est égale à 1. Donc, dans ce cas on remplace u par 1 et on a quelque chose comme ça. Ces deux équations sont des équations correspondant aux points de contrôle, p0 et p3, p1 et p2, comme nous l'avons dit, le premier ordre et le dérivé de second ordre à u égal à 0. Donc, p1 est le dérivé du premier ordre, p2 est le dérivé du second ordre par rapport à u.
Maintenant, si nous calculons les dérivées, puis remplacez u par la valeur 0 en cas de p1, ce que nous allons obtenir va obtenir une équation, quelque chose comme ça. Vous pouvez essayer vous-même d'obtenir d'abord le dérivé, puis de remplacer les valeurs de u par 0. Maintenant, nous calculons à nouveau le dérivé pour obtenir le dérivé du second ordre à u égal à 0 correspondant à p2, puis remplacer u par 0 à nouveau. Et on obtient une équation quelque chose comme ça.
Donc, ces 4 équations représentent le système d'équations que nous pouvons obtenir en utilisant les caractéristiques du point de contrôle. A partir de ces équations, à partir de ces équations, nous pouvons calculer la matrice de base. Comment on peut faire ça, on peut d'abord construire la matrice de contraintes en prenant simplement ces valeurs attachées aux coefficients et ensuite on prend l'inverse de ça pour obtenir la matrice de base.
Alors, quelle est la matrice de contraintes? Revenons à l'équation ici. Donc, de là ce que nous obtenons, comme nous pouvons le voir, 1, 0, 0, 0, c'est la première ligne. 0 1 0 0. Il s'agit de la deuxième ligne, 0 0, 2 et 0, c'est la troisième ligne et enfin 1, 1, 1, 1. C'est la quatrième rangée. Donc, juste en utilisant ces valeurs, nous obtenons la matrice constante C. Maintenant, pour obtenir la matrice de base ce que nous devons faire, nous devons prendre l'inverse de C, comment calculer l'inverse que nous ne discuterons pas ici, bien sûr, parce que c'est une connaissance de base. Et vous pouvez vous référer à n'importe quel livre sur la matrice de base. De plus, vous pouvez vous référer à l'annexe du document de référence qui sera mentionné à la fin de cette conférence pour apprendre comment obtenir l'inverse d'une matrice, en supposant que nous le savons déjà. Donc, si c'est notre matrice de contraintes C et si on prend l'inverse, la matrice que nous allons obtenir est celle-ci. Et c'est la matrice de base pour la spline cubique naturelle.
Alors, rappelons-le la série d'étapes que nous avons suivies pour obtenir la matrice de base d'abord nous avons défini les points de contrôle puis en utilisant ces points de contrôle. Nous avons mis en place le système d'équations et à partir des équations nous avons formulé la matrice de contrainte C. Puis nous avons pris l'inverse de C pour obtenir la matrice de base, puisque la matrice de base est la matrice caractéristique pour les polynômes cubiques et que la spline cubique naturelle, sont composés de polynômes cubiques.
Donc, on peut dire que cette matrice de base, qui est des caractéristiques du polynôme cubique est assez bonne pour représenter la spline cubique naturelle. Nous suivrons donc cette argumentation comme nous l'avons vu lors de la conférence précédente.
Donc, si on utilise simplement la matrice, on peut dire qu'il s'agit de la spline cubique naturelle au lieu de spécifier les équations ou quoi que ce soit. Maintenant, une autre propriété importante ici que ces splines cubiques sont qu'elles soutiennent les conditions de continuité jusqu'à C2 continuité, la continuité paramétrique jusqu'à C2 qui signifie qu'elles soutiennent la continuité C0, C1 continuité et C2 continue.
Mais le problème est que les splines cubiques n'ont pas de contrôlabilité locale. Cela signifie que si nous avons une spline et que nous voulons changer légèrement sa forme en modifiant un très petit nombre de points sur la courbe, alors nous devons recalculé la courbe entière plutôt que la ré-informatique, seule la zone localisée.
Il s'agit donc essentiellement d'une approche très inefficace. Par exemple, supposons que j'ai une courbe comme celle-ci et que je veux changer cette partie à quelque chose de ce genre, mais au lieu de simplement restreindre notre calcul dans cette partie, nous devons en fait calculer à nouveau la courbe entière. Il ne soutient donc pas la contrôlabilité locale. Passons maintenant au deuxième type de splines interpolantes qui sont des splines cubiques d'Hermite, comme les splines cubiques naturelles, les splines cubiques d'Hermite sont également représentées par 4 points de contrôle.
Cependant, il possède une propriété importante qui soutient la contrôlabilité locale. Ainsi, le problème principal avec les splines cubiques naturelles est atténué par les splines cubiques d'Hermite. Ainsi, les 4 points de contrôle qui définissent les splines cubiques Hermite peuvent être indiqués par p0, p1, p2 et p3.
Maintenant où p0 et p2 sont les valeurs aux limites des paramètres qui signifie u égal à 0 et u égal à 1, p1 est le premier dérivé à u égal à 0 et p2 est le premier dérivé à u = 1. Donc, plus tôt nous avons eu p0 et p3 pour être les points à la frontière p1 et p2 sont les premier et deuxième dérivés au même point qui est égal à 0.
Maintenant ce que nous avons est p0 et p2 ici en utilisant pour représenter les points aux limites des paramètres, à savoir u égal à 0 et u égal à 1. P1 est le premier dérivé à u égal à 0 et P2 est le premier dérivé à u égal à 1. Ainsi, aux deux points limites, nous avons un premier dérivé dénoté par les points de contrôle P1 et P2.
Suivant l'approche que nous avons utilisée pour calculer la matrice de base pour les splines cubiques naturelles, nous pouvons aussi calculer la matrice de base pour les splines cubiques d'Hermite, ne le fera pas ici. Et vous pouvez l'essayer vous-même. L'approche est la même. Donc, vous avez mis en place un système d'équations, identifier la matrice de contraintes prendre son inverse et obtenir la matrice de base. La matrice ressemble à ceci, qui est la représentation des splines cubiques d'Hermite. Maintenant, bien que les splines cubiques Hermite prennent en charge la contrôlabilité locale, mais elles ne prennent pas en charge toutes les conditions de continuité paramétriques, contrairement aux cabines naturelles, elles ne prennent en charge que les conditions de continuité C0 et C1 et ne prennent pas en charge la condition C2. Mais les cubics naturels soutiennent tous ces trois C0, C1, C2. Ceci implique que la courbe qui résulte des polynômes de cubics d'Hermite est moins lisse par rapport à la spline de base polynomiale cubique naturelle. Donc, au détriment de la douceur. Nous obtenons la propriété de contrôlabilité locale, donc nous obtenons la contrôlabilité locale, mais nous perdons dans une certaine mesure, le degré de lissage dans la courbe.
Maintenant, un problème est que nous devons spécifier les dérivés du premier ordre. Comme les points de contrôle et les deux limites, il est clair que cela impose un fardeau supplémentaire à l'utilisateur. Pour éviter que nous ayons une autre courbe spline qui est la spline cardinale. Maintenant, avec cette spline, nous pouvons résoudre le problème que nous avons rencontré avec les splines cubiques d'Hermite qui doivent définir le dérivé du premier ordre et les deux points limites.
Comme auparavant, nous avons affaire à des splines cubiques, ces splines sont également faites de pièces polynomiales, et chaque pièce est définie par 4 points de contrôle. Encore une fois, on les dénote en utilisant p0 à p3. Les mêmes notations que nous utilisons mais ici p1 et p2 représentent les valeurs limites qui signifie à u égal à 0 et u égal à 1. P0 et p3 sont utilisés pour obtenir des dérivés de premier ordre aux bornes. Comment, regardez ce système d'équations ici. Il s'agit du point de contrôle p1 qui est la valeur de fonction à 0. Il s'agit du point de contrôle p2 qui est la valeur de la fonction à 1, u égal à 1.
On peut maintenant obtenir le dérivé du premier ordre à u = 0 à l'aide de ces équations. De même, on peut obtenir un dérivé du premier ordre à u = 1 à l'aide de ces équations. Là où nous avons utilisé cela pour contrôler les points de cette façon. Il a également utilisé un paramètre supplémentaire dans les deux cas. A présent, t est appelé Paramètre de tension. Donc, essentiellement, il détermine la forme de la courbe quand t égale à 0 ce que nous obtenons est la spline de catmull-rom ou de surélevage. Donc, c'est un type spécial de spline quand t égal à 0. Ainsi, en utilisant la valeur de t, nous pouvons en fait contrôler la forme de la courbe spline globale. Donc, ici nous n'avons pas à calculer réellement les dérivées à la place nous pouvons le dériver en utilisant les points de contrôle et la valeur de t, de sorte que cela rend la vie de l'utilisateur plus simple.
Mais encore une fois, le cardinal Cubic a également souffert du même problème. C'est-à-ce qu'il supporte jusqu'à C0 et qu'il ne voit qu'une seule condition de continuité paramétrique. Il ne prend pas en charge C2. Donc, il a une courbe moins lisse que les Cubics naturels. Donc, alors ce qui reste est la formulation de matrice de base. C'est un peu compliqué, mais encore une fois, vous pouvez essayer d'utiliser la même approche en mettant en place le système d'équations où certains réarrangements peuvent être nécessaires. Ensuite, vous créez la matrice de contrainte, prenez l'inverse pour obtenir la matrice de base pour la spline cubique cardinale. Ce qui est représenté sous la forme S où S est cette expression.
Donc, pour résumer, nous avons appris environ 3 splines interpolantes. Chacune de ces splines interpolantes est constituée de pièces polynomiales. Et ces morceaux sont Cubic. Chaque pièce est donc définie par 4 points de contrôle. En cas de cubique naturelle, les points de contrôle sont définis d'une manière particulière, dans le cas de l'Hermite cubique il est défini d'une manière différente et dans le cas du Cardinal Cubic, il est défini d'une autre façon. Donc, le Cubic naturel est très lisse, mais il a quelques problèmes.
Ces problèmes sont particulièrement liés à la contrôlabilité locale, qui est prise en charge dans l'Hermite Cubic, mais au détriment de la douceur. Mais en spécifiant l'Hermite Cubic est un peu difficile, qui est de nouveau pris en charge par le cardinal Cubic. Mais la douceur reste moins comparée à celle de Cubic. Passons maintenant à l'autre catégorie de splines, à savoir les splines approximatives, alors quelles sont ces splines? Juste pour récapitulation ici, nous avons un ensemble de points de contrôle, mais cette spline n'a pas besoin de passer à travers tous les points. Les points de contrôle sont plutôt utilisés pour définir la coque du condamné, qui détermine la forme de la courbe spline globale.
Maintenant, il y a deux approximations populaires utilisées dans les graphiques d'ordinateur. L'une est appelée Courbes Cubic Bezier, et l'autre est B splines. Comme dans le cas de l'interpolation des splines, essayons de comprendre ces types dans un peu plus de détails. Nous allons commencer par les courbes cubiques de Bezier. Maintenant, ces courbes particulières, les courbes de Cubic Bezier font partie de la technique de représentation largement utilisée dans les graphiques. Le nom a été dérivé de l'ingénieur français Pierre Bezier, qui l'a d'abord utilisé pour concevoir des carrosses Renault Car.
Comme c'est la courbe Cubique ainsi définie par 4 points de contrôle comme avant, mais ici la différence est que la courbe est une approximation de Spline qui signifie que les pièces polynomiales ne passent pas par tous les 4 points de contrôle. Nous pouvons indiquer ces points comme avant p0, p1, p2 et p3. Donc, il y a 4 points, mais il n'est pas nécessaire que la courbe passe à travers tous les points. Au lieu de cela, ces points sont utilisés pour définir la coque convexe, de sorte que chaque pièce provient de p0 et se termine à p3, c'est-à-dire le premier et le dernier point de contrôle. Les deux autres points servent à déterminer la coque convexe à l'intérieur de laquelle se trouve la courbe. Donc, 2 points sont sur la courbe et d'autres 2 points contrôlent la forme de la courbe.
A présent, les points de contrôle peuvent être utilisés pour définir les dérivées du premier ordre aux valeurs limites qui sont égales à 0 et u égales à un à l'aide de ces expressions. Donc, ceci est le dérivé du premier ordre à u égal à 0 et ceci est le dérivé du premier ordre u égal à 1 Et t hese deux dérivés sont définis en termes des points de contrôle comme indiqué dans ces exemples.
À partir de cet ensemble d'équations, nous pouvons réorganiser et obtenir ce formulaire ici pour les points de contrôle. A partir de ce formulaire réarrangés, nous pouvons obtenir la matrice de contraintes comme indiqué ici. Il s'agit de la matrice de contraintes. Puis nous prenons l'inverse de la matrice de contrainte C-1 pour obtenir la matrice de base, la représentation des courbes de Bezier, ce qui est quelque chose comme ça. Alors, notez ici que nous avons suivi la même approche qui est d'abord que nous avons créé l'ensemble des équations à l'aide des caractéristiques du point de contrôle, puis nous avons formulé la matrice de contrainte et finalement nous avons pris l'inverse de la matrice de contrainte pour obtenir la matrice de base.
Il y a en fait une représentation de fonction de mélange pour les courbes de Bezier. Nous avons déjà dit qu'ils sont équivalents, mais la représentation de fonction de mélange pour les courbes de Bezier est également très populaire. Ce qui en général forme quelque chose comme ça, où pk est le point de contrôle et Bez est les fonctions de mélange. Et la fonction est définie dans cette plage est u entre 0 et 1. Maintenant, ces fonctions de mélange sont en fait des fonctions spéciales, parfois elles sont connues sous le nom de Bernstein Polynomial qui a cette forme où C est celui-ci. Ainsi, les courbes de Bezier que nous pouvons représenter à l'aide de fonctions de mélange où les fonctions de mélange sont appelées polynômes Bernstein, qui prend les formes ici dans cette première ligne, où le terme C (n, k) est représenté sur la deuxième ligne.
Maintenant, si on agrandit les fonctions de mélange pour dire un Bézier cubique où n égal à 3, alors comment il semble? BEZ 0, 3 is (1-u) 3, 1, 3 est this one 2, 3 is this one and 3, 3 is this one. Donc, ce sont les fonctions de mélange pour la courbe de Bezier Cubic. La même chose que nous pouvons dériver de la matrice de base aussi.
Comme je l'ai dit lors de la conférence précédente, ils sont équivalents. L'un peut être dérivé d'un autre et vous pouvez essayer de faire de même.
Donc, un problème majeur avec la Bezier Cubic est qu'ils ne soutiennent pas la contrôlabilité locale.
C'est là, bien entendu, une préoccupation majeure. Passons maintenant à l'autre catégorie de splines qui est B splines.
Ici, l'idée est un peu plus compliquée. Maintenant, les splines B sont des approximations des splines, comme nous l'avons déjà mentionné, elles soutiennent jusqu'à C2 les conditions de continuité, les conditions de continuité paramétriques. Cela signifie que C0, C1 et C2 tous les trois ils prennent en charge. En d'autres termes, ces splines nous donnent une courbe très lisse et elles soutiennent la contrôlabilité locale. Ainsi, les courbes de Bezier n'ont pas de contrôlabilité locale, alors que ces splines sont très lisses. Ils sont très lisses et ils soutiennent la contrôlabilité locale. Donc, tous nos problèmes sont résolus avec ces splines. Maintenant, essayons de comprendre l'idée de base, les mathématiques derrière elle est un peu compliquée, donc nous allons essayer de le garder au minimum pour la simplicité. Quelle est l'idée? L'idée est basée sur la représentation d'un polynôme en termes d'autres polynômes, comme nous l'avons vu dans la représentation de la fonction de mélange. Donc, c'est là que commence cette idée, qu'un polynôme peut être représenté en termes d'autres polynômes.
Donc, quelle est la forme la plus générale de cette représentation, nous avons rencontré cette expression dans le précédent conférence pi points de contrôle et bi est la fonction de mélange. Nous supposons donc dans cette représentation que la fonction f est une combinaison linéaire des fonctions de mélange où les points de contrôle p servent de coefficients. Maintenant, dans cette définition, une chose à noter ici est que nous utilisons un paramètre t au lieu de u. Ce paramètre est désormais plus général. Cela signifie que nous ne devons pas nous limiter à la fourchette définie pour vous, c'est-à-dire entre 0 et 1. Ainsi, le t peut prendre n'importe quelle valeur, pas nécessairement compris entre 0 et 1.
Maintenant, chaque bi est un polynôme. Supposons que alors f puisse être considéré comme une spline constituée de pièces polynomiales, ce qui est fondamentalement l'idée maintenant que nous pouvons représenter chaque bi comme une combinaison d'autres fonctions, comme la fonction globale f. Donc, f est représenté comme une combinaison linéaire de bi, chaque bi à son tour peut être représenté comme une combinaison d'autres fonctions. Puis conceptuellement, chaque bi est aussi une spline, parce qu'elle est composée d'autres polynômes.
Donc, lorsque nous avons parlé de Spline, nous avons dit que Spline est une courbe qui est composée de polynômes de degré inférieur maintenant chacun de ces polynômes. Encore une fois, nous supposons être composés d'autres polynômes. Donc, ces pièces polynomiales sont elles-mêmes des splines plutôt que des polynômes simples. Et c'est l'idée générale des splines B. C'est nous qui avons une spline, qui est composée de spline de base plutôt que de pièces polynomiales.
Maintenant, chaque spline de base est constituée de pièces polynomiales. Ainsi, la définition est un niveau supérieur à la définition de base de Spline. Dans la spline, nous avons une courbe composée de pièces polynomiales dans cette spline. Nous avons une courbe composée de splines de base, qui à leur tour est constituée de pièces polynomiales.
Donc, ce que nous obtenons est une spline composée de B-splines et c'est l'idée générale. Donc, quand on parle de B-splines, on parle en fait des splines constituantes. Essayons de comprendre en termes d'exemple. Supposons que nous ayons 4 points de contrôle et que nous voulons ajuster une courbe à ces points. Donc, puisque nous avons 4 points. Donc, notre fonction de courbe ressemblera à ça, nous étendons le formulaire général sur montré plus tôt pour obtenir les 4 fonctions de mélange dans le formulaire général. Maintenant, supposons que nous utilisons une spline B linéaire qui signifie des fragments de B-splines composés de polynômes linéaires.
Ensuite, chaque spline B aura deux pièces linéaires selon l'équation suivante. Ceci est la B-spline et ce sont les pièces linéaires définies à l'intérieur de la gamme de t. Ainsi, comme vous pouvez le voir dans la formulation précédente, que chaque spline B est définie entre les sous-intervalles du paramètre T maintenant dans ce sous-intervalle, les pièces qui sont les constituants des B-splines ont leur propre gamme. Donc, nous avons une gamme pour la B-spline et nous avons des sous-plages pour les pièces polynomiales constituantes de la spline. Maintenant, les points de la gamme de paramètres où le morceau commence ou se termine sont appelés points knot ou simplement knot pour la jème B-spline, les noeuds sont i + 1 et i + 2. Juste pour se souvenir, donc nous avons une spline constituée de B-spline. A présent, chaque spline B est définie à l'intérieur d'une gamme qui est subdivisée pour chaque pièce constituante d'une spline B-spline. Maintenant, où un morceau commence ou se termine est appelé knot points ou simplement noeuds. Pour la jème B-spline. On peut définir les noeuds comme i, i + 1 et i + 2. Pour les 4 points de contrôle dans notre exemple, i prend la valeur 1 à 4. Donc, on peut avoir les nœuds. Comme 1, 2, 3, 4, 5, 6, ce sont les 6 points de nœud, et cet ensemble de points est le vecteur de nœuds, aussi connu comme le vecteur de nœud. Ce qui est, bien sûr, un ordre croissant de valeurs de paramètres.
Donc, pour résumer chaque B-spline est constitué de k où k égal à d + 1, d est le degré du polynôme. Le paramètre t varie entre 1 et n + k ayant n + k noeuds. Dans notre exemple n est 4, n est le nombre de points de contrôle k est 2 puisque d est 1. Donc, la gamme est comprise entre 1 et 6 avec 6 noeuds.
La jème B-spline est définie à l'intérieur des noeuds i et i + k, par exemple, la seconde spline B qui signifie i= 2 est définie entre 2 et 2 + 2 ou 4, parce que k est 2. Donc, entre 2 et 4, cela signifie que les valeurs de nœud sont 2, 3 et 4.
Donc, chaque B-spline a k + 1 knot's. Maintenant, dans notre exemple, depuis k égal à 2. Donc, chaque B-spline aura 3 noeuds pour toute autre valeur de k la B-spline aura k + 1 noeuds. Donc, ce sont les caractéristiques de la B-spline. Une autre caractéristique est k est en fait très cruciale dans la détermination de toutes ces caractéristiques. Donc, cette valeur k est souvent appelée paramètre B-spline. Donc, vous devez garder cela à l'esprit que k est très important, il joue un rôle crucial dans la détermination des caractéristiques de la B-spline que nous avons énumérées plus tôt. Donc, souvent k est appelé le paramètre B-spline. Maintenant, voyons différents types de B-spline. Jusqu'à présent, nous avons donné une idée de base, une idée de base de l'introduction de la B-spline. Maintenant, voyons les types qui sont là pour la spline B.
Il y a 3 types, une B-spline uniforme, un B-spline non uniforme et des pépinières ou une B-spline rationnelle non uniforme, nous présenterons brièvement chacun de ces types.
Donc, lorsque nous avons les nœuds qui sont uniformément espacés dans le vecteur knot, comme dans le cas de l'exemple que nous avons vu précédemment, ces B-spline sont appelés des B-splines uniformes. Si les vecteurs de knot ne sont pas uniformément espacés, l'espacement entre les noeuds consécutifs n'est pas le même. Ensuite, nous obtenons une spline B non uniforme. Et finalement, les pépinières ont fait référence aux "B-splines" qui font effectivement référence au rapport de deux quantités présentées ici dans cette expression. Chaque i est le poids scalaire et les bi sont des B-splines non uniformes et il faut aussi noter que la même spline B est utilisée à la fois en numérateur et en dénominateur. Ainsi, les pépinières se réfaient essentiellement à ce rapport, de sorte que nous avons une spline B uniforme où les points de nœud sont uniformément espacés, nous avons une B-spline non uniforme, où les points de nœud ne sont pas uniformément espacés.
Et nous avons des pépinières où nous parlons de ratio de deux quantités, chacune d'entre elles étant constituée de la même spline non uniforme. Maintenant, l'idée de base des splines est que l'utilisation de ceci, nous devrions être capables de représenter certaines courbes et de la rendre à l'écran. Comment pouvons-nous afficher les courbes splines?
Donc, où nous avons commencé à ajuster une courbe à un ensemble donné de points de contrôle, nous avons donc un ensemble de points de contrôle et nous voulons ajuster une courbe, nous avons discuté comment utiliser l'idée de la spline pour obtenir la courbe. Maintenant ce que nous pouvons faire. Donc, on a la spline. Ensuite, ce que nous pouvons faire le plus simple, c'est de déterminer ou d'interpoler les nouveaux points de contrôle à l'aide de l'équation spline, puis de joindre les points de contrôle à l'aide de segments de ligne. Nous pouvons également utiliser la représentation de la fonction de mélange pour interpoler ces points.
Par exemple, supposons que nous avons deux points de contrôle p0 et p1 ce p0 et ceci est p1 puisque deux points de contrôle nous pouvons utiliser une spline d'interpolation linéaire et une fois que nous avons identifié la représentation spline à l'aide des approches déjà mentionnées, nous pouvons évaluer la fonction spline pour créer 3 nouveaux points de contrôle présentés ici. Et nous obterons la valeur de paramètre pour ces points de contrôle définis ici, et nous aurons alors la valeur de la fonction réelle.
Donc, nous avons deux points de contrôle, nous utilisons une spline d'interpolation linéaire et en utilisant cette spline, nous créons 3 nouveaux points de contrôle et une fois ces points créés. Nous pouvons les rejoindre à l'aide d'un segment de droite pour obtenir la courbe.
Et nous pouvons continuer à ajouter de plus en plus de points pour obtenir une courbe finale. En fait, si davantage de points de contrôle sont là, nous pouvons utiliser plus de points de contrôle pour obtenir de meilleures splines, des splines d'ordre plus élevé au lieu des splines linéaires et faire la même approche, suivre la même approche. Donc, tout est possible, mais le problème principal est que nous devons à nouveau évaluer la fonction de mélange. Maintenant, lorsque nous voulons afficher les splines à un taux très élevé, ces calculs peuvent être coûteux et ralentir le processus de rendu. Nous avons donc besoin d'une approche alternative. L'une de ces approches est connue sous le nom d'algorithme de De Casteljau. Et nous aurons un aperçu rapide de l'algorithme.
L'algorithme est donc constitué de quelques étapes. Il s'agit de n points de contrôle. Ce que nous faisons, nous rejoinons les paires consécutives de points de contrôle avec des segments de ligne, puis nous continuons jusqu'à ce qu'un seul point soit obtenu. Ce que nous faisons, nous divisons d'abord chaque segment de ligne dans le rapport, d: 1-d pour obtenir n-1 de nouveaux points où d est un nombre réel supérieur à 0. Maintenant, rejois ces nouveaux points avec des segments de ligne et ensuite nous revenons à l'étape 1.Donc, c'est un peu comme ça fonctionne. Voyons un exemple, supposons ici n égal à 4 et nous avons décidé d'être un tiers. Donc, p0, p1, p2, p3 sont les points initiaux, puis à un tiers de la p sont dire p0 et p1 nous avons pris un point.
De même, un tiers de la p est p1, p2 vous avez pris un autre point, puis un autre point? Et alors ces p0 ont été modifiés pour faire référence à ça. Puis nous continuons dans la boucle pour finalement nous indiquer ici une fois que l'algorithme est exécuté Alors, cette division continue jusqu'à ce que nous obtiens un point. Et à ce moment-nous, nous nous arrêtons. Donc, c'est le point de sortie. En bref, nous pouvons utiliser une procédure itérative pour une procédure simplifiée pour obtenir des points sur la courbe à l'aide de l'algorithme. Donc, ce que nous faisons à chaque exécution, nous obtenons un nouveau point et nous pouvons l'exécuter chaque fois que nous voulons obtenir de nouveaux points, quand ces points sont joints avec des segments de ligne, nous obtenons les courbes de Bezier. Il faut donc noter ici que nous obtenons cette courbe particulière, pas tous les types de Spline. Donc, cet algorithme fait référence à la création d'une courbe de Bezier, qui est une approximation de la spline. Nous pouvons exécuter l'algorithme m fois pour obtenir les points m sur la courbe de Bezier. Donc, c'est ainsi que nous pouvons obtenir les points et créer la courbe.
Maintenant il y a une autre chose dans l'infographie, donc nous ne sommes pas nécessairement satisfaits avec seulement des courbes. Ce dont nous avons besoin, ce sont des surfaces aussi courbes. Donc, en utilisant l'idée de spline, comment pouvons-nous obtenir des surfaces courbes est très simple. Regardez ce chiffre ici. Nous pouvons en fait créer une grille de points de contrôle comme montré dans cette figure.
Ainsi, chaque sous-ensemble de la grille peut être utilisé pour obtenir une courbe de différentes façons et lorsque nous avons mis ensemble ces courbes, nous obtenons une surface, donc pour obtenir la surface, nous définissons une grille présentée dans le champ de cercles ici à l'aide d'un sous-ensemble, nous obtenons une courbe spline. En utilisant un autre sous-ensemble, nous obtenons une autre courbe de Spline qui est intersectant, et quand on obtient cette grille de courbes, on obtient la surface, la surface est définie par cette grille. Donc, c'est la façon simple d'obtenir une surface.