ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/pmapgen.c
(Generate patch)

Comparing ray/src/px/pmapgen.c (file contents):
Revision 2.1 by greg, Wed Oct 11 10:39:26 1995 UTC vs.
Revision 2.2 by greg, Wed Jul 24 09:18:20 1996 UTC

# Line 20 | Line 20 | static char rcsid[] = "$Header$";
20   #define TOLERANCE 1e-13
21   #define ZERO(x) ((x)<TOLERANCE && (x)>-TOLERANCE)
22  
23 < #define X(i) quad[i][0]         /* quadrilateral x and y */
24 < #define Y(i) quad[i][1]
23 > #define X(i) qdrl[i][0]         /* quadrilateral x and y */
24 > #define Y(i) qdrl[i][1]
25  
26   /*
27   * pmap_quad_rect: find mapping between quadrilateral and rectangle.
28   * The correspondence is:
29   *
30 < *      quad[0] --> (u0,v0)
31 < *      quad[1] --> (u1,v0)
32 < *      quad[2] --> (u1,v1)
33 < *      quad[3] --> (u0,v1)
30 > *      qdrl[0] --> (u0,v0)
31 > *      qdrl[1] --> (u1,v0)
32 > *      qdrl[2] --> (u1,v1)
33 > *      qdrl[3] --> (u0,v1)
34   *
35   * This method of computing the adjoint numerically is cheaper than
36   * computing it symbolically.
37   */
38          
39 < pmap_quad_rect(u0, v0, u1, v1, quad, QR)
39 > pmap_quad_rect(u0, v0, u1, v1, qdrl, QR)
40   double u0, v0, u1, v1;          /* bounds of rectangle */
41 < double quad[4][2];              /* vertices of quadrilateral */
42 < double QR[3][3];                /* quad->rect transform (returned) */
41 > double qdrl[4][2];              /* vertices of quadrilateral */
42 > double QR[3][3];                /* qdrl->rect transform (returned) */
43   {
44      int ret;
45      double du, dv;
46 <    double RQ[3][3];            /* rect->quad transform */
46 >    double RQ[3][3];            /* rect->qdrl transform */
47  
48      du = u1-u0;
49      dv = v1-v0;
# Line 53 | Line 53 | double QR[3][3];               /* quad->rect transform (returned) *
53      }
54  
55      /* first find mapping from unit uv square to xy quadrilateral */
56 <    ret = pmap_square_quad(quad, RQ);
56 >    ret = pmap_square_quad(qdrl, RQ);
57      if (ret==PMAP_BAD) return PMAP_BAD;
58  
59      /* concatenate transform from uv rectangle (u0,v0,u1,v1) to unit square */
# Line 78 | Line 78 | double QR[3][3];               /* quad->rect transform (returned) *
78   * pmap_square_quad: find mapping between unit square and quadrilateral.
79   * The correspondence is:
80   *
81 < *      (0,0) --> quad[0]
82 < *      (1,0) --> quad[1]
83 < *      (1,1) --> quad[2]
84 < *      (0,1) --> quad[3]
81 > *      (0,0) --> qdrl[0]
82 > *      (1,0) --> qdrl[1]
83 > *      (1,1) --> qdrl[2]
84 > *      (0,1) --> qdrl[3]
85   */
86  
87 < pmap_square_quad(quad, SQ)
88 < register double quad[4][2];     /* vertices of quadrilateral */
89 < register double SQ[3][3];       /* square->quad transform */
87 > pmap_square_quad(qdrl, SQ)
88 > register double qdrl[4][2];     /* vertices of quadrilateral */
89 > register double SQ[3][3];       /* square->qdrl transform */
90   {
91      double px, py;
92  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines