Vous êtes sur la page 1sur 10

TP1 - Reconstruction & G.A.

Donnes paramtres et ordonnes e e e e


A faire individuellement avec SCILAB et Geomview sous Linux. e Dans ce document, les dirents exercices intituls EXERCICE-SM suivi dun numro feront lobjet dun rendu sous e e forme dun chier PDF (cr avec OpenOce par exemple) ` envoyer ` ladresse szafran@imag.fr avant le 24 janvier 2012 ee a a . Rcuprer les chiers ncessaires ` cette sance pratique dans larchive tp1.zip e e e a e Le chier tp1.sce contient les scripts des dirents exemples de la section Courbes de cette sance pratique. e e

1.1

Courbes - donnes paramtres e e e

Dans cette partie, les donnes sont des points du plan Pi = (ti , yi ), xi = ti jouant le rle du param`tre. e o e

1.1.1

Mod`le polynmial e o

Le chier polynomes.sce contient deux routines pour linterpolation et lapproximation polynomiale. Les polynomes sont exprims dans la base des monomes (par puissance dcroissante) sous forme dun vecteur p=[p(1) e e ... p(d+1)] avec y = p(1)*t.^d + p(2)*t.^(d-1) + ... + p(d)*t + p(d+1) La fonction polyval permet dvaluer un polynome p sur un ensemble de valeurs t. e Exemple : trac du polynome t3 2t2 3t + 2 pour t dans [1.5, 3] e exec("polynomes.sce",-1); p = [1,-2,-3,2]; xtrace = linspace(-1.5,3,1000); ytrace = polyval(p,xtrace); plot(xtrace,ytrace) Interpolation Linterpolation polynomiale peut tre faite ` laide de la routine polyfit. e a Exemple : dterminer et tracer le polynome (de degr 2) passant par les points (0,2), (1,1), (3,5) e e exec("polynomes.sce",-1); // les points de donnes e t = [0,1,3]; y = [2,1,5]; // calcul du polynome interpolant p = polyfit(t,y); // evaluation et trac du polynome e xtrace = linspace(0,3,1000); ytrace = polyval(p,xtrace); scf(); // nouvelle figure plot(t,y,ro); // points de donnes en rouge e plot(xtrace,ytrace,k-); // polynome interpolant en noir a = gca(); a.data_bounds = [-1,0;4,6]; // modifier les bornes du graphique EXERCICE-SM 1 : Dterminer et tracer le polynome interpolant les donnes pour chacun des cas suivants : e e (a) Pi = ti = (i 1)/4, yi = sin(ti ) avec 1 i 9 (b) Pi = ti , yi = 1/(1 + t2 ) avec (ti ) = t = linspace(5, 9, 10) i (10 abscisses rparties uniformment entre -5 et 9) e e (c) Pi = ti , yi = 1/(1 + t2 ) avec (ti ) = t = [-9 -5 -3 -2 0 1 2 4 7 9] i

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

Approximation Dans polyfit le troisi`me paramtre est le degr d du polynome. Si d < n 1 (n nombre de donnes) alors le polynome e e e e p est celui approchant les donnes au sens des moindres carrs, i.e. minimisant e e
n

(p(ti ) yi )2
i=1

Exemple : rgression linaire (approximation par un polynme de degr 1) e e o e exec("polynomes.sce",-1); // les donnes e t = [0 1 2 3 4 5 6] y = [0 1 1 2 1 0 0] // approximation par un polynome de degr 1 e p1 = polyfit(t,y,1) // approximation par un polynome de degr 1 e p2 = polyfit(t,y,2) // trac e xtrace = linspace(0,6,1000); y1trace = polyval(p1,xtrace); y2trace = polyval(p2,xtrace); scf(); plot(t,y,ro); // points de donnes en rouge e plot(xtrace,y1trace,k-); // polynome de degr 1 approximant en noir e plot(xtrace,y2trace,b-); // polynome de degr 2 approximant en bleau e a = gca(); a.data_bounds = [-1,-1;7,4]; // modifier les bornes du graphique a.isoview = "on";

1.1.2

Mod`le polynomial par morceaux e

