.


:




:

































 

 

 

 





1. .

2. . .

3. (. 2).

4. ( ) .

5. ( ).

 

. 90.

(xd,yd,zd) (x0,y0,z0).

xd yd. :

,

, zd=d.

:

 

.

 

, :

 

.

 

d. .

 

8. .

, , . . . :

1. ;

2. ;

3. .

, , , 900.

. , , . , , : , , .

:

1. () , .

2. .

3. , , .

4. .

, .

() .

.

. .

, - , . , , . , . .

. , X Y0Z :

.

Y0Z, .

X :

.

Y

.

Z

.

, , : . , , , , .

. , , , , , , - . .

9. (x 0, y 0) (x 1, y 1), , , . , , x 1x 0 y 1y 0, .. 45. , x x 0 x 1, , y , (x, y).

:

x, y :

, . , y y 0 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

, , error deltaerr, . , . , . , deltax. 0.5 2. :

function line(x0, x1, y0, y1) int deltax:= abs(x1 - x0) int deltay:= abs(y1 - y0) int error:= 0 int deltaerr:= deltay int y:= y0 for x from x0 to x1 plot(x,y) error:= error + deltaerr if 2 * error >= deltax y:= y + 1 error:= error - deltax

2 .

, - 1. . , .. ( 1 -1), x y, .

C++:

void drawLine(int x1, int y1, int x2, int y2){ int deltaX = abs(x2 - x1); int deltaY = abs(y2 - y1); int signX = x1 < x2? 1: -1; int signY = y1 < y2? 1: -1; int error = deltaX - deltaY; for (;;) { setPixel(x1, y1); if(x1 == x2 && y1 == y2) break; int error2 = error * 2; if(error2 > -deltaY) { error -= deltaY; x1 += signX; } if(error2 < deltaX) { error += deltaX; y1 += signY; } }}

Java:

// "" 9 . ( ), - , .private int sign (int x) { return (x > 0)? 1: (x < 0)? -1: 0; // 0, (x) ; -1, x < 0 1, x > 0.} public void drawBresenhamLine (int xstart, int ystart, int xend, int yend, Graphics g) /** * xstart, ystart - ; * xend, yend - ; * "g.drawLine (x, y, x, y);" "setPixel (x, y);" * - g.fillRect (x, y, 1, 1); */{ int x, y, dx, dy, incx, incy, pdx, pdy, es, el, err; dx = xend - xstart;// dy = yend - ystart;// incx = sign(dx); /* * , . dx < 0, .. * , incx -1. * . */ incy = sign(dy); /* * . - * y ( - ). */ if (dx < 0) dx = -dx;// : "if (dx < dy)" if (dy < 0) dy = -dy;// dx = |dx|; dy = |dy| // : dx = Math.abs(dx); dy = Math.abs(dy); if (dx > dy) // : { /* * dx > dy, "" , .. , . * ( el = dx;), "" * , (pdx = incx;), * y . */ pdx = incx; pdy = 0; es = dy; el = dx; } else//, "", , .. y { pdx = 0; pdy = incy; es = dx; el = dy;// y } x = xstart; y = ystart; err = el/2; g.drawLine (x, y, x, y);// // , for (int t = 0; t < el; t++)// , { err -= es; if (err < 0) { err += el; x += incx;// ( , ) y += incy;// -, y } else { x += pdx;// , .. , y += pdy;// ; , y } g.drawLine (x, y, x, y); }}

 

10. , , .
, , , . , , . .

Kam Torus
Kam Torus - 1- , , , . Kam Torus , , . , :
x(0) = y(0) = orbit / 3
x(n+1) = x(n)*cos(a) + (x2 - y(n))*sin(a)
y(n+1) = x(n)*sin(a) + (x2 - y(n))*cos(a)
orbit . , , ( ), orbit, , .
( ) , DrawKamTorus(), , .


Kam Torus, ( ) . . . C, ( a + (b * i)). Z . x, y, i ( ). , Z(n+1) = Z(n)^2 + C Z (0,,n).
, . C, - (.. ) .


, , "". , , .
, : () () . , , .
, , , - . , - C, . , - Z. , Z = 0 :
Z(n) = plot
Z(n+1) = Z^2 + C
Z(n+1) = Z(n)^2 + C. "". .

 





:


: 2016-12-18; !; : 422 |


:

:

.
==> ...

1681 - | 1505 -


© 2015-2024 lektsii.org - -

: 0.016 .