Image:Prism compressor curve.svg
From Wikipedia, the free encyclopedia
Prism_compressor_curve.svg (SVG file, nominally 600 × 480 pixels, file size: 12 KB)
[edit] Summary
Created by Han-Kwang Nienhuys.
[edit] Licensing
|
[edit] Gnuplot script
Created with the following Gnuplot script (also by Han-Kwang and also GDFL/CC-By licensed)
# Calculate path lengths at different refractive indices in a prism compressor with a given geometry. # Copyright Han-Kwang Nienhuys, 2006 # Licensed for distribution and modification according to the GFDL or CC-by licenses # (which means basically: with proper attribution to the author) pi=4*atan(1) d2r=pi/180 sind(x)=sin(x*d2r) cosd(x)=cos(x*d2r) tand(x)=tan(x*d2r) asind(x)=asin(x)/d2r beta(n,alpha,theta)=asind(sind(alpha+theta)/n) gam(n,alpha,theta)=theta-beta(n,alpha,theta) delta(n,alpha,theta)=asind(n*sind(gam(n,alpha,theta))) l1(n,alpha,theta,A)=A/cosd(delta(n,alpha,theta)) # pathlength through air C(n,alpha,theta,A,B)=B-A*tand(delta(n,alpha,theta)) Bmin(n,alpha,theta,A,B1)=B1+A*tand(delta(n,alpha,theta)) # pathlength through 2nd prism. Undefined if the ray misses the prism. l2(n,alpha,theta,A,B)=C(n,alpha,theta,A,B) < 0 ? 1/0 : C(n,alpha,theta,A,B)*sind(alpha+theta)/cosd(beta(n,alpha,theta)) D(n,alpha,theta,A,B)=l2(n,alpha,theta,A,B)*cosd(gam(n,alpha,theta))/sind(theta) l3(n,alpha,theta,A,B)=D(n,alpha,theta,A,B)*sind(alpha+theta) # A=distance between prism surfaces # B=distance between prism tops (measured parallel to surface) # theta=prism top angle # alpha=indicent angle # n=refractive index pathlen(n,alpha,theta,A,B)=2*(l1(n,alpha,theta,A,B)+n*l2(n,alpha,theta,A,B) - l3(n,alpha,theta,A,B)) # difference with reference index n0. Specify B1 as distance from top where the n0 # ray hits prism 2. n0=1.5 pathlenD(n,alpha,theta,A,B1)=pathlen(n,alpha,theta,A,Bmin(n0,alpha,theta,A,B1)) - \ pathlen(n0,alpha,theta,A,Bmin(n0,alpha,theta,A,B1)) set nogrid set xlabel 'Refractive index' set ylabel 'Path length difference (mm)' set key bottom right set samples 200 set xra [1.5:1.7] set xtics 0.05 set ytics 1 A=100 n0=1.6 alpha=10 theta=55 set term svg fsize 24 set outp 'prism_compressor_curve.svg' plot pathlenD(x,alpha,theta,A,0) ti 'B = 67.6 mm', \ pathlenD(x,alpha,theta,A,9) ti 'B = 76.6 mm', \ pathlenD(x,alpha,theta,A,18) ti 'B = 85.6 mm'
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Dimensions | User | Comment | |
---|---|---|---|---|
current | 13:18, 9 July 2006 | 600×480 (12 KB) | Hankwang (Talk | contribs) | (Created by ~~~ Nienhuys.) |
13:17, 9 July 2006 | 600×480 (10 KB) | Hankwang (Talk | contribs) | (Created by ~~~ Nienhuys.) |
- Search for duplicate files
- Edit this file using an external application
See the setup instructions for more information.