Optique géométrique

Manuel Luque

Mluque5130@aol.com

1. Propriétés des lentilles
2. Caustique d'une lentille.
3. Les lentilles.
4. Les miroirs.

1 Propriétés des lentilles :

Pour illustrer les propriétés des lentilles convergentes et divergentes, voilà une illustration, réalisée avec le package pst-lens que nous avions réalisé en commun avec Denis Girou et dont il avait assuré une magistrale et magnifique documentation.
pst-lens.tex ; pst-lens.sty et pour la documentation : pst-lens.zip
loupe1.tex divergente1.tex

2 Caustique d'une lentille :

Avec PSTricks et pst-node, on peut calculer et tracer la marche de rayons lumineux à travers des lentilles ou se réfléchissant sur des miroirs. Voici juste un échantillon avec son fichier source.

caustique1.tex
Et aussi la caustique d'un miroir hémisphérique :

caustiqueMiroir.zip
Tous les fichiers autres que pst-node et pstcol ont été inclus dans le fichier (fp et la version de multido compatible avec fp).

3 Les lentilles

En essayant de mettre au point cette extension à PSTricks qui s'appuie sur pst-node je me suis posé beaucoup de questions sur les choix qu'il convenait de faire.
Pour une lentille convergente(CVG) ou divergente(DVG) les calculs peuvent être menés sans difficulté dans pst-node, qui à partir des données de la position et de la taille de l'objet ainsi que de la focale de la lentille donneront la taille et la position de l'image. On peut donc récupérer la position OA' et la taille de l'image A'B'.
Ensuite se posent les choix suivants : Voici une ébauche de cette future extension, qui pour une lentille CVG trace toute la construction avec trois rayons, mais les paramètres éventuellement incorrects ne sont pas vérifés.

CVG1.tex

22 juin 2001

On peut choisir de représenter la lentille mince de deux façons : par défaut c'est la représentation classique qui est activée, avec le paramètre CVG=true c'est une lentille mince à faces bombées qui est dessinée. La taille de la lentille est paramétrable avec scaleCVG=x. Par défaut scaleCVG=1, cela donne une lentille de rayon 2,5 cm.

CVG2.tex

23 juin 2001

Si l'option drawing=false est activée, seuls la lentille et les foyers sont placés. Il faut donc dessiner tout le reste. Mais comme les points essentiels sont référencés : (A), (B), (O), (A'), (B'), (F), (F'), (I), (I'), (I1) et (I2), on peut utiliser les commandes de tracé de ligne : \psline et \pcline. Les points I1 et I2 n'apparaissent ici que pour la construction, ils ont pour coordonnées respectives I1(XPIC,A'B') et I2(-XPIC,A'B')
Voici les points référencés placés sur le schéma.
Un exemple d'utilisation :

CVG3.tex
Il peut être utile de prolonger un segment de droite AB au-delà de l'une de ses extrémités, d'une certaine longueur. La commande \psOutLine[length=...](A)(B) permet de tracer un segment de longueur length cm à partir de B dans le prolongement de AB. Par défaut cette longueur est de 1 cm. \psOutLine[length=...](A)(B) a tous les attributs de \psline c'est-à-dire qu'en particulier on peut la flécher, en ajoutant dans la liste des paramètres arrows=->.
L'extrémité du tracé est référencé par (END). On peut donc, après utilisation de la commande, se servir de ce point dans le tracé d'une ligne, comme par exemple avec \psline(A)(END).
Remarque : \psOutLine[...] peut sembler faire double emploi avec la commande de pst-node \pcline[nodesepB=-4](A)(B) qui prolonge le segment AB de 4 cm au-delà de B. Mais \pcline[nodesepB=-4](A)(B) trace le segment AB, tandis que \psOutLine[length=4](A)(B)ne trace pas le segment AB, mais uniquement son prolongement.
Voici un exemple où cette commande est utilisée (loupe).

CVG4.tex
Questions en suspens : reste à traiter le cas où l'objet est virtuel et le cas des lentilles divergentes, pour lesquelles les calculs sont les mêmes, mais il reste à choisir :
  1. le choix pour la construction activée par drawing=true. Le cas plus usuel me semble être celui où l'objet est réel (l'image est bien sûr virtuelle), c'est donc celui-ci qu'il faudrait dessiner ?
  2. Faut-il intégrer les deux types de lentilles dans une même commande \Lens[...] ? Des problèmes vont apparaître si les deux lentilles sont représentées ensemble : il faudra étiqueter leurs points caractéristiques de façon différente !

