454 |
|
y1 = p0->y + c1*s1y/l1; |
455 |
|
for (c2 = l2; c2-- > 0; ) { |
456 |
|
x = x1 + c2*s2x/l2; |
457 |
+ |
if (x < 0 || x >= hresolu) |
458 |
+ |
continue; |
459 |
|
y = y1 + c2*s2y/l2; |
460 |
+ |
if (y < 0 || y >= vresolu) |
461 |
+ |
continue; |
462 |
|
if (zscan(y)[x] <= 0 || zscan(y)[x]-z |
463 |
|
> zeps*zscan(y)[x]) { |
464 |
|
zscan(y)[x] = z; |
608 |
|
if (donorm) { |
609 |
|
double vx, yzn2; |
610 |
|
register int x; |
611 |
< |
yzn2 = y - .5*(vresolu-1); |
611 |
> |
yzn2 = (y+.5)/vresolu + ourview.voff - .5; |
612 |
|
yzn2 = 1. + yzn2*yzn2*ourview.vn2; |
613 |
|
for (x = 0; x < hresolu; x++) { |
614 |
< |
vx = x - .5*(hresolu-1); |
614 |
> |
vx = (x+.5)/hresolu + ourview.hoff - .5; |
615 |
|
zout[x] = zscan(y)[x] |
616 |
|
* sqrt(vx*vx*ourview.hn2 + yzn2); |
617 |
|
} |