Sont donnés : un point sur l'axe des x (centre optique de la première lentille, par exemple), l'axe des x, un point C et deux cercles de centre C, un nombre positif très petit (par exemple 0,0001). La macro construit un point B (point objet) dont la position peut être commandée transversalement et obliquement par deux manettes.
A. Macro-commande La macro-commande est commentée (en rouge) à partir du fichier texte. Pour bien comprendre l'enchaînement des constructions, il est recommandé de se munir d'un crayon et d'une feuille de papier, ou alors, de travailler directement sur CABRI. On rappelle que chaque élément géométrique est numéroté, dans l'ordre de son apparition. Les lignes concernant les icônes ont été supprimées. PointObjetB, no name Help: ''Axes, point sur axe x, centre C, deux cercles de centre C, nombre 0,1'' le nombre 0,1 peut être remplacé par un nombre beaucoup plus petit (0,000001) comme dans l'exemple ci-dessus ; 0,1 est la valeur choisie dans la construction de la macro, pour y voir clair ! l'utilité de ce nombre est expliquée plus bas (arc de cecle 20) Mth: 0 CN:6, ON:22, FN:12, PO:6 CT: coordinate system, CS 1, default settings, 1 représente le centre des coordonnées et 2 les axes point, CS 0, default settings, point 3, sur l'axe des x point, CS 0, thick, CIRCLE, point 4 (centre des deux arcs de cercle de commande circle, CS 1, invisible, premier cercle (petit) : centre 5, cercle 6 circle, CS 1, invisible, second cercle (grand) : centre 7, cercle 8 number, CS 0, default settings, nombre 9 (choisi égal à 0,1) Const: Perp, Mth:0, 0, CN:2, VN:4, axis:y, Const: 7 2 droite 10 : perpendiculaire menée du point 7 à l'axe y des axes 2 Perp, Mth:0, 0, CN:2, VN:4, axis:x, Const: 7 2 droite 11 : perpendiculaire menée du point 7 à l'axe x des axes 2 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 10 8 point 12 d'intersection (point à droite) de la droite 10 avec le cercle 8 Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 11 6, invisible, point 13 d'intersection (point en bas) de la droite 11 avec le cercle 6 Int, Mth:0, 1, CN:2, VN:1, int ind:0x10000, Const: 11 6, invisible, point 14 d'intersection (point en haut) de la droite 11 avec le cercle 6 Int, Mth:0, 1, CN:2, VN:1, int ind:0x10000, Const: 10 6, invisible, point 15 d'intersection (point à gauche) de la droite 10 avec le cercle 6 Arc, Mth:0, 1, CN:3, VN:5, Const: 14 15 13, color:O, arc de cercle 16 joignant les points 14 15 et 13 Int, Mth:0, 1, CN:2, VN:1, int ind:0x10000, Const: 11 8, invisible, point 17 d'intersection (point en haut) de la droite 11 avec le cercle 8 Rot, Mth:0, 1, CN:3, VN:1, Const: 12 7 9, invisible, point 18 obtenu par la rotation du point 12 (à droite sur le grand cercle) autour du centre 7 (grand cercle) de la valeur du nombre 9 Refl, Mth:0, 1, CN:2, VN:1, Const: 18 11, invisible, point 19, symétrique du point 18 par rapport à la droite 11 (verticale) Arc, Mth:0, 1, CN:3, VN:5, Const: 19 17 18, color:meo, arc de cercle 20 défini par les points 19, 17 et 18 cet arc de cercle permet d'éliminer les discontinuités quand le point objet est à l'infini ; plus le nombre 9 sera petit (il peut être modifié une fois la macro appliquée) et plus le point ''à l'infini'' se rapprochera de l'infini. Pour s'en assurer, on peut afficher les coordonnées du point B, les fixer au voisinage du centre des coordonnées, bloquer la commande axiale de B à l'horizontale, et faire varier le nombre 9 : 0,1 / 0,01 / 0,001 etc. On constatera que le point B s'éloigne de plus en plus. Perp, Mth:0, 0, CN:2, VN:4, axis:x, Const: 3 2 droite 21 perpendiculaire à l'axe x des axes 2 au point 3 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 10 21 point d'intersection 22 de la droite 21 avec la droite 10 Pt/, Mth:4, 1, CN:1, VN:2, Const: 16, color:O, thick, CIRCLE, point courant 23 sur l'arc de cercle 16 Pt/, Mth:4, 1, CN:1, VN:2, Const: 20, color:meo, thick, CIRCLE, point courant 24 sur l'arc de cercle 20 Seg, Mth:0, 1, CN:2, VN:2, Const: 7 23, color:O, segment 25 joignant les points 7 et 23 ; il s'agit de la manette de commande du mouvement transversal de B Par, Mth:0, 0, CN:2, VN:4, Const: 3 25 droite 26 parallèle au segment 25 passant par le point 3 Seg, Mth:0, 0, CN:2, VN:2, Const: 7 24 segment 27 joignant les points 7 et 24 ; il s'agit de la manette de commande du mouvement axial de B Par, Mth:0, 0, CN:2, VN:4, Const: 22 27 droite 28 parallèle au segment 27 et passant par le point 22 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 28 2 point 29 d'intersection de la droite 28 avec l'axe des x des axes 2 Perp, Mth:0, 0, CN:2, VN:4, axis:x, Const: 29 2 droite 30 perpendiculaire à l'axe x²des axes 2 au point 29 Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 26 30, default settings, point 31 d'intersection de la droite 30 avec la droite 26 : c'est le point B B. Remarques
|