| 1 | { SCCSid "$SunId$ LBL" } | 
| 2 |  | 
| 3 | { | 
| 4 | surf.cal - calculation of interpolated surface normal | 
| 5 |  | 
| 6 | A1              - dominant axis (we use the other two) | 
| 7 | A2  A3  A4      \ | 
| 8 | A5  A6  A7       \ normal perturbation vector matrix | 
| 9 | A8  A9  A10      / multiplied by [u*v u v 1] for perturbation | 
| 10 | A11 A12 A13     / | 
| 11 | } | 
| 12 |  | 
| 13 | surf_u = select(arg(1)+1, Py, Pz, Px); | 
| 14 | surf_v = select(arg(1)+1, Pz, Px, Py); | 
| 15 |  | 
| 16 | surf_dx = surf_u*surf_v*arg(2) + surf_u*arg(5) + surf_v*arg(8) + arg(11); | 
| 17 | surf_dy = surf_u*surf_v*arg(3) + surf_u*arg(6) + surf_v*arg(9) + arg(12); | 
| 18 | surf_dz = surf_u*surf_v*arg(4) + surf_u*arg(7) + surf_v*arg(10) + arg(13); |