́ , , , .
(x0,y0) (x1,y1), , , . , , x1 − x0 y1 − y0, .. 45. , x x0 x1, , y , (x,y).
:
x, y :
, . , y y0 x y
. , : y, 1.
, , y y x. , x, s, . 0.5, y, y , 1. , , plot(x,y) , abs :
function line(x0, x1, y0, y1)
int deltax:= abs(x1 - x0)
int deltay:= abs(y1 - y0)
real error:= 0
real deltaerr:= deltay / deltax
int y:= y0
for x from x0 to x1
plot(x,y)
error:= error + deltaerr
if error >= 0.5
y:= y + 1
error:= error - 1.0
(X1,Y1), (X1,X2).
Dx=(X2-X1),dy=(Y2-Y1). , , ,
. . (i-1) - Pi-1=(r,q). Si Ti (s-t). (s-t)<0, Pi=Ti=(r+1,q)
Xi+1=i+1;Yi+1=Yi, (s-t)≥0, Pi=Ti=(r+1,q+1) Xi+1=i+1; Yi+1=Yi+1;
dx=(s-t)=2(rdy-qdx)+2dy dx
dx=(s-t) ), di=dx(s-t).. r=Xi-1 q=Yi-1,
di+1= di+2dy -2dx(yi-yi-1).
di<0, (yi-yi-1)=0 di+1= di+2dy. di≥0, (yi-yi-1)=1 di+1= di +2dx(yi-yi-1)
di. i=1
(x0,y0)=(0,0),→ di=2dy-dx
, .
|
|
Procedure Bresenham(x1,y1,x2,y2,Color: integer);
var
dx,dy,incr1,incr2,d,x,y,xend: integer;
begin
dx:= ABS(x2-x1);
dy:= Abs(y2-y1);
d:=2*dy-dx; { d}
incr1:=2*dy; { d<0}
incr2:=2*(dy-dx); { d>=0}
if x1>x2 then { . x}
begin
x:=x2;
y:=y2;
xend:=x1;
end
else
begin
x:=x1;
y:=y1;
xend:=x2;
end;
PutPixel(x,y,Color); { }
While x<xend do
begin
x:=x+1;
if d<0 then
d:=d+incr1 { }
else
begin
y:=y+1;
d:=d+incr2; { , y-}
end;
PutPixel(x,y,Color);
end;{while}
end;{procedure}
26. .
. , Δx, Δy, . - x, y ( ) - . ( 0 1) . .
, . , (1, 1) , (1, 0). ½, . , ½, - . (1, 1). , -½. , ½, = -½ + Δy/Δx.
, . , , . 1, y , x. ( +1 -1)
var x,y,sy,sx,dx,dy,e,z,i: Integer;
change: boolean;
begin
x:=x1; y:=y1;
dx:=abs(x2-x1); dy:=abs(y2-y1);
sx:=sign(x2-x1); sy:=sign(y2-y1);
e:= 2*dy-dx;
if dy<dx then change:=false
else begin
z:=dx;
dx:=dy; dy:=z;
change:=true
end;
for i:=1 to dx+dy do begin
if dy< dx then begin
if change then y:=y+sy
else x:=x+sx;
e:=e+2*dy;
end else
if change then x:=x+sx
else y:=y+sy;
e:=e-2*dx
end;
Form1.Canvas.Pixels[x,y]:=clblack; // ,
end;
27.
, , . , , , , , . , , . . , . . ( 0 45 ), = , . = 0 . = 0 .
|
|
. , = 0, = R, . , = 0, == R, . = 0, = R. , .
- , : , , . , .
28. .
(), , , . : , . . , , . , - , , .
19 . , . . . :
, . . Ÿ , , .. , , .
. .
- , , . , .. . , , , .
29.
. , .. , , . 1. , , , 1 . , , ..
2 , . , . ( ).
, : ( ) (2^1).
|
|
(, ) (2^2).
3 (2^3) .
, D S L. D=log(S)/log(L). D=log(2)/log(2)=1. D=log(4)/log(2)=2. D=log(8)/log(2)=3.
. . :
- , .
- , - .
- . , , .
: , , , ,
.
.
.
, , ,
, . : , , , .
- : 1905 .
, , .
, . . ( ).
- : ́ ́ , . , f , , . .
- : ( , , , ).
, :
. .. , .
-: , z=z3+c. - .
.
. , + . - .
|
|
. () . :
;
. 2001 , , 4/3.
-˸ - , , , .
, , , . .
, , .