Tracer des courbes avec une imprimante matricielle 1S
Transcription
Tracer des courbes avec une imprimante matricielle 1S
Tracer des courbes avec une imprimante matricielle Fiche Élève 1S Auteurs : J-MD, PL,RM Une imprimante matricielle ne peut déplacer son stylet qu’horizontalement (parallèlement à l’axe des abscisses) ou verticalement (parallèlement à l’axe des ordonnées). Elle peut donc tracer tout segment de droite horizontal ou vertical. Nous examinons ci-dessous comment tracer n’importe quel segment de droite, puis une ligne brisée formée de deux segments et enfin un arc de sinusoïde. Nous verrons que les solutions obtenues profitent largement des défauts de notre vision. I - Tracer un segment oblique Le segment [AB] à tracer est donné par les coordonnées (xA , yA ) de A et (xB , yB ) de B auxquelles on n’impose aucune restriction. Étant donné un entier N ≥ 1, divisons les intervalles [xA , xB ] et [yA , yB ] en N sous-intervalles consécutifs de même longueur. On pose α= xB − xA N et β = yB − yA N (1) Le stylet de l’imprimante étant positionné en A, on lui demande de se déplacer comme suit : 1. aller du point A au point de coordonnées (xA + α, yA ) puis de ce point au point de coordonnées (xA + α, yA + β) (un mouvement horizontal suivi d’un mouvement vertical), 2. répéter ces deux mouvements jusqu’à ce que le stylet arrive en B. Par commodité, on appellera « escalier AB » le chemin parcouru par le stylet. I.1 - Dessiner l’escalier AB sur le croquis suivant (où on a supposé que N = 5). I.2 - Démontrer que l’escalier AB se trouve dans le parallèlogramme A’ A” B” B’ dont les sommets sont respectivement les points de coordonnées (xA , yA − β), (xA , yA + β), (xB , yB + β) et (xB , yB − β). Que peut-on dire si N est grand ? I.3 - Écrire, sous une forme exécutable par « scilab » ou « Xcas », un algorithme qui permette 1. d’entrer les données N , xA , yA , xB , yB , 2. de tracer l’escalier AB. I.4 - Exécuter l’algorithme précédent en donnant successivement à N les valeurs 20, 80, 300. Que constate-t-on ? II - Tracer une ligne brisée On ajoute aux données précédentes un point C de coordonnées (xC , yC ). On définit l’escalier BC comme précédemment. II.1 - Dessiner les escaliers AB et BC sur le croquis suivant (où on a supposé N = 5). II.2 - Écrire, sous une forme exécutable par « scilab » ou « Xcas », un algorithme qui permette 1. d’entrer les données supplémentaires xC et yC , 2. de tracer les escaliers AB et BC. II.3 - Exécuter l’algorithme précédent en donnant successivement à N les valeurs 20, 80, 300. Que constate-t-on ? III - Tracer l’arc de sinusoïde entre 0 et π Pour tracer le graphe d’une fonction f sur un intervalle [a, b], on partage cet intervalle à l’aide de n+1 points régulièrement espacés x1 = a, . . . , xn+1 = b, puis on calcule leurs ordonnées y1 = f (x1 ), . . . , yn+1 = f (xn+1 ). Ayant appelé M1 , M2 , . . . , Mn+1 les points de coordonnées (x1 , y1 ), . . . , (xn+1 , yn+1 ), on trace enfin les escaliers M1 M2 , . . . , Mn Mn+1 comme ci-dessus après avoir choisi une valeur commune de N pour tous ces tracés, pour simplifier. La réunion de tous ces escaliers est un tracé approximatif de graphe de f . Seules les extrémités des escaliers, c’est à dire les points M1 , M2 , . . . , Mn+1 appartiennent à coup sûr au graphe de f . Dans le cas de la fonction sinus sur [0, π], si n est choisi grand, l’arc de sinusoïde Mi Mi+1 joignant deux points consécutifs sera assez proche du segment [Mi Mi+1 ] qui sera lui aussi assez proche de l’escalier Mi Mi+1 , quelle que soit la valeur de N . Aussi, nous allons choisir N = 2 pour vérifier expérimentalement ces considérations. III.1 - Écrire, sous une forme exécutable par « scilab » ou « Xcas », un algorithme qui permette 1. d’entrer 4 valeurs de n rangées dans l’ordre croissant, par exemple 5, 20, 50, 500. 2. de tracer les approximations en escalier de cet arc de sinusoïde obtenues pour ces valeurs de n. II.3 - Exécuter l’algorithme précédent. Que constate-t-on ? 2