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