Mod`le de Hermite e Le mod`le de Hermite permet de dterminer un unique polynome de degr 3 interpolant deux positions et deux drives. e e e e e La routine interp permet dinterpoler des donnes paramtres du type (ti ; y, di )1in par une fonction f polynomiale par e e e morceaux (de degr 3 sur chaque intervalle), globalement C 1 et telle que f (ti ) = yi et f (ti ) = di . e Exemple : // les donnes e t = [ 0 1 3 5]; // parametrage y = [ 0 3 0 2]; // valeurs de f(t(i)) lambda = [ 3 -1 -1 0]; // valeurs de f(t(i)) // valuation de f sur [0,5] e tt = linspace(0,5,1000); yy = interp(tt, t, y, d); scf(); // trac de la fonction e plot(tt,yy,g,linewidth,3); // trac des points e plot(t,y,r.) // trac des tangentes e dt = ones(lambda)./sqrt(1+lambda.*lambda); // normalisation des vecteurs tangents plot([t-dt;t+dt],[y-dt.*lambda;y+dt.*lambda],k-); a = gca(); a.data_bounds = [-2,-2;7,5]; // modifier les bornes du graphique a.isoview = "on"; A titre dexercice, modiez les valeurs du vecteur des drives lambda et observez la consquence sur la fonction f . e e e

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

Mod`le spline e SCILAB permet linterpolation de donnes par des splines (fonctions polynomiales de degr 3 par morceaux et globae e lement drivables, i.e. de classe C 1 ). e Etant donns des points de donnes Pi = (ti , yi ) avec ti < ti+1 et 1 i n, la routine splin permet de dterminer une e e e spline dinterpolation en calculant les valeurs i = s (ti ) puis la routine interp permet dvaluer une spline s connaissant e les valeurs yi = s(ti ) et di = s (ti ). Par exemple // spline interpolant les donnes (ti, yi = f(ti) = 1/(1+ti*ti)) avec e // (t_i) = [-9 -5 -3 -2 0 1 2 4 7 9] // les donnees deff([y]=f(t),y=ones(t)./(1+t.*t)); t = [-9 -5 -3 -2 0 1 2 4 7 9]; y = f(t); // calcul de la spline d = splin(t,y); // valuation de la spline pour des abscisses entre tmin et tmax e xtrace = linspace(min(t),max(t),1000); ytrace = interp(xtrace, t, y, d); // trac de la spline et des points de donnes e e scf(); plot(t,y,ro); // points de donnes en rouge e plot(xtrace,ytrace,k-); // spline interpolante en noir Comparaison entre dirents interpolations e La routine SCILAB splin permet de calculer direntes mod`les spline en spciant un troisi`me param`tre dans lappel e e e e e de cette routine. Ce param`tre est une cha de caract`res parmi les suivantes : e ne e "not a knot" : cest le cas par dfaut, la spline cubique est dtermine avec les conditions suivantes : e e e s continue en t2 et tn1 "clamped" : la spline cubique est dtermine avec les conditions suivantes : e e s (t1 ) = der(1) et s (tn ) = der(2) dans ce cas, il faut fournir comme 4`me param`tre le vecteur der = [der(1) der(2)] e e "natural" : la spline cubique est dtermine avec les conditions suivantes : e e s (t1 ) = 0 et s (tn ) = 0 "monotone" : la spline cubique est dtermine pour vrier les conditions suivantes : e e e si yi yi+1 alors s est croissante sur [ti , ti+1 ] sinon s est croissante sur [ti , ti+1 ] "fast" : la sous-spline cubique obtenue par interpolation locale

e e e e EXERCICE-SM 2 : En se servant de laide de SCILAB, tester et comparer les dirents mod`les spline implments dans la routine splin e (les cas priodiques "periodic" et "fast periodic" seront discuts dans le point suivant) e Spline priodique e Dans certains cas, lorsque yn = y1 , au lieu dimposer les drives aux bords, on peut imposer les deux conditions suivantes : e e s (t1 ) = s (tn ) et s (t1 ) = s (tn ) an dobtenir une fonction s priodique sur R : e f (t + T ) = f (t), t R avec la priode T = tn t1 e polynomiale par morceaux et globalement C 1 sur R. Un mme jeu de donnes (ti , yi ) est interpol par trois splines direntes dont deux sont periodiques. Les trois splines e e e e sont values sur lintervalle [t1 , tn ] puis chacune est reprsente de mani`re priodique. e e e e e e

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

// les donnes e t = [0 1 2 3 4 y = [1 1 4 4 2 n = length(t); T = t(n)-t(1);

