Image:Prism compressor curve.svg

From Wikipedia, the free encyclopedia

No higher resolution available.

Prism_compressor_curve.svg (600 × 480 pixel, file size: 12 KB, MIME type: image/svg+xml)

[edit] Summary

Created by Han-Kwang Nienhuys.

[edit] Licensing


I, the author of this work, hereby publish it under the following licenses:
GFDL

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
Subject to disclaimers.

Creative Commons License
Creative Commons Attribution icon
This file is licensed under Creative Commons Attribution 2.5 License.
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

Legend: (cur) = this is the current file, (del) = delete this old version, (rev) = revert to this old version.
Click on date to download the file or see the image uploaded on that date.


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