version pdf 40 ko

Transcription

version pdf 40 ko
Conception de forme, CAO
L’idée ici est de concevoir des formes sur ordinateur, de façon aussi interactive
et “naturelle” (les informaticiens diront “conviviale” !) que possible, et de se rendre
compte des outils mathématiques que l’on pourrait utiliser pour cela. Ces outils seront
travaillés dans la suite de cet enseignement.
On veut, à partir de points que l’on peut déplacer avec la souris déduire quelquechose
(dans un premier temps une fonction, puis une courbe, enfin une surface, voire un
volume) qui ait l’allure de ce que l’on veut.
1. Première situation : résultat à obtenir : une fonction y = f (x)
1.1 Interpolation lineaire
Soit la fonction B définie par : ∀x ∈ IR\] − 1 .. 1[ , B(x) = 0 ; ∀x ∈ [−1 .. 1] , B(x) =
1 − |x|. Tracez la fonction B, puis, pour un réel positif h fixé et des données (yj )j∈[0:n],
P
tracez la fonction f = j∈[0:n] yj B( /h−j) (des arguments courts et percutants doivent
vous permettre de définir, et tracer rapidement et sans calculs la fonction f ). Cela
correspond-t-il à une démarche que vous avez déjà rencontrée ?
Commentez la facilité d’obtention de la fonction, et la modification apportée à
la fonction, sur le plan analytique et sur le plan graphique, lorsque l’on modifie yj0
P
pour un j0 donné. C’est à dire évaluez simplement s à partir de σ, avec σ = yj et
P
s = (yj + δj )B( /h − j) avec δj0 = α et δj = 0 si j 6= j0 . Qu’en pensez-vous en ce
qui concerne la rapidité de calculs (importante pour une visualisation interactive) de
la détermination de s ?
Examen de ce qui se passe sur les bords : la situation pour x < 0 et pour x > nh
vous parait-elle “optimale” ? Remarquez que l’on obtient la même fonction f si f est
P
définie par f = j∈ZZ yj B( /h − j) avec yj = 0 pour j < 0 et j > n. Que feriezvous, éventuellement, pour améliorer la situation (trois façons de faire différentes sont
quelquefois utilisées...) ?
.
.
.
Temps estimé : 45 mn
1.2 On désire maintenant obtenir une fonction C 2 !
On aimerait trouver dans ce § une famille de fonctions qui pourrait généraliser de
façon C 2 la fonction f ci-dessus, en utilisant la même formule
P
f = j∈[0:n] yj B( /h − j)...
Une première proposition serait d’utiliser la fonction B nulle en dehors de [−1 .. 1]
et égale à x2 (1−|x|)3 sur ] − 1 .. 1[. Montrer rapidement qu’une telle fonction B, malgré
sa simplicité, ne donne pas un résultat satisfaisant.
Dans quel ensemble de fonctions, qui généralise les fonctions linéaires par morceaux
du § ci-dessus, peut-on chercher f et donc B ? Quelles sont les propriétés de B que
l’on doit prendre pour que f “interpole” les points (jh , yj )j∈[0:n] (c’est à dire telle que
f (jh) = yj ) ? Tracez (qualitativement) une telle fonction B. Savez-vous la déterminer
numériquement ?
Examen de ce qui se passe sur les bords : quelle est la forme de f pour x < 0 et
pour x > nh ? Avec votre expérience sur les splines cubiques, est-ce que cela influe
sur la partie 0 < x < nh ? Quels défauts voyez-vous à cette méthode ? Voyez-vous une
façon d’y remédier ?
.
Temps estimé : 45 mn
1
1.3 Après tout, pourquoi interpoler ?
Il n’est, en fait, pas nécessaire d’obtenir une fonction f qui passe exactement par les
données ? Il peut suffire que f “suive à peu près” les données et qu’elle soit régulière...
Les points (jh, yj ) seront alors appelés “points de contrôle”, et non plus “points d’interpolation”.
Pour avoir une idée du genre de fonction B qui pourrait permettre d’obtenir une
fonction f qui approche les points de contrôle, imaginez la forme que peut avoir une
fonction C 2 qui ait un peu le même genre d’allure que la fonction B ci-dessus. Pour
vous guider, vous pourrez remarquer que toute fonction C 2 qui serait nulle en dehors
de [−1 .. 1] présenterait nécessairement le même inconvénient, rédibitoire, que celui
présenté par la fonction examinée au début du §1.2.
Réfléchissez, en termes de degrés de libertés, si on a une chance de déterminer une
fonction spline cubique de support borné (par exemple [−2 .. 2]) qui ait cette allure...
éventuellement, en dehors des séances, vous pouvez essayer de déterminer une telle
fonction.
Remarque : la question liée aux problèmes de bord sera étudiée de façon spécifique
plus tard...
Temps estimé : 30 mn
1.4 Une idée pour passer en surface ? ?
C’est une question difficile, que vous pouvez vous poser, mais que l’on examinera
plus tard ensemble...
2. Deuxième situation : courbes quelconques
On désire maintenant obtenir non plus des courbes de type fonction, mais des
courbes plus générales permettant de réaliser des courbes fermées, ou plus généralement
des courbes avec des boucles... On désire par exemple suivre l’allure de points tels que
(0,0), (1,3), (4,2), (3,0), (2,2), (5,2).
Utilisez d’abord les résultats du §1.1 pour déterminer analytiquement le polygone
qui relie les points de données.
Généralisez ensuite rapidement les résultats du §1.3 à ce cas de figure... les choses
sont-elles beaucoup plus compliquées, les calculs beaucoup plus longs ? ? ?
Temps estimé : 30 mn
2

Documents pareils