avec y(n)=y(1) 6]; 1]; // la priode e

// calcul des deux splines priodiques e d1 = splin(t,y,"periodic"); d2 = splin(t,y,"fast_periodic"); // calcul dune spline non priodique e d3 = splin(t,y); // valuation des trois splines sur [t(1),t(n)] e xtrace = linspace(t(1),t(n),1000); ytrace1 = interp(xtrace,t,y,d1); ytrace2 = interp(xtrace,t,y,d2); ytrace3 = interp(xtrace,t,y,d3); // trac de chaque spline sur les intervalles e // [t(1)-T,t(n)-T], [t(1),t(n)], [t(1)+T,t(n)+T] // spline priodique 1 e scf(); plot(t,y,r.); plot(xtrace-T,ytrace1,k-, xtrace set(gca(),isoview,on); // spline priodique 2 e scf(); plot(t,y,r.); plot(xtrace-T,ytrace2,k-, xtrace set(gca(),isoview,on); // spline non priodique 3 e scf(); plot(t,y,r.); plot(xtrace-T,ytrace3,k-, xtrace set(gca(),isoview,on); Approximation par une spline Lorsque les donnes sont en grand nombre et/ou sont bruites, lapproximation est prfrable ` linterpolation. e e ee a SCILAB dispose de la routine lsq splin an de dterminer une spline cubique approximant les donnes. Pour dnir la e e e spline, il faut se donner les noeuds de la spline (les noeuds de la B-spline) cest ` dire une suite strictement croissante de a valeurs j . Par exemple, tester lapproximation spline sur les donnes suivantes (sinuso bruite) : e de e // les donnes e t = 1:100; y = sin(t/10); // point sur une sinusoide z = y+rand(t)*0.2-0.1; // ajout dun bruit (erreur) // calcul de la spline tau = linspace(t(1),t($),5); // noeuds de la spline : // 5 valeurs entre tmin et tmax [ys,ds] = lsq_splin(t,z,tau); xtrace = linspace(t(1),t($),1000); ytrace = interp(xtrace,tau,ys,ds); // trac e scf(); plot(t,z,r+); // les points de donnes en rouge e plot(xtrace,ytrace,k-); // spline en noir

,ytrace1,k-, xtrace+T,ytrace1,k-);

,ytrace2,k-, xtrace+T,ytrace2,k-);

,ytrace3,k-, xtrace+T,ytrace3,k-);

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

1.1.3

Courbes paramtres e e

Trac dune courbe (x(t), y(t)) e Une courbe paramtre dans le plan est dnie par deux fonctions x(t) et y(t). e e e Exemple : t=linspace(0,2*%pi,1000); x=cos(t); y=sin(t); scf(); plot(x,y); Pour le trac de la courbe, il est prfrable davoir la mme chelle pour chaque axe : e ee e e a = gca(); a.isoview = "on"; Mme principe dans lespace : e // une hlice e t=linspace(0,2*pi,1000); x=cos(3*t); y=sin(3*t); z=t/3; scf(); param3d(x,y,z); // changement des parametres graphiques de la courbe h = gce(); h.foreground = 2; // couleur bleue h.thickness = 2; // paisseur de la courbe e a = gca(); a.isoview = "on"; Interpolation de points e Dans un premier temps, on suppose que les donnes sont de la forme ti , Pi = ti , (xi , yi ) avec ti distincts et ordonns e par ordre croissant. Une courbe C interpolant les points Pi est obtenue en interpolant : - les donnes (ti , xi ) par une fonction x(t), e - les donnes (ti , yi ) par une fonction y(t). e Exemple : interpoler les donnes e t=[0 1 2 3]; x=[0 1 1 0]; y=[0 0 1 1]; en utilisant linterpolation polynomiale simple : exec("polynomes.sci"); px = polyfit(t,x); py = polyfit(t,y); ttrace=linspace(t(1),t($),1000); xtrace=polyval(px,ttrace); ytrace=polyval(py,ttrace); scf(); plot(x,y,ro); // les points de donnes e plot(x,y,g--); // relier les points entre eux -> polygone vert plot(xtrace,ytrace,k-); // la courbe interpolante a = gca(); a.data_bounds(1)=-0.2; // modifier la borne min en x du rep`re e a.isoview = "on";

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

