ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cal/cal/screen.cal
Revision: 1.2
Committed: Wed Nov 21 18:10:45 2018 UTC (5 years, 5 months ago) by greg
Branch: MAIN
CVS Tags: rad5R4, rad5R3, HEAD
Changes since 1.1: +1 -0 lines
Log Message:
Added missing RCSid tag

File Contents

# User Rev Content
1 greg 1.2 { RCSid $Id$ }
2 greg 1.1 {
3     Uses gensurf to compute CRT geometry based on spherical assumption.
4    
5     Author:
6     Greg Ward 11/13/95
7    
8     Input:
9     w: screen width (total)
10     h: screen height (total)
11     d: displacement from center tangent at max. right or left
12    
13     Usage:
14     gensurf mat name 'x(s,t)' 'y(s,t)' 'z(s,t)' N M -s \
15     -e 'w:{width};h:{height};d:{depth}' -f screen.cal
16    
17     Output is oriented vertically, with the lower left corner at
18     (x,y,z)=(0,0,0), the lower right at (w,0,0), the upper right
19     at (w,0,h), and the screen bulge in the negative y direction.
20     Surface normals face negative y, also.
21     }
22     { compute sphere radius }
23     r : d/2 + w*w/8/d;
24     { compute x and z }
25     x(s,t) = w*s;
26     z(s,t) = h*t;
27    
28     sq(x) : x*x;
29     { compute maximum depth (y) value }
30     dmax : sqrt(r*r - sq(w/2) - sq(h/2));
31     { compute y }
32     y(s,t) = dmax - sqrt(r*r - sq(w*s-w/2) - sq(h*t-h/2));