/usr/share/radiance/vwparab.cal is in radiance-materials 4R0+20110410-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | { RCSid $Id: vwparab.cal,v 1.2 2008/02/24 23:04:44 greg Exp $ }
{
Generate rays for a parabolic view projection --
i.e., a round image that when projected downwards
in parallel onto a parabolic reflector results in
a panoramic view from the paraboloid's focal point.
The forward view direction corresponding to the top
of the image is always +Y, and the up direction is
always +Z.
9/8/98 Greg Ward Larson
Inputs:
maxalt : Maximum altitude (in degrees)
x, y = Image position, (0,0)->(1,0) is LL->LR
Outputs:
dx, dy, dz = Direction vector for image point (x,y)
Typical command line:
cnt 1024 1024 | rcalc -od -e maxalt:25 \
-e 'x=($2+.5)/1024;y=1-($1+.5)/1024' -f vwparab.cal \
-e '$1=25.5;$2=12;$3=5;$4=dx;$5=dy;$6=dz' \
| rtrace @electric.opt -fdc -x 1024 -y 1024 \
electric.oct > pan.pic
}
amax : PI/180*maxalt;
F0 : .5/cos(amax) - .5*tan(amax); { dist. btwn. parabola and directrix }
xr = 2*x - 1;
yr = 2*y - 1;
r2 = xr*xr + yr*yr;
r = sqrt(r2); { never actually needed }
z = r2/(4*F0) + F0;
zo = r2/(4*F0) - F0;
sin_alt = zo/z;
cos_alt = r/z;
dx = xr/z; { same as xr/r*cos_alt }
dy = yr/z; { same as yr/r*cos_alt }
dz = zo/z; { same as sin_alt }
|