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.
File links
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):

