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