« Programmation objet et géométrie/Objets géométriques de DrGeoII » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 13 :
Commençons par un exercice simple et pas tellement géométrique:
 
{{Cadre|<code>Écrire l'équation réduite de la droite passant par les points A(-2;1) et B(3;3).
</code>}}
 
Un algorithme relativement simple, trouvé par un élève de Seconde, est le suivant:
Ligne 20 :
#Calculer, à partir des coordonnées de A et B, le [[w:Coefficient directeur|coefficient directeur]] de la droite (AB);
#Construire (discrètement) l'axe des ordonnées (s'il n'est pas déjà sur la figure);
#Lire l'ordonnée du point d'intersection de (AB) et l'axe des ordonnées: C'est l'[[Ordonnée à l'origine|ordonnée à l'origine]].
#Regrouper les informations obtenues aux points précédents pour avoir l'[[w:Équation réduite|équation réduite]] et afficher celle-ci.
 
Pour une traduction de cet algorithme en ''SmallTalk'', on commencer par créer une figure ''DrGeoII'' dans un espace de travail ''SmallTalk'' (un objet qu'on peut instancier avec ''Control+K'' en dehors de toute figure ''DrGeoII''), par
 
<source lang="smalltalk">
figure:=DrGeoCanvas new.
</source>
 
L'effet produit est l'instanciation (par ''new'') de l'objet ''figure'' qui est une figure ''DrGeoII'' (un [[w:Canevas|DrGeoIICanvas]]), et dans laquelle on va effectuer les constructions. On commence par placer les points A et B d'après leurs coordonnées (séparées par une [[w:Arrobase|arobase]]), puis la droite allant de l'un à l'autre (dont la référence est stockée dans ''d''):
 
<source lang="smalltalk">
a:=figure point: (-2)@1.
b:=figure point: 3@3.
d:=figure line: a to: b.
d color: Color blue.
</source>
 
''d'' est un objet ''droite par deux points'', et hérite donc (au-delà des générations) d'une méthode ''couleur'', qui permet de la colorier en bleu.
 
===Intersection===