Comparaison de procds dinterpolation e e En changeant le procd dinterpolation, on obtient une autre courbe C. e e Exemple : spline en xant les drives au bord. e e dx = splin(t,x,"clamped",[1 -1]); // derives horizontales e dy = splin(t,y,"clamped",[0 0]); // au bord ttrace=linspace(t(1),t($),1000); xtrace=interp(ttrace,t,x,dx); ytrace=interp(ttrace,t,y,dy); scf(); plot(x,y,ro); // les points de donnes e plot(x,y,g--); // relier les points entre eux -> polygone vert plot(xtrace,ytrace,k-); // la courbe interpolante a = gca(); a.isoview = "on"; EXERCICE-SM 3 : En prenant des donnes en plus grand nombre, par exemple e t=[0 2 4 5 6 7 9 11 12]; x=[4 2 0 2 4 4 3 1 0]; y=[0 0 0 1 2 3 4 4 3]; comparer les dirents interpolants vus ci-dessus. e Courbe ferme et mod`le priodique e e e EXERCICE-SM 4 : Dans certains cas, on peut vouloir une courbe ferme en posant Pn = P1 . e a) On peut utiliser un mod`le classique. Par exemple, interpoler les donnes suivantes e e t = [0 x = [1 y = [0 2 4 6 0 -1 0 1 0 -1 8]; 1]; 0];

en utilisant linterpolation spline avec loption "natural" (ces donnes sont des points quidistants sur le cercle unit) e e e On obtient une courbe ferme mais non rguli`re au point P1 = P5 = (1, 0). e e e b) Pour obtenir une courbe ferme, utiliser loption "periodic". e c) Refaire linterpolation en doublant le nombre de points : a t x y = = = = sqrt(0.5); [0 1 2 3 4 5 6 7 [1 a 0 -a -1 -a 0 a [0 a 1 a 0 -a -1 -a 8]; 1]; 0];

en utilisant dabord un mod`le non priodique, puis un mod`le priodique. e e e e Inuence du paramtrage e Pour un mme ensemble de points Pi et un mme procd dinterpolation/approximation, le paramtrage est lui-mme e e e e e e important. EXERCICE-SM 5 : en prenant les donnes suivantes e x=[4 3.5 0 y=[0 0 0 n=length(x); 4 2 4 4 2.2 3 3 4 1 4 0]; 3];

et le procd dinterpolation spline, comparer graphiquement les courbes obtenues avec les paramtrages suivants : e e e a) ti = i b) ti = i 1 c) ti = (i 1)/(n 1) d) ti = i2 e) t1 = 0 et ti = ti1 + d(Pi1 , Pi ) (d(A, B) : distance entre deux points A et B)

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

1.2
1.2.1

Surfaces - donnes paramtres e e e


Param`trage grille rguli`re - Interpolation par produit tensoriel e e e

Cas de linterpolation de donnes (ui , vj , zi,j ) avec les param`tres tris en u (ui < ui+1 ) et en v (vj < vj+1 ) par une e e e fonction z = f (u, v) avec 1 i M et 1 j N . Cas M = N = 2 - procd dinterpolation de Hermite e e e Le script interp prod tensoriel hermite.sce permet dinterpoler les donnes en quatre points Pij dun quadrangle : P00, P01, P10, P11 : coordonnes des 4 points e DPu00, DPu01, DPu10, DPu11 : drive premi`re par rapport au param`tre u en chaque point e e e e DPv00, DPv01, DPv10, DPv11 : drive premi`re par rapport au param`tre v en chaque point e e e e DDPuv00, DDPuv01, DDPuv10, DDPuv11 : drive seconde croise (twist) par rapport aux param`tres u et v en chaque point. e e e e Charger et excuter le script (commande main()). Quatre chiers au format Geomview sont crs : e ee points.sphere : les 4 points derivees.vect : les direntes drives (DPuij en rouge, DPvij en bleu et DDPuvij en vert) e e e surface.mesh : la surface interpolant les donnes e e surface isoparam.vect : quelques courbes isoparamtriques sur la surface Visualiser ces chiers ` laide du chier geomview.world en tapant la commande : a geomview points.sphere derivees.vect surface_isoparam.vect surface.mesh geomview.world & EXERCICE-SM 6 : i) dans un premier temps, modier les vecteurs drives premi`res sans modier les twists, et comparer graphiquement e e e les surfaces obtenues ii) dans un second temps, modier les twists sans modier les vecteurs drives premi`res, et comparer graphiquement e e e les surfaces obtenues Cas gnral - procd dinterpolation spline cubique e e e e Le script interp prod tensoriel spline.sce permet dinterpoler des points Pij en utilisant le procd dinterpolation e e spline cubique (routine splin1 qui utilise les routines SCILAB splin pour linterpolation puis interp1 pour lvaluation). e Charger et excuter le script avec le test numro 1 (commande main(1)) e e Quatre chiers au format Geomview sont crs : ee points.sphere : les points de donnes e donnees.mesh : le poly`dre correspondant aux donnes e e e e e surface interm.mesh : la surface intermdiaire obtenue en appliquant uniquement le procd dinterpolation suivant le param`tre u e e e e surface finale.mesh : la surface nale obtenue en appliquant le procd dinterpolation suivant le param`tre u puis le procd suivant le param`tre v (routine interp prod tensoriel) e e e Visualiser ces chiers ` laide du chier geomview.world en tapant la commande : a geomview points.sphere donnees.mesh surface_interm.mesh surface_finale.mesh geomview.world & EXERCICE-SM 7 : e e i) en sinspirant de la routine interp prod tensoriel, crire une autre routine interp prod tensoriel2 qui value la surface interpolante mais en appliquant dabord le procd suivant le param`tre v puis le procd suivant le param`tre u. e e e e e e e Montrer que les surfaces nales obtenues ` laide de interp prod tensoriel et interp prod tensoriel2 sont les mmes. a ii) comparer avec un mme jeu de donnes, les direntes mthodes dinterpolation proposes. e e e e e

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

