Ceux qui ne sont intéressés que par les questions proprement mathématiques des intersections de cercles et d'ellipses pourront passer directement au B. La grande majorité des livres d'Optique géométrique, lorsqu'ils abordent la question des instruments visuels comportant un oculaire (microscope, lunette astronomique,...), indiquent que l'œil de l'observateur – ou plus précisément la pupille d'entrée de cet œil, c'est-à-dire le conjugué objet de l'ouverture de l'iris à travers la cornée – doit être placé dans le plan du cercle oculaire (conjugué image du diaphragme d'ouverture de l'instrument à travers tous les composant optiques qui lui succèdent). Il faut bien sûr que le plan du cercle oculaire soit réel (situé après la dernière lentille de l'oculaire) et suffisamment éloigné pour que l'œil puisse se positionner sans aucune gêne. Le pédagogue, pour imager cette condition, pourra assimiler le cercle oculaire à un trou de serrure, et expliquer que, si l'on souhaite voir se qui se passe dans une pièce, avec le maximum de champ, il suffit de coller son œil à ce trou de serrure. Par analogie, pour un instrument visuel, il faut, si l'on veut bénéficier de la totalité du champ instrumental, placer son œil au cercle oculaire. Une lecture, il y a plusieurs années, du vieux livre de H.Pariselle « Les Instruments d'Optique », édité chez Armand Colin en 1935 (dans la Collection Armand Colin, Section de Physique : une remarquable série de livres de poche, avant l'heure) avait créé en moi le doute, car il y était dit que c'était en réalité le centre de rotation de l'œil qu'il fallait placer dans le plan du cercle oculaire. Comme ce centre de rotation est à environ 12 mm au-delà de la pupille d'entrée, celle-ci devrait être placée 12 mm en avant du cercle oculaire, ce qui est, à l'échelle de l'œil, une distance non négligeable. A. Œil et champs d'un instrument d'optique L'exemple traité est celui d'une lunette astronomique afocale, dite lunette de Kepler. Le cas du microscope utilisé par un emmétrope n'accommodant pas (avec donc une image instrumentale à l'infini) se traiterait de la même manière. Pour une image instrumentale à distance finie, la projection parallèle effectuée dans l'espace image de l'instrument sera remplacée par une projection conique. La lunette astronomique afocale peut être simplement modélisée par deux lentilles minces convergentes. La première L1, de grande focale, représente l'objectif (composant du côté de l'objet), la seconde L2, l'oculaire (composant du côté de l'œil). Le foyer principal image de l'objectif coïncide avec le foyer principal objet de l'oculaire ; l'image instrumentale d'un point objet à l'infini est donc aussi à l'infini. Le grossissement de la lunette est, par définition, égal au quotient de l'angle sous lequel est vue l'image instrumentale et de l'angle sous lequel l'objet serait vu à lœil nu. On peut en déduire que G = f'ob/f'oc.
2) Champs statiques et champs dynamiques Une lunette ne fonctionne pas toute seule. Il faut lui adjoindre un observateur, ou plus précisément l'œil d'un observateur. Or cet œil est un instrument d'optique spécifique, avec son diaphragme d'ouverture (l'iris) et sa pupille d'entrée (le conjugué objet de l'iris à travers la cornée). Il est donc nécessaire de prendre en compte ce troisième diaphragme lorsque l'on étudie les champs du système lunette + œil. De façon classique, la pupille d'entrée de l'œil, qui appartient à l'espace image de la lunette et joue le rôle de troisième diaphragme, est représentée centrée avec les deux autres diaphragmes. Tout se passe donc comme si l'œil regardait dans la direction de l'axe optique, c'est-à-dire au centre du champ. L'image rétinienne de ce centre tombe alors sur la fovéa qui, sur la rétine, est la zone de vision précise (là où la résolution est la plus élevée). Au-delà de la fovéa, qui est associée dans l'espace objet de l'œil à un angle d'environ 1 degré, la résolution chute très rapidement avec l'angle, comme le montre la courbe suivante qui représente la variation d'acuité sur un méridien passant par le centre de la fovéa et la tache aveugle (départ du nerf optique, où l'absence de cellules receptrices se traduit par ne résolution nulle). Ainsi, pour des angles de 10 et 20 degrés, l'acuité (grandeur proche de la résolution) diminue d'un facteur 5 et 10 (flèches rouges). Le champ total image d'un instrument visuel dépasse facilement la vingtaine de degrés. Pour utiliser sa périphérie trois possibilités s'offrent :
À partir de ces remarques on peut envisager deux manières d'aborder les champs d'un instrument visuel avec oculaire :
1) Projection parallèle On traite le cas particulier suivant : Soit un ensemble de diaphragmes circulaires dont les centres appartiennent à un même plan (P), plan de symétrie pour les diaphragmes. Il s'agit de projeter ces diaphragmes, selon une direction (D) parallèle à (P), sur un plan (Q) perpendiculaire à (P). Les différentes étapes de la macrocommande peuvent être suivies en faisant Édition / Revoir la construction dans Cabri Géomètre, avec le fichier ProjectionParalleleCercle.fig, inclus dans le fichier ChampsStatDyn.zip (voir Téléchargements à la fin de Cabri Cabrac). Le détail de la macro est donné ci-après. ProjectionParalleleCercle, no name Help: "segment, droite (plan de projection), droite (direction de projection)" Mth: 0 CN:3, ON:24, FN:6, PO:23 CT: segment, CS 2, default settings, line, CS 1, default settings, line, CS 1, default settings, Const: Mid, Mth:1, 0, CN:1, VN:1, Const: 3 Par, Mth:0, 0, CN:2, VN:4, Const: 8 5 Perp, Mth:0, 0, CN:2, VN:4, Const: 8 9 Cir, Mth:1, 0, CN:2, VN:2, Const: 8 1 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 10 11 Int, Mth:0, 0, CN:2, VN:1, int ind:0x10000, Const: 10 11 Par, Mth:0, 0, CN:2, VN:4, Const: 1 7 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 14 9 Sym, Mth:0, 0, CN:2, VN:1, Const: 15 8 Par, Mth:0, 0, CN:2, VN:4, Const: 15 10 Par, Mth:0, 0, CN:2, VN:4, Const: 13 9 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 17 18 Mid, Mth:0, 0, CN:2, VN:1, Const: 8 13 Mid, Mth:0, 0, CN:2, VN:1, Const: 13 19 Seg, Mth:0, 0, CN:2, VN:2, Const: 19 20 Seg, Mth:0, 0, CN:2, VN:2, Const: 15 21 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 22 23 Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 5 14, default settings, Vec, Mth:0, 0, CN:2, VN:2, Const: 15 25 Tran, Mth:0, 1, CN:2, VN:1, Const: 13 26, default settings, Tran, Mth:0, 1, CN:2, VN:1, Const: 24 26, default settings, Tran, Mth:0, 1, CN:2, VN:1, Const: 12 26, default settings, Tran, Mth:0, 1, CN:2, VN:1, Const: 16 26, default settings, Con, Mth:0, 1, CN:5, VN:11, Const: 27 28 25 29 30, default settings, 2) Point sur ou dans un cercle La position d'un point par rapport à une courbe fermée – le cas classique étant celui du cercle – peut être abordé de multiples façons et les utilisateurs de Cabri ont certainement développé diverses solutions. L'idée que j'ai appliquée il y a quelques années, pour le cercle, consistait à utiliser l'inversion et créer un point conditionnel : si un point M est à l'intérieur du cercle, son inverse M' est à l'extérieur, et le segment M'C coupe le cercle en P ; dans le cas contraire, M' est à l'intérieur du cercle, et le point P n'existe pas (voir MacroInterDisk et suite). Cette méthode semble très bien adaptée à Cabri, mais là où le bât blesse, c'est lorsque M est en C, ou bien sur le cercle. La nouvelle méthode consiste simplement à comparer le rayon du cercle à la distance qui sépare le point du centre du cercle. Hors0Sur1Dans1Cercle, no name Help: "point, cercle" Mth: 0 CN:2, ON:5, FN:1, PO:4 CT: point, CS 0, default settings, circle, CS 1, default settings, Const: Lgth, Mth:1, 0, CN:2, VN:1, Const: 1 2 Mesure de la distance point-centre du cercle : MC Lgth, Mth:1, 0, CN:2, VN:1, Const: 2 3 Mesure du rayon du cercle :R Formula, Mth:0, 0, CN:2, VN:1, Const: 5 4, formula: a-b Calcul de R - MC Formula, Mth:0, 0, CN:1, VN:1, Const: 6, formula: sign(a)+(1+sign(a))*(1-sign(a)) Fonction sign2(x) : égale à -1, si x est négatif, à +1, si x est nul ou positif ; elle donne ici -1, si le point est à l'extérieur du cercle, +1 s'il est sur le cercle ou à l'intérieur de celui-ci. Formula, Mth:0, 1, CN:1, VN:1, Const: 7, default settings, , formula: (1+a)/2 On obtient par cette formule 0, pour le point extérieur, et + 1 point le point sur ou intérieur. Remarques
3) Point sur ou dans une ellipse La procédure est la suivante :
Help: "point, ellipse, axes" Mth: 0 CN:3, ON:39, FN:1, PO:38 CT: point, CS 0, default settings, coordinate system, CS 1, default settings, conic, CS 5, default settings, Const: Eq/Co, Mth:0, 0, CN:2, VN:3, X2PXYPY2EG0, cart, Const: 4 3 Formula, Mth:0, 0, CN:1, VN:1, Const: 10, formula: abs(a) Formula, Mth:0, 0, CN:1, VN:1, Const: 11, formula: sign(a)+(1+sign(a))*(1-sign(a)) Il s'agit de fabriquer le nombre 1 (pour ne pas l'ajouter aux trois éléments désignés pour effectuer la macro), nombre qui servira plus loin dans la construction du repère associé à l'ellipse : la méthode (un peu alambiquée ; il y aurait plus simple ici en mesurant la distance entre deux points de l'ellipse, nécessairement distincts, et en divisant cette valeur par elle-même) consiste à relever les coordonnées, dans le repère désigné dans les objets initiaux, d'un point existant (ici le premier point de l'ellipse) ; on prend ensuite la valeur absolue de l'une de ces coordonnées, l'abscisse par exemple, dont on cherche le signe (0 ou 1) ; on applique enfin la fonction sign2 précisée plus haut...ouf!!! Seg, Mth:0, 0, CN:2, VN:2, Const: 4 5 Seg, Mth:0, 0, CN:2, VN:2, Const: 5 6 Par, Mth:0, 0, CN:2, VN:4, Const: 6 13 Int, Mth:0, 0, CN:2, VN:1, int ind:0x10000, Const: 15 9 Mid, Mth:0, 0, CN:2, VN:1, Const: 6 16 Mid, Mth:1, 0, CN:1, VN:1, Const: 13 Par, Mth:0, 0, CN:2, VN:4, Const: 4 14 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 19 9 Mid, Mth:0, 0, CN:2, VN:1, Const: 4 20 Mid, Mth:1, 0, CN:1, VN:1, Const: 14 Line, Mth:1, 0, CN:2, VN:4, Const: 18 17 Line, Mth:1, 0, CN:2, VN:4, Const: 22 21 Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 23 24 Recherche du centre de l'ellipse : en utilisant trois points parmi les cinq qui définissent l'ellipse, on définit deux couples de cordes parallèles entre elles ; les droites des milieux de ces cordes se coupent en C. Perp, Mth:0, 0, CN:2, VN:4, axis:x, Const: 25 3 Perp, Mth:0, 0, CN:2, VN:4, axis:y, Const: 25 3 Transf, Mth:2, 0, CN:2, VN:1, Const: 25 12 Cir, Mth:1, 0, CN:2, VN:2, Const: 25 28 Cercle de rayon unité passant par le centre de l'ellipse : c'est là que l'on récupère le 1 calculé au début. Int, Mth:0, 0, CN:2, VN:1, int ind:0, Const: 27 29 Int, Mth:0, 0, CN:2, VN:1, int ind:0x10000, Const: 26 29 Axes, Mth:1, 0, CN:3, VN:3, cart, Const: 25 30 31 Création d'un repère orthonormé de centre le centre de l'ellipse. Int, Mth:0, 0, CN:2, VN:1, int ind:0x10000, Const: 32 9 Int, Mth:0, 0, CN:2, VN:1, int ind:0x10001, Const: 32 9 Intersections des axes de ce repère avec l'ellipse. Biss, Mth:0, 0, CN:3, VN:4, Const: 33 25 34 Int, Mth:0, 0, CN:2, VN:1, int ind:0x10000, Const: 35 9 Intersection de la bissectrice des axes avec l'ellipse. Eq/Co, Mth:0, 0, CN:2, VN:3, X2PXYPY2EG0, cart, Const: 33 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 34 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2PXYPY2EG0, cart, Const: 36 32 Coordonnées des trois points précédents dans le nouveau repère. Formula, Mth:0, 0, CN:1, VN:1, Const: 38, formula: 1/a^2 Formula, Mth:0, 0, CN:1, VN:1, Const: 37, formula: 1/a^2 Formula, Mth:0, 0, CN:1, VN:1, Const: 39, formula: 1/a^2 Formula, Mth:0, 0, CN:3, VN:1, Const: 42 40 41, formula: a-b-c Coefficients définissants l'équation de l'ellipse dans le nouveau repère. Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 1 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2PXYPY2EG0, cart, Const: 1 32 Coordonnées du point M dans le nouveau repère. Formula, Mth:0, 0, CN:5, VN:1, Const: 41 45 43 44 40, formula: 1-(a*b^2+c*b*d+e*d^2) Formula, Mth:0, 0, CN:1, VN:1, Const: 46, formula: sign(a)+(1+sign(a))*(1-sign(a)) Formula, Mth:0, 1, CN:1, VN:1, Const: 47, default settings, , formula: (1+a)/2 Position de M paramétrée par 0 ou 1. 4) Application à l'intersection de plusieurs ellipses Soit 5 ellipses, pour prendre un exemple. On recherche leur intersection. Pour cela :
C. Application au problème du cercle oculaire Soit une lunette de Kepler afocale, mise au point à l'infini. Elle donne, d'un point objet à l'infini, une image à l'infini à laquelle est associé un faisceau parallèle. L'ouverture de ce faisceau est définie par la pupille de sortie de la lunette, c'est-à-dire par le cercle oculaire. Il s'agit de déterminer l'ensemble des rayons de ce faisceau qui pénètrent dans l'oeil de l'observateur. Pour celà, on effectue une projection parallèle de la lucarne de sortie L2 et du cercle oculaire L'1 dans le plan de la pupille d'entrée de l'oeil Pe, et l'on recherche la partie commune à L2*, L'1* et Pe (où L2* et L'1* sont les projections). La direction de projection est réglée par le déplacement d'un point sur un arc de cercle. On peut modifier divers paramètres (voir points creux sur la figure ci-après). Attention ! Le Plug-in Cabri est nécessaire pour la visualisation des deux exemples suivants. Dans l'étude dynamique des champs (en haut sur la figure), on ne prend en compte que les rayons qui sont perpendiculaires au plan de la pupille de l'œil et sont focalisés sur la fovéa. L'œil tourne avec la direction de projection. L2* et L'1* sont des ellipses. Dans l'étude statique (en bas sur la figure), les trois diaphragmes sont fixes et appartiennent à des plans parallèles entre eux. L2* et L'1* sont des cercles. Les deux animations ci-après montrent, pour les deux positions remarquables de l'œil, les variations d'éclairement de sa pupille d'entrée, variations proportionnelles à l'aire éclairée. On peut, en stoppant les animations, agir directement sur l'inclinaison des rayons à la sortie de la lunette (cliquer-glisser sur le point qui décrit l'arc de cercle) et sur le domainbe de variation de l'angle de champ image (point creux à l'extrémité supérieure de l'arc). Le Plug-in Cabri est nécessaire pour la visualisation des deux exemples suivants. Centre de rotation de l'œil au cercle oculaire |