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


I, the copyright holder of this work, hereby publish it under the following licenses:
You may select the license of your choice.

[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/TimeDimensionsUserComment
current13:18, 9 July 2006600×480 (12 KB)Hankwang (Talk | contribs) (Created by ~~~ Nienhuys.)
13:17, 9 July 2006600×480 (10 KB)Hankwang (Talk | contribs) (Created by ~~~ Nienhuys.)

The following pages on the English Wikipedia link to this file (pages on other projects are not listed):