1.2.2

Param`trage quelconque e

Spline radiale Le script interp spline radiale.sce interpole des points Pi = (x(i), y(i), z(i), chaque point tant associ ` un couple e ea de param`tres (u(i), v(i) e Charger et excuter le script (commande main()). e Trois chiers au format Geomview sont crs : ee points.sphere : les points de donnes e surface.mesh : la surface interpolante e surface iso.vect : un ensemble disoparamtriques sur la surface Visualiser ces chiers ` laide du chier geomview.world en tapant la commande : a geomview points.sphere surface_iso.vect surface.mesh geomview.world & EXERCICE-SM 8 : Dans le script fourni, la fonction spline utilise est la fonction h(t) = t3 (spline cubique). e Comparer les surfaces obtenues avec h(t) = t3 , h(t) = t2 ln t (spline plaque mince) et h(t) = t Approximation Approcher aux moindres carrs, un ensemble de n points Pi = (xi , yi , zi ) par une fonction z = f (x, y) avec e
p

f (x, y) =
j=1

cj fj (x, y)

revient ` determiner les p coecients cj tel que a


n

(f (xi , yi ) zi )2 soit minimal


i=1

et revient ` rsoudre le syst`me a e e M T M c = M T z A c = b avec A = M T M et b = M T z avec z le vecteur des zi et M la matrice telle que M(i, j) = Mi,j = fj (xi , yi ). EXERCICE-SM 9 : Compl`ter la routine approximation du script approximation.sce an dapprocher des points par une fonction polye nomiale de degr 2 en x et degr 2 en y : e e f (x, y) = c1 + c2 x + c3 x2 + c4 y + c5 x y + c6 x2 y + c7 y 2 + c8 x y 2 + c9 x2 y 2 Charger et excuter le script (routine main). e Trois chiers au format Geomview sont crs : ee points.vect : les points de donnes e surface.mesh : la surface interpolante e surface iso.vect : un ensemble disoparamtriques sur la surface Visualiser ces chiers ` laide du chier geomview.world en tapant la commande : a geomview points.vect surface_iso.vect surface.mesh geomview.world &

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

1.2.3

Surface de remplissage

Interpolation de 2 courbes Le script interp 2courbes lineaire.sce interpole deux courbes C1 (u) et C2 (u) par une surface S(u, v) en utilisant le procd dinterpolation linaire en v. e e e Charger et excuter ce script (routine main) e Quatre chiers au format Geomview sont crs : ee C1.vect : la courbe C1 en rouge C2.vect : la courbe C2 en bleu surface.mesh : la surface S interpolante e surface iso.vect : ensemble disoparamtriques sur la surface Visualiser ces chiers ` laide du chier geomview.world en tapant la commande : a geomview C[12].vect surface.mesh surface_iso.vect geomview.world & EXERCICE-SM 10 : i) compl`ter le script interp 2courbes hermite.sce an dinterpoler deux courbes C1 (u) et C2 (u) avec deux champs e de vecteurs (drivees transverses) T1 (u) et T2 (u) par une surface S(u, v) en utilisant le procd dinterpolation de Hermite e e e e en v. Charger et excuter ce script (routine main) e Six chiers au format Geomview sont crs, les quatre chiers C1.vect, C2.vect, surface.mesh et surface iso.vect ee (cf. interp 2courbes lineaire.sce) et les deux chiers supplmentaires : e T1.vect : champ de vecteur (drives transverses) ` la courbe C1 en rouge e e a T2.vect : champ de vecteur (drives transverses) ` la courbe C2 en bleu e e a Visualiser ces chiers ` laide du chier geomview.world en tapant la commande : a geomview [CT][12].vect surface.mesh surface_iso.vect geomview.world & ii) comparer direntes surfaces obtenues en modiant les drives transverses T1 et T2 (modier les coecients a,b,c,d) e e e Interpolation de 4 courbes - Procd de Coons e e Le script interp coons lineaire.sce interpole 4 courbes C1 (u), C2 (v), C3 (u), C4 (v) formant un rseau ferm par une e e surface S(u, v) en utilisant le procd de Coons linaire. e e e Charger et excuter ce script (routine main) e Douze chiers au format Geomview sont crs : ee C1.vect, C2.vect, C3.vect, C4.vect : les 4 courbes (resp. en noir, vert, rouge, bleu) surface coons 13.mesh, surface coons 13 iso.vect : la surface interpolant C1 et C3 avec un ensemble disoparamtriques e surface coons 24.mesh, surface coons 24 iso.vect : la surface interpolant C2 et C4 avec un ensemble disoparamtriques e surface coons PT.mesh, surface coons PT iso.vect : la surface interpolant les quatre coins avec un ensemble disoparamtriques e surface coons.mesh, surface coons iso.vect : la surface interpolant C1 et C3 avec un ensemble disoparamtrique e Visualiser ces chiers ` laide du chier geomview.world en tapant la commande : a geomview C?.vect surface_coons* geomview.world & Visualiser notamment chacune des 4 surfaces avec les 4 courbes. Tester les trois jeux de donnes (main(1), main(2) et main(3)) e

Reconstruction & G.A. - 2011/2012

TP1 - Donnes paramtres et ordonnes e e e e

EXERCICE-SM 11 : i) compl`ter le script interp coons hermite.sce an dinterpoler quatre courbes Ci avec pour chacune un champ de e vecteur (drivees transverses) Ti par une surface S(u, v) en utilisant le procd de Coons avec linterpolation de Hermite. e e e e Charger et excuter ce script (routine main) e Seize chiers au format Geomview sont crs, les douze chiers prcdents (cf. interp coons lineaire.sce) et les quatre ee e e chiers supplmentaires : e T1.vect, T2.vect, T3.vect, T4.vect : champs de vecteur (drives transverses) aux courbes C1 , C2 , C3 , C4 (resp. e e en gris, vert clair, rouge clair, bleu clair) Visualiser ces chiers ` laide du chier geomview.world en tapant la commande : a geomview [CT]?.vect surface_coons* geomview.world & Visualiser notamment chacune des 4 surfaces avec les 4 courbes et les 4 champs de vecteurs drives transverses. e e Tester les deux jeux de donnes (main(1) et main(2)) e ii) comparer direntes surfaces obtenues en modiant les vecteurs twists e Procd de Coons - Raccord de deux patchs e e e Les jeux de donnes 1 et 2 des scripts interp coons lineaire.sce et interp coons hermite.sce forment deux rseaux e de courbes qui se raccordent (la courbe C1 du patch 1 est gale ` la courbe C3 du patch 2). e a De plus les courbes C2 des deux patchs se raccordent avec la continuit C 1 (tangentes identiques au point de raccord), e et de mme pour les courbes C4 . e EXERCICE-SM 12 : : Comparer les deux patchs obtenus : a) avec linterpolation linaire (script interp coons lineaire.sce) e b) avec linterpolation de Hermite (script interp coons hermite.sce)

Reconstruction & G.A. - 2011/2012

10

TP1 - Donnes paramtres et ordonnes e e e e

Vous aimerez peut-être aussi