24 juin 2001

Ce premier essai sur les lentilles divergentes est calqué sur les lentilles convergentes : c'est le même module à ceci près que la focale par défaut vaut focale=-3 et que CVG est devenu DVG. L'option drawing=true qui est activé (par défaut) se place dans le cas d'un objet réel. Le fichier qui contient les schémas suivants est : DVG1.tex


25 juin 2001

Revenons au lentilles convergentes, pour essayer de résoudre la question suivante : comment construire le cheminement d'un faisceau lumineux issu d'un point source (B) ?
Pour cela, il peut être aussi utile de tracer le prolongement d'un segment AB avant son début. La commande \psBeforeLine[length=...](A)(B) permet de tracer un segment de longueur length cm qui commencera avant A et dont l'extrémité sera A. L'origine du tracé est référencé par (START). On peut donc, après utilisation de la commande, se servir de ce point dans le tracé d'une ligne, comme par exemple avec \psline(START)(A). L'image illustrant tout ce qui vient d'être dit ainsi tout ce qui concerne les lentilles convergentes est dans le fichier : CVG6.tex
\begin{pspicture}*(-7.5,-3)(7.5,3)
\rput(0,0){%
\CVG[scaleCVG=1.2,XO=-2]}
\pnode(! XO 1.5){B1}% les deux points choisis
\pnode(! XO 2.2){B2}% sur la lentille
\psOutLine[length=4](B1)(B')%pour prolonger au-delà de B' permet de définir END%
\psBeforeLine[length=4](B')(B2)% permet de définir START
\pspolygon[style=rayuresJaunes,linestyle=none](B)(B1)(B')(END)(START)(B2)
\psline(B)(B1)(END)
\psline(B)(B2)(START)
\end{pspicture}
La même chose avec une lentille divergente : DVG2.tex
\begin{center}
\begin{pspicture}*(-7.5,-3)(7.5,3)
\rput(0,0){%
\DVG[scaleDVG=1,DVG=true,XO=0,AB=2,OA=-4,focale=-6]}
\psOutLine[length=7](B')(I)%pour prolonger au-delà de B' permet de définir END
\psBeforeLine[length=7](I')(B')% permet de définir START
\pspolygon[style=rayuresJaunes,linestyle=none](B)(I)(END)(START)(I')
\psline(B)(I)(END)
\psline(B)(I')(START)
\end{pspicture}
\end{center}
Questions en suspens (2) : système formé de deux lentilles.
La première des questions en suspens ayant été en partie résolue, étudions le cas d'un système composé de deux lentilles convergentes.
Si on applique successivement deux fois la même commande \CVG[...] en modifiant la position du centre optique et la valeur de la focale pour la deuxième lentille, il faut effectuer un transfert d'étiquette car l'image A' donnée par la lentille 1 devient l'objet pour la lentille 2 (ce qui n'est pas aussi simple qu'il n'y paraît, dans l'état actuel de l'instruction \CVG[...]). Supposons ceci résolu, il reste un gros inconvénient à savoir que les points (A), (B), (O), (A'), (B'), (F), (F'), (I), (I'), (I1) et (I2) seront maintenant référencés pour la deuxième lentille et on ne pourra plus s'en servir pour tout ce qui ce concerne la lentille 1. Le remède consiste à référencer de nouveaux points, très simplement, avec des instructions du genre : \pnode(A'){A'1} etc. pour pouvoir conserver les dits points. Il faut faire cela, bien sûr, avant de lancer la commande \CVG[...] une deuxième fois.

26 juin 2001

Voici des ébauches de solution.
\begin{center}
\begin{pspicture}*(-7.5,-3)(7.5,3)
\rput(0,0){\CVG[scaleCVG=0.6,XO=-4,focale=1,OA=-2]}
\Transform
\rput(0,0){\CVG[scaleCVG=1.2,XO=2,focale=2,CVGtwo=true]}
\end{pspicture}
\end{center}
La commande \Transform se charge de récupérer les points de la première lentille, de les stocker dans les nœuds (A1), (B1), (A'1), (B'1), (O1), (F1),(F'1), (I11) et(I'1). Il faudra faire attention à ne pas nommer d'autres nodes avec les noms cités.
Tous les rayons sont tracés correctement, mais les mêmes lettres se répètent et ne sont pas toujours bien placés...d'où une grande confusion.
Si on veut éviter cette grande confusion, il faut pouvoir choisir les étiquettes des points représentés, d'où l'introduction des options : nameA=... pour A, nameB=... pour B, nameF=... pour F, nameA'=... pour A', nameB'=... pour B', nameF'=... pour F' et nameO=... pour O. Il faut de plus pouvoir choisir l'endroit où on les écrit autour du point, avec les options : spotA=... etc.
\begin{center}
\begin{pspicture}*(-7.5,-3)(7.5,3)
\rput(0,0){\CVG[scaleCVG=0.6,XO=-4,focale=1,OA=-1.8,%
nameF=F_1,%
nameA=A_1,nameB=B_1,%
nameFi=F'_1,nameAi={ },nameBi={},nameO=O_1]}
\Transform
\rput(0,0){\CVG[scaleCVG=1.2,XO=2,focale=2,CVGtwo=true,%
nameA=A'_1,spotA=90,nameB=B'_1,spotB=270,%
nameO=O_2,nameAi=A'_2,spotAi=270,%
nameBi=B'_2,spotBi=90,nameF=F_2,nameFi=F'_2]}
\end{pspicture}
\end{center}
Mais tout cela me paraît trop compliqué pour un résultat décevant : un ou deux rayons vont au-delà de la lentille 2 etc. Ne vaut-il pas mieux faire soi-même la construction, en utilisant l'option drawing=false, puisque tous les points importants sont référencés pour les deux lentilles ? Pour la lentille 2 ce sont (A), (B) etc.
Les essais précédents sont dans le fichier : CVGTWO-2.tex

Étude d'exemples

Pouvons-nous avec cet ensemble de commandes, illustrer la plupart des situations rencontrées dans les livres d'optique du secondaire ? Ou bien faut-il en créer de nouvelles ?
Il faut d'abord être conscient d'une chose : ce n'est pas un programme interactif qui s'adaptera automatiquement à toutes les situations ! Il est nécessaire d'étudier le problème et d'avoir sous les yeux ce qu'on cherche à représenter.
J'ai donc pris le livre de physique de 1S de Hachette (nouveau programme) et les chapitres concernant les lentilles et les instruments d'optique.

Exemple 1

page 280 : exercice d'entraînement
Un objet AB transversal de longueur 5 mm est situé à 30 cm d'une lentille convergente de distance focale 10 cm. A est situé sur l'axe.
  1. Déterminer la position de l'image A'B'.
  2. Déterminer la grandeur de l'image.
La première chose à faire est de mettre le dessin à l'échelle :
  1. Entre image et objet il y a une distance de 45 cm. Le cadre que j'utilise a une largeur (paramétrable) de 15 cm, on prendra comme échelle 1/3 sur l'axe horizontal.
  2. L'objet a une hauteur de 5 mm, c'est trop petit, adoptons un coefficient multiplicateur 4 pour l'axe vertical.
Calculons les valeurs des données avec les échelles choisies : On représentera aussi le faisceau issu de B qui englobe la lentille. Le centre optique sera décalé de 2 cm vers la droite.
\begin{center}
\begin{pspicture}(-8.5,-3)(8.5,3)
\rput(0,0){\CVG[focale=3.333,OA=-10,AB=2,XO=2,XPIC=8.5]}
\pnode(!XO 2.5){L1}%extrémité supérieure de la lentille
\pnode(!XO -2.5){L2}%extrémité inférieure de la lentille
\psOutLine[length=2](L1)(B')
\psBeforeLine[length=2](B')(L2)
\pspolygon[style=rayuresJaunes,linestyle=none](B)(L1)(END)(START)(L2)
\end{pspicture}
\end{center}
Le fichier source de cette image est :
ExempleCVG1.tex

27 juin 2001

Exemple 2 :

Utiliser une loupe, (numéro 26 page 287) toujours dans le livre de Hachette (extrait).
Une loupe est constituée d'une lentille convergente de 10 dioptries. Un philatéliste souhaite observer des détails dont les dimensions sont de l'ordre du 1/10 de mm.
Déterminer la position et la taille d'un objet de 0,1 mm situé sur l'axe optique et perpendiculairement à celui-ci lorsque l'objet est situé à 7,0 cm du centre optique de la lentille.

Un rapide calcul montre que l'image est située à OA' = -23 cm et que A'B' = 0,32 mm. Il faut donc choisir les échelles suivantes : S'agissant du cas où le tracé direct ne donne pas une représentation satisfaisante, on va donc activer l'option drawing=false et dessiner tous les rayons un par un comme dans l'exemple déjà étudié . On dessinera aussi l'œil du philatéliste ainsi qu'un faisceau issu de B.
\begin{center}
\begin{pspicture}(-8,-3)(8,3)
\rput(0,0){\CVG[CVG=true,focale=4,AB=0.5,OA=-2.8,XO=2,drawing=false]}
%dessin du faisceau
\pnode(!XO 2.5){L1}%extrémité supérieure de la lentille
\pnode(!XO -2.5){L2}%extrémité inférieure de la lentille
\psOutLine[length=5.5,linestyle=none](B')(L1)
\psBeforeLine[length=6,linestyle=none](L2)(B')
\pspolygon[style=rayuresJaunes,linestyle=none](B)(L1)(END)(START)(L2)
\psline[linewidth=1.5\pslinewidth,arrowinset=0]{->}(A)(B)
\uput[270](A){A}
\uput[90](B){B}
\psline[linewidth=1.5\pslinewidth,arrowinset=0,linestyle=dashed]{->}(A')(B')
\uput[270](A'){$\mathrm{A'}$}
\uput[90](B'){$\mathrm{B'}$}
\psset{linecolor=red,arrowsize=0.2}
\pcline[nodesepB=-4](B')(O)
\psline(B)(I)(F')
\psOutLine(I)(F')
\Arrows(I)(F')
\Arrows(B)(I)
\psOutLine[length=1,linestyle=dashed](I')(B')
\psline[linestyle=dashed](B)(F)
\psline(B)(I')
\Arrows[arrows=->>](B)(I')
\psline[linestyle=dashed](B')(I')
\psline[linestyle=dashed](B')(I)
\psOutLine[length=2,arrows=->>](B')(I')
\psOutLine[length=4](B')(I')
\rput(8,0){\psset{linecolor=black}\oeil}
\end{pspicture}
\end{center}
Le fichier source de cette image est :
ExempleCVG2.tex

28 juin 2001

On peut penser qu'il serait plus joli de tracer les rayons en couleur. Il faut donc introduire une nouvelle option dans la commande : rayColor=red, par exemple.

Exemple 3 :

Étude d'une lunette astronomique.
L'observation d'un objet infiniment éloigné entraîne le tracé de rayons parallèles entre eux. Il est nécessaire de disposer d'une commande permettant de tracer un rayon passant par un point donné, de longueur donnée et paralléle à un rayon de référence. Cette commande qui s'écrit \Parallel[length=...](A)(B)(C){nom} permet de tracer un rayon passant par (C), parallèle à AB et de longueur length cm (cette valeur pouvant être positive ou négative), par défaut, nous le savons déjà length = 2cm, le point correspondant à cette extrémité doit être référencé avec le nom choisi.
\begin{center}
\begin{pspicture}(-4,-3)(4,3)
\psgrid
\pnode(-4,-3){A}
\qdisk(A){1.5pt}
\uput[225](A){\blue A}
\pnode(4,3){B}
\qdisk(B){1.5pt}
\uput[45](B){\blue B}
\pnode(2,0){C}
\qdisk(C){1.5pt}
\uput[135](C){\red C}
\psline[linecolor=blue](A)(B)
\Parallel[linecolor=red,arrows=->,arrowsize=0.2](A)(B)(C){P1}
\qdisk(P1){1.5pt}
\uput[90](P1){\red P1}
\end{pspicture}
\end{center}
Ce qui est illustré par l'image suivante, dont voici le fichier source : Parallel.tex
Autre problème à solutionner : l'intersection d'un rayon avec une lentille. Grace à la commande \RayInterLens(A)(B){XO2}{nom} on détermine le point intersection de la droite AB avec la lentille positionnée au point d'abscisse XO2.
\begin{center}
\begin{pspicture}(-8,-3)(8,3)
%on place l'oculaire dès le début
\rput(0,0){\CVG[scaleCVG=0.6,drawing=false,focale=1.5,OA=-1,XO=5,nameF={},nameFi={},AB=-1]}
%image intermédiaire A1B1 au foyer F'1
\psline{->}(4,0)(4,-1)
%lentille 2
\psline[linewidth=2\pslinewidth,linecolor=blue]{<->}(5,1.5)(5,-1.5)
%On place les points essentiels
\pnode(-6,0){O1}
\pnode(-6,2.5){E1L1}%extrémité sup de L1
\pnode(-6,-2.5){E2L1}%extrémité inf de L1
\pnode(4,0){A1}
\pnode(4,-1){B1}
%intersection de O1 avec la lentille L2
\RayInterLens(O1)(B1){5}{Inter1L2}
%rayon venant de l'infini jusqu'à la lentille L2
\pcline[nodesepB=-2](Inter1L2)(O1)
%rayon parallèle au précédent et passant par E1L1
\Parallel(B1)(O1)(E1L1){B1infty}
%rayon parallèle au précédent et passant par E2L2
\Parallel(B1)(O1)(E2L1){B2infty}
%intersection de la droite passant par E1L1 et B1 avec la lentille L2
\RayInterLens(E1L1)(B1){5}{InterE1B1L2}
\psline(E1L1)(InterE1B1L2)
%intersection de la droite passant par E2L2 et B1 avec la lentille L2
\RayInterLens(E2L1)(B1){5}{InterE2B1L2}
\psline(E2L1)(InterE2B1L2)
\psline[linestyle=dashed]{->}(A')(B')
\psline[linestyle=dashed]{->}(InterE1B1L2)(B')
\psline[linestyle=dashed]{->}(InterE2B1L2)(B')
\psline[linestyle=dotted](B')(O)
\psOutLine[length=3](B')(InterE1B1L2)
\psBeforeLine[length=3](InterE2B1L2)(B')
\pspolygon[style=rayuresJaunes,linestyle=none](B1infty)(E1L1)(InterE1B1L2)(END)(START)(InterE2B1L2)(E2L1)(B2infty)
\uput[90](A'){$\mathrm{A'}$}
\uput[270](B'){$\mathrm{B'}$}
\uput[90](A1){$\mathrm{A_1}$}
\uput[270](B1){$\mathrm{B_1}$}
\uput[225](O1){O1}
\uput[45](O){O2}
\uput[90](F){$\mathrm{F_2}$}
\uput{0.4}[150](F'){$\mathrm{F'_2}$}
\uput{0.6}[90](A1){$\mathrm{F'_1}$}
\psline[linecolor=red](B1infty)(E1L1)(InterE1B1L2)(END)
\psline[linecolor=red](B2infty)(E2L1)(InterE2B1L2)(START)
\rput(8,0){\oeil}
%lentille 1
\psline[linewidth=2\pslinewidth,linecolor=blue]{<->}(-6,-2.5)(-6,2.5)
\end{pspicture}
\end{center}

Cet exemple montre que tout est faisable... mais à quel prix me-direz-vous ? Sans compter qu'il faut sans doute revoir les commandes \psOutline et \psBeforeLine pour pouvoir attribuer une étiquette personnalisée aux points concernés (END) et (START), dans le cas où ces commandes et les points associés devraient servir plusieurs fois.
Ces commandes ont été modifiées. Elles s'utilisent dorénavant ainsi :
La commande \psOutLine[length=...](A)(B{nom}) permet de tracer un segment de longueur length cm à partir de B dans le prolongement de AB. Par défaut cette longueur est de 1 cm. \psOutLine[length=...](A)(B){nom} a tous les attributs de \psline c'est-à-dire qu'en particulier on peut la flécher, en ajoutant dans la liste des paramètres arrows=->. Cette extrémité est référencée par (nom). Ce point, après utilisation de la commande, peut être utilisé pour le tracé d'une droite \psline(A)(nom).
La lunette et les commandes précédentes sont illustrées par l'image suivante, en voici le fichier source : lunette.tex et le fichier regroupant l'ensemble de l'étude, mise à jour pour les lentilles convergentes : CVGTWO-6.tex

29 juin 2001

Quelques options supplémentaires pour le dessin de la lentille

Le fichier CVGTWO-6.tex contient toutes les dernières modifications.
L'utilisation la plus simple, en donnant des couleurs à l'ensemble :

\documentclass[12pt]{article}
\usepackage{pst-cvg}
\begin{document}
\begin{center}
\CVG[rayColor=red,lenscolor=blue,%
lenswidth=3\pslinewidth,lensarrowsize=0.3,lensarrowinset=0.1,XO=-2]
\end{center}
\end{document}

L'extension qui contient ce qui a l'air à peu près au point sur les lentilles convergentes, est regroupé dans l'extension : pst-cvg.tex et pst-cvg.sty, que l'on peut télécharger : pst-cvg.tex et pst-cvg.sty. L'utilisation du package s'effectuera comme dans l'exemple ci-dessus, pourvu les deux fichiers soient placés dans le répertoire où l'on travaille, ou bien dans le répertoire habituel des extensions (chez-moi C:\texmf\tex\latex).

30 juin 2001

J'ai intégré l'ensemble : lentilles convergentes et divergentes dans une extension pst-optic.tex et pst-optic.sty, que l'on peut télécharger : pst-optic.tex et pst-optic.sty.
La documentation (provisoire) est ici : Doc-pst-optic.tex, elle reprend l'ensemble des exemples déjà étudiés, mais mise à jour avec les nouvelles dénominations des commandes et options, que je détaille ci-dessous. Le reste est sans changement.
Par exemple, pour représenter le cas d'une lentille divergente :
\documentclass[12pt]{article}
\usepackage{pst-optic}
\pagestyle{empty}
\begin{document}
\begin{center}
\lens[lensType=DVG,focale=-3,OA=-5,AB=2.4,XO=-5,lensGlass=true,%
rayColor=red,lenscolor=blue,lenswidth=3\pslinewidth,%
lensarrowsize=0.3,lensarrowinset=0.2,XO=-1,%
spotAi=270,spotBi=90,YPIC=4]
\end{center}
\end{document}

Exemple-lens01.tex

01 juillet 2001

Paralipomènes à pst-optic

Pour paraphraser le titre du célèbre(?) ouvrage de Kepler sur l'optique : Paralipomènes à Vitellion, voici quelques compléments. Tout d'abord, le cas d'un objet virtuel pour une lentille convergente :

\documentclass[12pt]{article}
%Mluque5130@aol.com
%1 Juillet 2001
\usepackage{pst-optic}
\pagestyle{empty}
\author{Manuel Luque}
\date{01 juillet 2001}
\begin{document}
\begin{center}
\begin{pspicture}(-7.5,-4)(7.5,4)
\rput(0,0){%
\lens[focale=5,OA=6.5,AB=2,XO=-2,lensGlass=true,%
rayColor=red,YPIC=4,drawing=false]
}
\pnode(!XO 2.5){L1}%extrémité de la lentille sup
\pnode(!XO -2.5){L2}%extrémité de la lentille inf
{\psset{linecolor=red,linestyle=dashed}
\psline(L1)(B)
\psline(L2)(B)}
{\psset{length=6,linestyle=none}
\psOutLine(B)(L1){A1}
\psOutLine(B)(L2){A4}
\psOutLine(L1)(B'){A2}
\psOutLine(L2)(B'){A3}
\pspolygon[style=rayuresJaunes](A1)(L1)(A2)(A3)(L2)(A4)
}
\psline[linestyle=dashed]{->}(A)(B)
\psline{->}(A')(B')
\uput[90](B){B}
\uput[90](B'){$\mathrm{B'}$}
\uput[270](A){A}
\uput[270](A'){$\mathrm{A'}$}
{\psset{linecolor=red}
\psline(A1)(L1)(A2)
\psline(A4)(L2)(A3)}
\end{pspicture}
\end{center}
\end{document}


Exemple-lens02.tex
Un objet virtuel avec une lentille divergente : cas 1.
\documentclass[12pt]{article}
%Mluque5130@aol.com
%1 Juillet 2001
\usepackage{pst-optic}
\pagestyle{empty}
\author{Manuel Luque}
\date{01 juillet 2001}
\begin{document}
\begin{center}
\begin{pspicture}(-7.5,-5)(7.5,5)
\rput(0,0){%
\lens[lensType=DVG,focale=-2,OA=1.5,AB=1,XO=-1,lensGlass=true,%
rayColor=red,YPIC=5,drawing=false] }
\pnode(!XO 2.5){L1}%extrémité de la lentille sup
\pnode(!XO -2.5){L2}%extrémité de la lentille inf
{\psset{linecolor=red,linestyle=dashed}
\psline(L1)(B)
\psline(L2)(B)}
{\psset{length=6,linestyle=none}
\psOutLine(B)(L1){A1}
\psOutLine(B)(L2){A4}
\psOutLine(L1)(B'){A2}
\psOutLine(L2)(B'){A3}
\pspolygon[style=rayuresJaunes](A1)(L1)(A2)(A3)(L2)(A4)
}
\psline[linestyle=dashed]{->}(A)(B)
\psline{->}(A')(B')
\uput[90](B){B}
\uput[90](B'){$\mathrm{B'}$}
\uput[270](A){A}
\uput[270](A'){$\mathrm{A'}$}
{\psset{linecolor=red}
\psline(A1)(L1)(A2)
\psline(A4)(L2)(A3)}
\end{pspicture}
\end{center}
\end{document}

Vous remarquerez qu'il y très peu de choses à modifier par rapport au cas précédent !

Exemple-lens03.tex
Un objet virtuel avec une lentille divergente : cas 2.

Exemple-lens04.tex

Le microscope


microscope.tex

02 juillet 2001

Télescope

Dans cet exemple, tout est paramètrable : la position des foyers et du miroir secondaire, mais en l'état ce n'est pas évident : il faut le reprendre pour le rendre plus simple à l'usage.
J'en ai profité pour introduire une nouvelle commande, qui ici était indispensable : \ABinterCD(A)(B)(C)(D){nom} qui calcule le point d'intersection des droites définies par (A)(B) et (C)(D) et leur attribue le node (nom) (je n'ai pas testé le parallélisme !).

telescope.tex

03 juillet 2001

Le fichier pst-optic.tex a été modifié pour intégrer une commande spéciale aux télescopes.
La commande particulière au télescope s'écrit : \telescope[...] et est susceptible, pour l'instant de supporter deux options : Voici par exemple ce qu'on obtient en modifiant les paramètres par défaut.
\documentclass[12pt]{article}
%Mluque5130@aol.com
%2 Juillet 2001
\pagestyle{empty}
\usepackage{pst-optic}
\begin{document}
\telescope[focaleMiroir=10,positionMiroirSecondaire=8]
\end{document}

Il faut modifier ces paramètres avec précaution, sinon le résultat obtenu risqued'être fantaisiste.

telescope2.tex
Les dernières versions (0.3) de pst-optic et de Doc-pst-optic.tex qui reprend l'ensemble des exemples de cette page mis à jour, sont ici : pst-optic.sty et Doc-pst-optic.tex

Un télescope avec d'autres paramètres.

\documentclass[12pt]{article}
%Mluque5130@aol.com
%2 Juillet 2001
\pagestyle{empty}
\usepackage{pst-optic}
\begin{document}
\telescope[focaleMiroir=6,positionMiroirSecondaire=5]
\end{document}

telescope3.tex
[Page principale] [Page précédente] [Page suivante]

mis en service le 26 juin 6h30.