blob: 744f3d5bcc40330b9537ac6bcd32077bd3ca11f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
%%
%% Ein Beispiel der DANTE-Edition
%%
%% 7. Auflage
%%
%% Beispiel 35-00-31 auf Seite 831.
%%
%% Copyright (C) 2016 Herbert Voss
%%
%% It may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%%
%% See http://www.latex-project.org/lppl.txt for details.
%%
%%
%% ====
% Show page(s) 1
%%
%%
\documentclass[]{exaarticle}
\pagestyle{empty}
\setlength\textwidth{352.81416pt}
\setlength\parindent{0pt}
%StartShownPreambleCommands
\usepackage{pstricks}
%StopShownPreambleCommands
\begin{document}
\makeatletter
\def\psYoungR{\pst@object{psYoungR}}
\def\psYoungR@i{\@ifnextchar({\psYoungR@do}{\psYoungR@do(0,0)}}
\def\psYoungR@do(#1)#2#3#4#5{%
\begin@ClosedObj
\pst@@getcoor{#1}%
\addto@pscode{%
\pst@coor
translate
/bornexpt 400 def
bornexpt neg 1 bornexpt{
/abscissept exch def
% x en m
/abscisse abscissept 2845 div def
/DistanceEcran #3 def
/EcartFentes #2 def
/largeurFentes #4 def
/lambdaR #5 def
/argumentDeg abscisse 180 mul largeurFentes mul DistanceEcran div def
/argumentRad argumentDeg 180 div Pi mul def
/sinCR argumentRad 0 eq {1} {argumentDeg lambdaR div sin argumentRad div lambdaR mul} ifelse def
180 EcartFentes mul abscisse mul lambdaR div DistanceEcran div cos dup mul
sinCR dup mul mul
0
0
setrgbcolor 2 setlinewidth
abscissept -40 moveto abscissept 40 lineto stroke}
for }%
\end@ClosedObj\ignorespaces%
}
\def\psYoungRVB{\pst@object{psYoungRVB}}
\def\psYoungRVB@i{\@ifnextchar({\psYoungRVB@do}{\psYoungRVB@do(0,0)}}
\def\psYoungRVB@do(#1)#2#3#4{
\begin@ClosedObj
\pst@@getcoor{#1}%
\addto@pscode{%
\pst@coor
translate
/bornexpt 400 def
bornexpt neg 1 bornexpt{
/abscissept exch def
% x en m
/abscisse abscissept 2845 div def
/lambdaB 436e-9 def
/lambdaV 546e-9 def
/lambdaR 700e-9 def
/DistanceEcran #3 def
/EcartFentes #2 def
/largeurFentes #4 def
/argumentDeg abscisse 180 mul largeurFentes mul DistanceEcran div def
/argumentRad argumentDeg 180 div Pi mul def
/sinCR argumentRad 0 eq {1} {argumentDeg lambdaR div sin argumentRad div lambdaR mul}
ifelse def
/sinCV argumentRad 0 eq {1} {argumentDeg lambdaV div sin argumentRad div lambdaV mul}
ifelse def
/sinCB argumentRad 0 eq {1} {argumentDeg lambdaB div sin argumentRad div lambdaB mul}
ifelse def
180 EcartFentes mul abscisse mul lambdaR div DistanceEcran div cos dup mul
sinCR dup mul mul
180 EcartFentes mul abscisse mul lambdaV div DistanceEcran div cos dup mul
sinCV dup mul mul
180 EcartFentes mul abscisse mul lambdaB div DistanceEcran div cos dup mul
sinCB dup mul mul
setrgbcolor 2 setlinewidth
abscissept -40 moveto abscissept 40 lineto stroke}
for}
\end@ClosedObj
}
\makeatother
\begin{pspicture*}(-8.5,-1.5)(8.5,1.5)
\psYoungRVB(0,0){50e-6}{2}{10e-6}
\end{pspicture*}
\end{document}
|