Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://ani.cmc.msu.ru/files/visualization-echkina.pdf
Äàòà èçìåíåíèÿ: Fri Oct 24 09:31:09 2008
Äàòà èíäåêñèðîâàíèÿ: Mon Oct 1 19:42:42 2012
Êîäèðîâêà:
. .



. . , C. . , . . - 4

2006


. . , . . , . . « »

1. . .
. . . . . . . . , , , , , , , , . ­ (Sazerland), , , , .. , . , . , , . , , , , ­ , . , , . - - , , , , . , , . . , . . , , , . , , . , . . IDL (Interactive Data Language) , . . , : ; ; ; 2

. . http://ani.cs.msu.su


. . , . . , . . « »



( , , ) ; ; ; ; ; ; ; ; ; .

IDL . ; ; ; ; . Maple ­ , , , .

( ); ; ; ; ; ; ; ; .

le . Maple. ; ( ); ; 3

. . http://ani.cs.msu.su


. . , . . , . . « »



( , , ) , ; ; , ; ; ; ; ; .

Matlab ­ le Matlab.

- . . , . , , , , , . , . , S, r r (u,v), (u,v) U V, , U V - u, v, ru

r r , rv , u v



ru rv 0 . r1 , , , (r r1 ) (ru rv ) 0 . r1 S , r1 , . N = , r r1 t

ru rv tN . ru rv

S , dS (ru rv )dudv N dS , dS dS ru rv dudv . S r r (u(t),v(t)), : - dr ru du rv dv,

ds 2 dr E(u,v)du 2 2F(u,v)dudv G(u,v)dv 2 (1),


2

. . http://ani.cs.msu.su

4


. . , . . , . . « »

x E(u,v) ru ru u x x F(u,v) r rv u v 2 x G(u,v) rv rv v
u

2

y z u u y y z z u v u v 2 y z v v

2

2

2

(1) , . r r (u(t),v(t)) , , S

d 2r dr kn k G (N ) k N N . ds 2 ds
N- , n-
2 dr d r N k , 2 ,N - , ds ds 2 dr dr dN , k N k(n N ) 2 N - ds ds ds

. k G k

dr ds ,n,

. k

N

u, v

dN N u du N v dv r ,r ,r L(u,v) ru N u uu u v 2 EG F r ,r ,r M(u,v) ru N v uv u v 2 , EG F r ,r ,r N(u,v) rv N v vv u v 2 EG F 2 2 dr dN L(u,v)du 2M(u,v)dudv N(u,v)dv
(u,v). (u,v) S k N

dr dN Ldu 2 2Mdudv Ndv 2 . , k ds 2 Edu 2 2Fdudv Gdv 2

N

(L:M:N=E:F:G) . , k1 k 2 k N S (u,v). . k1 , k 2

. . http://ani.cs.msu.su

5


. . , . . , . . « »

(A-kB),

L M E F A , B F G. M N 11 2 H (k k ) 2 2 LN M K k1k 2 EG F 2 , H, K, k1 k 2

1 EN 2FM GL , 2 EG F 2
.

. , (u,v), , K k1k 2 0 ( , ­ ); ( ­ ); ( ­ ).

2. .
. , . . (r ) ( x, y, z ) . (r ) c (). . F (r ) F ( x, y, z ) . () r F (r ) dr F (r ) 0 . , r F (r ) .

j k . x y z (r ) grad (r ) . F (r ) , div F (r ) F . F (r ) , rot F (r ) F . i
.

. . http://ani.cs.msu.su

6


. . , . . , . . « »

, V , S , V S . 1. 2. 3. 4. 5.


V

F (r )d v


S S

F (r )dS F (r ) dS


V

F (r )d v (r )dv


S


V



(r )dS


V

2 2 dv


S

dS


S

dS . n n


V

2dv


S

dS =



dS . n

F (r ) V, V S , : 1.


S S

F (r ) dS F (r ) dr , dS
C

. 2. ( F (r )) dS F (r ) F (r ) 0 - F (r ) (r )


C

F (r ) dr .

V, . F (r ) , (r ) V. . V, F (r ) A( r ) .

F (r ) F (r ) 0. , F (r ) V. A( r )

. V ­ , S . F (r ) r V, V F (r ) F1 (r ) F2 (r ) .

. F1 (r ) 0, F2 (r ) 0

F (r ) F1 (r ) F2 (r )

. . http://ani.cs.msu.su

7


. . , . . , . . « »

3. .
. . (cell-based), - (predictor-corrector), " ", , . . . , , , : . . , , . . , F(X)> 0. , , .

.1 . , f(x,y,z)=0

x 2 y 2 2 2 f ( x, y, z ) 1 4 x 3, 9 y 1, 44 6, 5







x 3, 9 y 2 1, 44 z

2



8

. , (CT-computed tomography), (MRI-magnet ic resonance imaging) (PET-positron emissio n tomography). , . , . .

. . http://ani.cs.msu.su

8


. . , . . , . . « »

, - .

(

x , y , z ) | f ( x , y , z ) c ,

f(x,y,z) - , - . , , . , , . . , . , . , . , , - ( ). : S, X, , X. , , : P R , , , , , . , . :




( , , , ).

­ « ». . , ( ). «» - . , , , «» - , . . , . (cell-based) ­ . . . http://ani.cs.msu.su 9


. . , . . , . . « »

. , .. . , , - ( - , .. .) . - , , , - . . : (Caneiro), , (Gueziec), (Skala), « ». - (predictor-corrector) , ( (predictor) - ) ( (corrector) ). , . - , ( ) . " " « », , : 1. G R3 , ; 2. . . . : 1. G , 2. , . G , , , . , . , , , G , - - , . , .
. . http://ani.cs.msu.su

10


. . , . . , . . « »

, . , .

.2. , - . .2, . . . « » - . . . - N , N- , - . , , <0>, <1>. 2N. , , , . . , . , , G . . - , Cv - , F(P)=v. , , P1 P2 - , F ( p1 ) F ( p2 ) (*) , Min F ( pi ) Max F ( p j ) (**)
i j

pi pj - . , : C Cv, (**). . , , , . , . - . , . 8- . . , , <0>, <1>. 28=256. .3 ,
. . http://ani.cs.msu.su

11


. . , . . , . . « »

( i ) ( i j ).

.3 C 128 . , , 128 14:

, . , , . , . , . [2], , « », : 1. , ; 2. . , . , , . . . 4.

. . http://ani.cs.msu.su

12


. . , . . , . . « »

. 4 <> <> . , , , , <>. < > - : .4 , .5

. 5 - . , , - . , . 4- . , , . 24=16. , , 3.

. 6 , , , ,
. . http://ani.cs.msu.su

13


. . , . . , . . « »

. , , , .

. 7 , , , , , . . , , , . 7. <> <> . .10 I,K,D. - 12 (DEAC, DABC, DFBC, DFEC, IEAC, IAHC, IGHC, IEGC, KAHC, KHJC, KJBC, KABC).

4. . ( .)
. . . r , . r ( x, y ) P( x, y ) i Q ( x , y ) j . P, Q . . , r ( M ) 0 , .

dx dy . P ( x , y ) Q ( x, y )
, . . , ,
. . http://ani.cs.msu.su

14


. . , . . , . . « »

. , , . . . . , . . , ( xb , y b ) . . , . . . : 1. . : (i, j), (i+1, j), (i+1, j+1), (i, j+1). , . , , , . , , . , , , .

(i, j 1)
Yma
x

(i 1, j 1)
( xb , y b ) yy Ymin X
min b

(i , j )

(i 1, j )

xx

b

X

max

8. . 2. , . ( y yb ) ( x xb ) , . : (i, j), (i+1, j), (i+1, j+1), (i, j+1). . x1 , x2 : x1 xb x2 x1 xb x2 , . , . , , .
. . http://ani.cs.msu.su

15


. . , . . , . . « »

, . , . , .

Y
(i, j 1)

(i , j )

( xb , y b )

(i 1, j 1)

(i 1, j )
X
9. . . , (i, j), (i+1, j), (i+1, j+1), (i, j+1). , U . . , , i=0, j=0, (0, 0), (1, 0), (1, 1), (0,1). v1 (0,1),v2 (1,1), v3 (1, 0), v4 (0, 0) . :

( xv , yv ), ( xv , yv ), ( xv , yv ), ( xv , yv ).
4 4 1 1 2 2 3 3







.

(0,1) v1 Yma
x

(1,1) v ( xb , y b )
B

2

yy

b

(0, 0) v

C

4

(1, 0) v

3

Ymin X
min

xx

b

X

max

. 10 , BC DE.

. . http://ani.cs.msu.su

16


. . , . . , . . « »

, ( xb , yb ) . . B, C. U . U ( x, y ) . :

x B txv (1 t ) xv , xC t * xv (1 t * ) xv ,
1 4 2 3

y B tyv (1 t ) yv ,
1 4

yC t yv (1 t ) yv ,
2 3

*

*

t , t : 0 t 1, 0 t 1; t v1 B v4 B , t v2C v3C . . , ( xb , yb )

*

*

*

xb pxB (1 p ) xC , yb py B (1 p ) yC , 0 p 1, p AB AC , A ( xb , y
b)

.

U . . . - . 1. U. ,

. , A1 . AA1

, A1 , , , . , , . , , . 2. , , . - . A1 , . , . A1 U. A1 . . , , , . . , .

. . http://ani.cs.msu.su

17


. . , . . , . . « »

5. , .
. R(z)=P(z)/Q(z). (), z 0 . . . . . . . . , , , . , .

f ( z ) an z n an1 z n 1 ... a1 z a0 , an 0. n 2 .
f, J(f),

J ( f ) {z : f

(n)

( z ) , n }

, f z, f(z). (1893-1978), (18781929) 1917-19 . . , , 50 , , . . , , , . . , . f c ( z ) z 2 c, . .

. . http://ani.cs.msu.su

18


. . , . . , . . « »

c=0.32+0.043i

c= - 0.39054-0.58679i

2 , z c, . , . , 2 . f c ( z ) z c, , . z 2 c . , J ( f c ) . , J ( f c ) .

f c ( z ) z 2 c,

M {c C : { f

(n) c

(0)}0 }. n

6. ().
. . . , . . " " - . . , . 2 , ( R , ) (, ), (X, d). . 1. (X, d) - . H(X) , X, . , H(X), X . 2. (X, d) - x X, B H(X ) , x B

d ( x, B ) min{d ( x, y ) : y B}.
. . http://ani.cs.msu.su

19


. . , . . , . . « »

3. (X, d) - , A, B H ( X ) , d ( A, B ) max{d ( x, B ) : x A} . :

A {x1 , x2 : x12 x22 4} B { x 1 , x2 : x12 x22 1}

x

2

1

2

x1

, d ( A, B ) max{d ( x , B ) : x A} 1,

d ( B, A) max{d ( x , A) : x B} 0.
d ( , ) d ( , ). 4. (X, d) - . A, B H ( X )

h ( A, B ) d ( A, B ) d ( B, A) max{d ( A, B ); d ( B, A)}.
, h(A,B) , (H(X),h) . , 1. (X, d) - , (H(X),h) - . , { An H ( X )}1 - , n

A

lim
n

An H ( X ) A {x X : {xn : x x An } ,

lim xn x} .
n

- IFS (Iterated Functio n Systems). (John E. Hutchinson, Fractals and Self Similarit y, Indiana Universit y Mathemat ics Journal, v.30, N 5. 1981, pp. 713-717.), a (ichael Barnsley, Fractals Everywhere, Academic Press, Boston, 1988). , . , , IFS , . , . , , .
. . http://ani.cs.msu.su

20


. . , . . , . . « »

IFS

,

n=0, S

0

n=1, S1

. n=2, S 2

1915 , « (gasket) C» . n R , n : T ( x ) Ax a , x R R T x2 2 2 x2 2 , ,
T3
2

x1

1

1 x1 1

T1

T2


. . http://ani.cs.msu.su

21


. . , . . , . . « »

T1



x1 1 2 0 x2 0 1 2



x1 x2 x1 x2



0 , 0 1 2 , 0 14 3 4

x 1 2 0 T 1 x2 0 1 2 x T1 1 x2 1 2 0 0 1 2

x1 x2

: . : E0 - (),

E 1 T1 ( E0 ) T2 ( E0 ) T3 ( E0 ) En T1 ( En 1 ) T2 ( En 1 ) T3 ( En1 )
E0 S 0 , En , , . : x0 - ()

x1 T1 ( x0 ) or T2 ( x 0 ) or T3 ( x 0 ) x n T1 ( x n-1 ) or T2 ( x n-1 ) or T3 ( x n-1 )
, T1 ( S ), T2 ( S ), T3 ( S ) , , . , . , , , . , IFS, , () E0 x 0 . , E0 : - . , x 0 , . , , (IFS) , . . ,

d (T ( x ), T ( y ) sd ( x, y ), 0 s 1,

x, y X

, . .
22

. . http://ani.cs.msu.su


. . , . . , . . « »

T1 s1 1

T2 s2 1 Tm sm 1
X. m T H(X) X. T : H H T ( E ) T1 ( E ) T2 ( E ) ... Tm ( E ), E H . «» H «» H, «» . 5. (IFS) : E0 - ()

E1 T ( E0 ) En T ( En1 ),
IFS - , IFS E: E limEn . ,
n

. ( !) . , , , . , . , T (H(X), h), . . 2. H(X). : s max{s1 , ..., sm } ; n 3. T1 , T2 , ...Tm - R .

E0 H ,







), n 1, 2..., X E H . IFS. , (n) (n) : E lim T ( E0 ) , T ( E0 ) T (T (...T ( E0 ))) .
n 1

En T ( E

n

IFS IFS :

. . http://ani.cs.msu.su

23


. . , . . , . . « »

a Ti ( x) i ci

bi di

e x i fi

,

i 1, ..., m.

m 6

a1 a C 2 a m

b1 b2 bm

c1 c2 c
m

d d d

1 2

e1 e2 em

m

f1 f2 fm

IFS . , , . -, . , , IFS, . , . , , . T ( x ) Ax a ( ) |det(A)| . , , , .
n

p1 , p2 , ..., pm : p j | det( Aj ) | /



i 1

| det( Ai ) |,

j 1...m

Ai - Ti , i 1, ...m . , p1 .... pm 1 , . Ti pi .
IFS c .

. . http://ani.cs.msu.su

24


. . , . . , . . « »

7. , .
. . : , .. :

:

, , , , . , (« ») . , , (, ...) . . , , . , , , . () . , , , , . , .

8. .
. , .

. . http://ani.cs.msu.su

25


. . , . . , . . « »

. , , . «», .

( , ...). , , . , . () ""

9. .
. . . ­ . , 2- ­ 2- . . http://ani.cs.msu.su 26


. . , . . , . . « »

(, ...). . S, sij ­ . , , . ­ , , , , , . , : , , .. . : . : (zoom), , , , . «», :

2 x x1 x x0 sin x y y y sin 2 y 0 1 y
x, y ­ , x1, y1 ­ , x0, y0 ­ , x, y ­ . . ­ . . . , 256 , , : : F(x)=0, x
. . http://ani.cs.msu.su

27


. . , . . , . . « »

0 1 5 0

1 5 1 5 1 5

0

010 010 111 111 121 11 1 1 1 1 1 , 1 2 1 , 1 3 1 , 1 1 1, 1 2 1 , 2 2 2 , 56 7 9 10 14 100 010 010 111 111 121 0

: . . ­ , : 0 1 0 1 1 1 1 2 1 1 5 1, 1 9 1 , 2 5 2 . 0 1 0 1 1 1 1 2 1 , , , , , , , . , :
1 1 1 1 1 1 1 2 1 1 1 1

1 2 3 2 1 1

2321 6862 8 12 8 3 . 6862 2321

«» 1 2 1 1

1 , «-» 1

10. .
, . . , . , ( ) : 1) ( , ); 2) ­ ; 3) ; 4) ( ); 5) , . , . f x1 , x 2 , - , M 1 M 2 . f , .

. . http://ani.cs.msu.su

28


. . , . . , . . « »

(i,j) 3 3 : 1 2 1 1 0 1 f i 1, j 1 f i , j 1 f i 1, j 1

H1 0 0 0 , H 2 2 0 2 ,F f i 1, 1 2 1 1 0 1 f i 1, j

j 1

f f

i, j

f f

i 1, j

,

i , j 1

i 1, j 1

­ H H2 ( x1 x 2 ­ x y ): S1 H1 * F f i1, j1 2 f i , j 1 fi 1, j 1 f i 1, j 1 2 f i , j 1 f i1, j 1 ,
S 2 x2 / x1 H 2 * F

1



x2 / x1 f



i 1, j 1

2f

i 1, j

f

i 1, j 1

1 2 2 f i , j : gi , j S1 S 2 , 8x 2 i , j : i j arctan S1 / S 2 .
gi , : T gi j / M1 M 2 i 1,2, ... , M 1 , j 1,2, ... , M 2
i, j

f jf

i 1, j 1

2f

i 1, j

f

i 1, j 1

,

, gi j T ( , ). N1.

"", N1 , . , , . , i j , ,

i , j



i

l , jl





i

r , jr ,


. Al Ar A p / , il , jl ir , jr ( , , ). N1 ,





. . http://ani.cs.msu.su

29


. . , . . , . . « »

gi , j gil jl , gi j gir jr , N2.

i j (i,j) , i j 0 . il , jl .

ij

2



i

r , jr





i

1, j 1



i , j 1



i 1, j 1



i 1, j



i , j



i 1, j



i

l i 1, j l j



i j 0 , Al Ar

ir i 1, j r j i 1, j 1



i 1, j 1



i , j 1

­ max arctan x 2 / x1 , / 2 arctan x 2 / x1 . . N2 ,





il jl i j , ir jr i j .
2 2 R Q x1 x 2 . , ( Q1.5). N3.

. . http://ani.cs.msu.su

30


. . , . . , . . « »

, , i , j 1 i 1, j 1 , F2 2 i , j i 1, j 1 1 3232. H3 1 11 , . , H4 1 1 1 ,

11. .
. . f 3 3 3 , (i,j,k) fi-1, j+1, k+1 fi, j+1, k+1 fi+1, j+1, k+1 Y Z fi-1, j, k+1 fi, j, k+1 fi+1, j, k+1 X fi-1, j-1, k+1 fi, j-1, k+1 fi+1, j-1, k+1 fi fi fi
-1, j+1, k -1, j, k -1, j-1, k

F=

fi, fi, fi,

j+1, k j, k j-1, k

fi+ fi+ fi+

1, j+1, k 1, j , k 1, j-1, k

fi-1, j+1, k-1 fi-1, j, k -1 fi-1, j-1, k -1

fi, j+1, k -1 fi, j, k -1 fi, j-1, k -1

fi+1, j+1, k -1 fi+1, j, k -1 fi+1, j-1, k-1 Gx 0 3/3 3/3 0 2 /2 2 /2 0 3/3 3/3 0 0 0
2 /2

2/2

Hx=

-1
2/2 3/3 2/2 3/3

1
2 /2

0 3/3 0 2 /2 0 3/3 Gy Gz Hx. , ( ) .
2 2 2 g f x , y , z Gx G y Gz .







,

, , ( ). ,

. . http://ani.cs.msu.su

31


. . , . . , . . « »

gi , j , k

g i jk i 1... M x , j 1... M y , k 1... M



/ M x M y M z ,
z





(Mx, My, Mz ­ ). 3 3 3 "" .

. N
0

­ .
0

L, N

­

0 L N M x M y M z . N
N


1 i , j , k N



1

, gi , j , k



g i j k / L N 1 .

( , , ) "" ( ) .

12. .
. . : , ­ . , . , , , . . ­ . : 1) ( , , ); 2) ( ); 3) ( , , ); 4) ( );
. . http://ani.cs.msu.su

32


. . , . . , . . « »

5) . , . . . :
u t x u x u2 t v x uv t v 0 , y p uv 0 , y v 2 p 0 , y









e e p u e p v 0 . t x y









t ­ , x, y ­ , u, v ­ x y , ­ , p ­ , e ­ . : p 1 e . (D ­ , u u n , u ):
u2 v2 2

, ­ -



l r D l un l r un r ,
2 l u n l r u n r D l u n l p l

(1)





l unl D u l r

(4) l u nl e l p l / l u l D 2 r u n r D e r p r / r u r D 2 . (1)-(4) , , . :



D

u n D
r

r u n


r

2

pr,

(2) (3)

u r ,









l u n l D r u n r D J 0 . (3) u l u r .

u nl u n r .













-:

(1),

(2) ­



el pl/ l unl D / 2 er pr/ r unr , u l u r 0 ­ (1) (2)
2 2





2



D



2

/2.



u l u r 0

. J=0. p l p r

l r el e r 0 , u n l u n r . : u l u r , ­ u l u r .

. . http://ani.cs.msu.su

33


. . , . . , . . « »

(xi,yj) , . N3 a 1 a 7 -- ( t ­ ):

a 1i , j 1 sign u n / n i j ,
a 2 i , j sign i l j l i r j



r



sign i l j l i r j



r


3

,

b 3i , j x 1/ p i j / p / n i j , B 3 max b 3 ,
i , j N





a 3i , j b 3i , j / B 3 , b 4 i , j t u n / n i j , B 4 max b 4
i , j N 3

a 4 i , j b 4 i , j / B 4 , 1, A l A r / max A l , A r 1 a 5 , 0, A l A r / max A l , A r 1 1, t / x u u 1 l r 2 a 6 , 0, t / x 1 u l u r 2 1, t / x u u 1 l r 3 a 7 , 0, t / x 1 u u 3 l r 1, 2 , 3 ­ . , un / n 0 . un / un / n un / x cosij un / y sin i





n
j

ij

ij

ij

,



u n / x ij 1 / 2 x 1 H 3 F2 2 u n , i , j ,



F2 2

u n/ y


H3 1 1

ij 1 / 2x 2 i , j 1 i 1, j 1 i , j i 1, j


H4 F2 2 u n, i , j .





1 1 , H4 . 1 1 1 1

,





sign l r sign l r 2 ,







sign l r sign l r 0 . p / 1 , 11 1 , i j H5 F22 , i , j , H5 . 41 1













i l j l i r j r 0, i l j l i r j r 0 . . , (, ), ­ , ­ . . http://ani.cs.msu.su 34








. . , . . , . . « »

. 1 2 3 0.01 . . : 1 ­ , 2 ­ , 3 ­ , 4 ­ , 5 ­ . z z 1, z 2 , z 3 , z 4 , z 5 , z 6 , z 7 , k ­ ( ): C1 C2 C3 C3 C4 C4 C4 C4 C5 C5 C5 C5 z z1 2 2 0 2 0 2 0 2 2 2 2 2 z2 2 2 0 0 0 0 0 0 2 2 2 2 z3 1 1 0 0 0 0 0 0 1 1 1 1 z4 1 1 0 0 0 0 0 0 1 1 1 1 z5 1 1 1 1 1 1 1 1 0 0 0 0 z6 0 0 1 1 0 0 0 0 0 1 0 1 z7 0 1 1 1 1 1 0 0 0 0 1 1
(i,j) C k 0 , dist a i j ,z k min a i j ,z k , 0 k

a a 1, a 2 , a 3 , a 4 , a 5, a 6 , a 7 , i j , dist
).



a m z m



2

(

m1,7

. , : 1 - (), 2 - (), 3, 6 - , 4 - (), 5 - , 7 (). , (, ).

. . http://ani.cs.msu.su

35


. . , . . , . . « »

. . http://ani.cs.msu.su

36


. . , . . , . . « »

.
4 , 3 , 1 . . 3 , (-1) , 0 . 1. A=(xz+1,yz,xy) B=rotA B=(0,x-y,y) B=(x-y,x-z,z) B=(x-y,x-y,0) B=(x,y,0) B=(3/2x-5y, -3/2y-3z, x2-y2) B=(3/2x-5y,3/4y2+3,x2) B=(x2+3y,y2+3x,3z) B=(x3+3xy,3y-3x2 y,-3yz) B=(-2/3xz, 4/3yz, z2-x2/3-2/3y2) B=(-2/3xz, -4/3yz, z2-x2/3-2/3y2) B=(y, x+z, 2y) B=(2y,x+z, 2y) F (r )=const drF(r )=0 dr F( r)=0 F (r )=r rot

2.

3. (u,v) , 4. , , . 5.

6. F ( r) 7. .

. . http://ani.cs.msu.su

37


. . , . . , . . « »

8. n=0

3/2 ln3 lg 5/lg 3 5/3

n=1

9. n=0

lg 24/lg 5 ln 5 5/ 3 2

n=1

n=2

10. , (1,0), (-1,-1), (1,0) PQR P(0,3), Q(0,-8), R(3,2) 11. h(A,B)= A={(x,x), -1x0} B={(x,0), -1x1} 12. h(A,B)= A={(x,y), x2/4+4y2 =1} B={(x,y), 4(x-2)2+y2/4=1} 13. f(z)=z2 +4iz-4

a 1 1 2 1

b 0 -1 -1 1

c 4 4 3 4

d 3 3 4 -3

e 2 2 1 2

f 1 -8 -1 8

0 5 1 1/2 2 3,5 0 1/2 -1Re z 1 Im z=2 |z|=1 |z+2i|=1 0Re z 2 -2Im z 0 38

. . http://ani.cs.msu.su


. . , . . , . . « »

121 1 2 2 2 : 14. 14 121
15. F (256 ). 16.
123 268 1 3 8 12 100 268 123 21 62 83 62 21

F(x)=256+x F(x)=256-x F(x)=x*256 F(x)=x-256 «»

:

0

1

0

17. 1 5 1 : 0 1 0 18. « » 19. 0, x c F x 1, x c 20.

0 1 0 21. 1 4 1 : 0 1 0

. . http://ani.cs.msu.su

39


. . , . . , . . « »

.
1. «» ) . . . . ) .

f ( z) z 2 C , f ( z) z 3 C , f ( z ) z 3 Cz, f ( z ) e z b, f ( z ) c1 sin z c2 .
) .

f ( z) z 2 C , f ( z) z 3 C , f ( z ) z 3 Cz.
) . « ». 2. « ». ("grayscale 8-bit"=256 ) . . BMP

f 3 3 ­ f i 1, j 1 F f i 1, j f i 1, j 1 f i , j 1 f i, j f i , j 1 f i 1, j 1 f i 1, j f i 1, j 1

1

2

1

1 0 1

H 1 0 0 0 H2 2 0 2 . 1 2 1 1 0 1 ( , ):
S1 H 1 * F f i 1, j 1 2 f i, j 1 f i 1, j 1 f i 1, j 1 2 f i, j 1 f i 1, j 1 , . S 2 H 2 * F f i 1, j 1 2 f i 1, j f i 1, j 1 f i 1, j 1 2 f i 1, j f i 1, j 1









gi , j f



f i , j : g i , j

1 2 2 S1 S 2 . 8

. . http://ani.cs.msu.su

40


. . , . . , . . « »

: T i 1,2, ... , M 1 , j 1,2, ... , M
2


i, j

gi j / M1 M 2 .

, gi j T . 111 1 H 1 2 1. 10 111



, «256 » F = 0.3 Red + 0.59 Green + 0.11 Blue 3. « » « » .

. OPENGL.
OpenGL - Open Graphics Library, . "" - . OpenGL (API) . OpenGL 1992 , IRIS GL, Silico n Graphics. OpenGL ( OpenGL, GLU,GLUT,GLAUX ), . OpenGL


: , , .. (z-) : , , (blending), (antialiasing).

, OpenGL , . Windows Unix (WGL GLX ), GLAUX GLUT, .

. . http://ani.cs.msu.su

41


. . , . . , . . « »

, OpenGL , :




, OpenGL , ( GL_) , . , . , . OpenGL : type glCommand_name[1 2 3 4][b s i f d ub us ui][v](type1 arg1,...,typeN argN) , : gl , : OpenGL, GLU, GLUT, GLAUX gl, glu, glut, aux . Command_name [1 2 3 4] [b s i f d ub us ui ] : b GLbyte ( char \++), f GLflo at ( float), i­ GLint( int) . gl.h GLUT GL Ut ilit y Toolkit, . , Windows, Linux . GLUT :


(callback) 42

. . http://ani.cs.msu.su


. . , . . , . . « »



(, .)

glutInit(int *argcp, char **argv) argcp argc main(), argv­ , , . , GLUT . : glutInitWindowPosition (int x, int y) glutInitWindowSize (int width, int height) glutInitDisplayMode (unsigned int mode) , , "" (|): GLUT_RGBA RGBA. , GLUT_RGBA GLUT_INDEX. GLUT_RGB , GLUT_RGBA. GLUT_INDEX ( ). GLUT_RGBA. GLUT_SINGLE . . GLUT_DOUBLE . GLUT_SINGLE. GLUT_DEPTH . , . , - , , . z- . GLUT - . , , , , , . : , , , , , "" (idle) , . , . :


vo id glutDisplayFunc (vo id (*func) (vo id)) vo id glutReshapeFunc (vo id (*func) (int width, int height)) vo id glutMouseFunc (vo id (*func) (int button, int state, int x, int y)) vo id glutIdleFunc (void (*func) (vo id))

. glutDisplayFunc() , . , , vo id glutPostRedisplay(vo id) glutReshapeFunc() , .
. . http://ani.cs.msu.su

43


. . , . . , . . « »

glutMouseFunc() , glutIdleFunc() , , . vo id glutMainLoop(void) , GLUT. , :


vo id glVertex[2 3 4][s i f d](type coords) vo id glVertex[2 3 4][s i f d]v(t ype *coords)

: x, y, z, w, (x,y) (x,y,z) , : z=0, w=1. , , ­ . , (0,0) , x , y- , z- . , , . - , , . OpenGL , , , , . :


vo id glBegin(GLenum mode) vo id glEnd(vo id)

mode , :


GL_POINTS . GL_LINES ; , . GL_LINE_STRIP . GL_LINE_LOOP , , . GL_TRIANGLES ; , . GL_TRIANGLE_STRIP . GL_TRIANGLE_FAN ( ). 44





. . http://ani.cs.msu.su


. . , . . , . . « »



GL_QUADS ; , . GL_QUAD_STRIP n 2n-1, 2n, 2n+2, 2n+1. GL_POLYGON .



,


vo id glNormal3[b s i f d](type coords) vo id glNormal3[b s i f d]v(t ype coords)

glBegin() glEnd() , glVertex..(), glCo lor..()glNormal..(), glRect..(), glMaterial..() glTexCoord..(). , void glRect[s i f d]( GLt ype x1, GLt ype y1, GLt ype x2, GLt ype y2 ), vo id glRect[s i f d]v( GLt ype *v1, GLt ype *v2 ) z=0 (x1,y1) (x2,y2), v1 v2. , . . , , . void glFrontFace(GLenum mode) mode GL_CW, GL_CCW. vo id glPo lygonMode(GLenum face, Glenum mode)
. . http://ani.cs.msu.su

45


. . , . . , . . « »

mode , , face , :


GL_FRONT GL_BACK GL_FRONT_AND_BACK GL_POINT .

mode :


GL_LINE . GL_FILL .

, , . glEnable(GL_CULL_FACE), void glullFace(GLenum mode) GL_FRONT , GL_BACK- ( ). , , glEnable(GL_DEPTH_TEST). , glVertex..(), , vo id glVertexPointer( GLint size, GLenum t ype, GLsizei stride, vo id *ptr ) . size ( 2, 3, 4), type ( GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE). , stride ; stride , , . ptr , . , ,


vo id NormalPo inter(GLenum t ype, GLsizei stride, vo id*po inter) vo id Co lorPointer(GLintsize, GLenum t ype, GLsizei stride, vo id *pointer)

, , vo id glEnableClientState(GLenum array) GL_VERTEX_ARRAY, GL_NORMAL_ARRAY, GL_COLOR_ARRAY . vo id glDisableClientState(GLenum array)
. . http://ani.cs.msu.su

46


. . , . . , . . « »

array. vo id glArrayElement(GLint index) OpenGL , index. glCo lor..(...), glNormal..(...), glVertex..(...) c . vo id glDrawArrays(GLenum mode, GLint first, GLsizei count) count , mode, first first+count-1. glArrayElement() . , . vo id glDrawArrays(GLenum mode, GLsizei count, GLenum t ype, vo id *indices) indices­ , , type : GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, count . . . , ,


, (displa y list) :

vo id glNewList(GLuint list, GLenum mode) vo id glEndList()

, list, mode , :


GL_COMPILE GL_COMPILE_AND_EXECUTE ,

, , vo id glCallList(GLuint list) list . , vo id glCallLists(GLsizei n, GLenum t ype, const GLvoid *lists) n lists, type. GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_UNSIGNED_INT > . vo id glDeleteLists(GLint list, GLsizei range) ID list <=ID<= list+range-1.
. . http://ani.cs.msu.su

47


. . , . . , . . « »

OpenGL : , . z: , ­ . x y . gluPerspective(), glOrtho(), , . . OpenGL , : , . 4x4. , , . ( ), . , , , vo id glMatrixMode(GLenum mode) mode GL_MODELVIEW, GL_PROJECTION, GL_TEXTURE , . , . vo id glLoadMatrix[f d](GLt ype *m) m 16 float double , , , . vo id glLoadIdent ity(vo id) . ,


vo id glPushMatrix(vo id) vo id glPopMatrix(vo id)

, . 32, 2. vo id glMultMatrix[f d](GLtype *m) m . , , 4x4 . glLoadIdent it y(). 48

. . http://ani.cs.msu.su


. . , . . , . . « »

, : => => => => . , . : (x', y', z', 1)T =M * (x, y, z, 1)
T

M . . :


vo id glTranslate[f d](GLtype x, GLtype y, GLt ype z) vo id glRotate[f d](GLtype angle, GLt ype x, GLtype y, GLtype z) vo id glScale[f d](GLt ype x, GLtype y, GLt ype z)

glTranlsate..() , . glRotate..() angle ( ) ( x,y,z ). glScale..() ( ), . , . , , , , glPushMatrix(), glRotate..() , , , glPopMatrix(). , . vo id gluLookAt (GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz)
. . http://ani.cs.msu.su

49


. . , . . , . . « »

(eyex,eyey,eyez) , (centerx, centery, , , (upx,upy,upz ) , , , , (0,1, (0,-1,0) .

centerz) . 0),

, , . OpenGL () .


vo id glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far) vo id gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top)

( ) . (left, bottom, -near) (right, top, -near), . near far (0,0,0) . , , near far ­1 1 . vo id gluPerspect ive(GLdouble angley, GLdouble aspect, GLdouble znear, GLdouble zfar) . angley 0 180. x aspect, . zfar znear . zfar/znear, , `' 0 1 (. ). (clip) , (xc, yc, zc, wc)T [-1,1]. : (xn, yn, zn)T=(xc/wc, yc/wc, zc/wc)
T

, : vo id glViewPort(GLint x, GLint y, GLint width, GLint height) ( x,y ) . , (0,0) .
. . http://ani.cs.msu.su

50


. . , . . , . . « »

glViewPort(), (ox, oy) ox=x+width/2, oy=y+height/2. px=width, py=height, : (xw, yw, zw)T = ( (px/2) xn+ ox , (py/2) yn+ oy , [(f-n)/2] zn+(n+f)/2 )
T

n f 0 1 . (z-), . n f vo id glDepthRange(GLclampd n, GLclampd f) glViewPort() , glutReshapeFunc(), , , . , , . , , , . , . , OpenGL.


vo id glMaterial[i f](GLenum face, GLenum pname, GLtype param) vo id glMaterial[i f]v(GLenum face, GLenum pname, GLt ype *params) , . pname:

, , param,

GL_AMBIENT params RGBA, ( ). : (0.2, 0.2, 0.2, 1.0). GL_DIFFUSE params RGBA, . :(0.8, 0.8, 0.8, 1.0). GL_SPECULAR params RGBA, . : (0.0, 0.0, 0.0, 1.0). GL_SHININESS params 0 128, . : 0.
. . http://ani.cs.msu.su

51


. . , . . , . . « »

GL_EMISSION params RGBA, . : (0.0, 0.0, 0.0, 1.0). GL_AMBIENT_AND_DIFFUSE glMaterial..() pname GL_AMBIENT GL_DIFFUSE params. , , glMater . ; ­ ial[i f]() .

face , GL_FRONT, GL_BACK GL_FRONT_AND_BACK. , , glEnable() c GL_COLOR_MATERIAL, vo id glColorMaterial(GLenum face, GLenum pname) face , pname . , pname ( ) glColor..(), glMaterial..() . vo id glLight[i f](GLenum light, GLenum pname, GLfloat param) vo id glLight[i f](GLenum light, GLenum pname, GLfloat *params) light , GL_LIGHTi, i 0 GL_MAX_LIGHT, . , glMaterial..(). ( , ): GL_SPOT_EXPONENT param 0 128, . . : 0 ( ). GL_SPOT_CUTOFF param 0 90 180, . , . : 180 ( ). GL_AMBIENT params RGBA, . : (0.0, 0.0, 0.0, 1.0).
. . http://ani.cs.msu.su

52


. . , . . , . . « »

GL_DIFFUSE params RGBA, . : (1.0, 1.0, 1.0, 1.0) LIGHT0 (0.0, 0.0, 0.0, 1.0) . GL_SPECULAR params RGBA, . : (1.0, 1.0, 1.0, 1.0) LIGHT0 (0.0, 0.0, 0.0, 1.0) . GL_POSITION params . 0.0, (x,y,z), (x,y,z,w). : (0.0, 0.0, 1.0, 0.0). GL_SPOT_DIRECTION params , . : (0.0, 0.0, -1.0, 1.0). : glLight..() ( glLookAt() ), , . , . , , , , . glEnable (GL_LIGHTNING), glEnable(GL_LIGHTn). OpenGL , : , , . , glScale..(), . , , glEnable(GL_NORMALIZE). vo id glLightModel[i f](GLenum pname, GLenum param) vo id glLightModel[i f]v(GLenum pname, const GLtype *params) pname , : GL_LIGHT_MODEL_LOCAL_VIEWER param . FALSE, ­z, x . TRUE,
. . http://ani.cs.msu.su

, w ,

53


. . , . . , . . « »

. , . : FALSE. GL_LIGHT_MODEL_TWO_SIDE param , . FALSE, . TRUE, . : FALSE . GL_LIGHT_MODEL_AMBIENT params , . :(0.2, 0.2, 0.2,1.0). , . . : , . . OpenGL Windows DIB , (R,G,B) , . , , GLAUX ( glaux.lib), . AUX_RGBImageRec* auxDIBImageLoad(string file) file­ *.bmp *.dib. , . . -, , . . , . vo id gluScaleImage(GLenum format, GLint widthin,
. . http://ani.cs.msu.su

, ,



54


. . , . . , . . « »

GL height in, GLenum t ypein, const void *datain, GLint widthout, GLint heightout, GLenum t ypeout, void *dataout) format GL_RGB GL_RGBA, . widthin, height in, widhtout, heightout , typein t ypeout , datain dataout. , GL_UNSIGNED_BYTE, GL_SHORT, GL_INT . , dataout. -, , . , . , . . , 2mx2n max(m,n)+1 , . vo id gluBuild2DMipmaps(GLenum target, GLint components, GLint width, GLint height, GLenum format, GLenum t ype, const void *data) target GL_TEXTURE_2D, components , 1 4 (1- ,2- alpha, 3-, , , 4- ). width, height, data , format type , gluScaleImage(). OpenGL , , target GL_TEXTURE_1D. gluBuild1DMipmaps(), height.
. . http://ani.cs.msu.su

1xN,

55


. . , . . , . . « »

, OpenGL , . , vo id glGenTextures(GLsizei n, GLuint*textures) n , textures. vo id glBindTexture(GLenum target, GLuint texture) target GL_TEXTURE_1D GL_TEXTURE_2D, texture , . , , glBindTexture() c target texture. , glBindTexture() texture, , , . , , , , . , , , . (s,t), s t [0,1]. : vo id glTexParameter[i f](GLenum target, GLenum pname, GLenum param) vo id glTexParameter[i f]v(GLenum target, GLenum pname, GLenum *params) target , , pname , , param params . pname: GL_TEXTURE_MIN_FILTER param , . GL_NEAREST (), GL_LINEAR . : GL_LINEAR. GL_TEXTURE_MAG_FILTER param , () . GL_NEAREST (), GL_LINEAR . : GL_LINEAR. GL_TEXTURE_WRAP_S param s, [0,1]. GL_REPEAT s , . GL_CLAMP : 0 1, , . : GL_REPEAT.

. . http://ani.cs.msu.su

56


. . , . . , . . « »

GL_TEXTURE_WRAP_T t.





,





GL_NEAREST , , GL_LINEAR . , , , , vo id glTexEnv[i f](GLenum target, GLenum pname, GLt ype param) vo id glTexEnv[i f]v(GLenum target, GLenum pname, GLt ype *params) target GL_TEXTURE_ENV, pname GL_TEXTURE_ENV_MODE, . param : GL_MODULATE . GL_REPLACE . GL_BLEND . . : , . vo id glTexCoord[1 2 3 4][s i f d](type coord) vo id glTexCoord[1 2 3 4][s i f d]v(type *coord) glTexCoord2..(type s, type t), . , , . , GLU , , , , . vo id gluQuadricTexture(GLUquadricObj*quadObject, GLboolean textureCoords) textureCoords GL_TRUE, . vo id glTexGen[i f d](GLenum coord, GLenum pname, GLt ype param) vo id glTexGen[i f d]v(GLenum coord, GLenum pname, const GLtype *params) coord GL_S, GL_T; pname GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, GL_EYE_PLANE. params , param GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP.
. . http://ani.cs.msu.su

57


. . , . . , . . « »

, , . , . s_coeffs t_coeffs (1,0,0,1) (0,1,0,1) , : glEnable(GL_TEXTURE_GEN_S); glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR); glTexGendv(GL_S, GL_EYE_PLANE, s_coeffs); t .

. . http://ani.cs.msu.su

58


. . , . . , . . « »

.
[1] William E. Lorensen, Harvey E. Cline. CG vo l.21, no.4, July 1987 [2] Bernardo P. Carneiro, Arie E. Kaufman. SIGGRAPH'96, pp. 205-210 [3] Andre Gueziec , IEEE Transact ions on Visualization and Co mputer Graphics. Vol. 1, Issue 4, pp. 328 - 342, December 1995 [4] Vaclav Skala , Conference on Scient ific Co mputing 2000, pp. 368 - 378. http://www.emis.de/journals/AMUC/_contributed/algo2000/skala.pdf [5] Paolo Cignoni. IEEE Transact ion on visualization and CG, vol.3, no.2 April-June 1997. [6] D. V. Mogilenskikh, I. V. Pavlov. «Color interpolat ion algorithm in visualizing result s of numerical simulat ions». Visualizat ion and imaging in transport pheno mena. Annals o f the New York Academy o f Sciences. v. 97, pp. 43-52, 2002. [7] A. Hilton, A. J. Stoddart, J. Illingworth, T. Windeatt. International Conference on Image Processing, 1996. ftp://ftp.ee.surrey.ac.uk/pub/vision/papers/hilton-icip96.ps.Z [8] Tasso Karkanis , A. James Stewart. IEEE Computer Graphics and Applicat ions, v.21 n.2, p.60-69, March 2001 [9] B. Crespin, P. Guitton, C. Schlick. Proceedings of CSG'98, 1998 [10] Marshall Bern and David Eppstein. Comput ing in Euclidean Geometry Eds. World Scient ific, 1992, pp. 23-90 [11] M. Durst, "Letters: Addit ional Reference to Marching Cubes," Computer Graphics, vo l. 22, no. 2, pp. 72-73, 1988. [12] C. Rocchini, P. Cignoni, F. Ganovelli. International Conference on Shape Modeling & Applicat ions, 2001. http://smi2001.ima.ge.cnr.it/abstracts/47.pdf [13] Yutaka Ohtake, Alexander G. Belyaev. ACM Symposium on So lid Modeling and Applicat ions, pp. 171 - 178, 2002. http://cis.k.hosei.ac.jp/~F-rep/SM02ob.pdf [14] Y. Ohtake, A. G. Belyaev. Proceedings of the International Conference on Shape Modeling & Applications, Page: 74, 2001. http://cis.k.hosei.ac.jp/~F-rep/OhtakeSmi01.pdf [15] Gregory M. Nielso n, Bernd Hamann. IEEE Visualization, Proceedings of the 2nd conference on Visualizat ion '91, pp.83 - 91, 1991 [16] Adriano Lopes, Ken Brodlie. IEEE Transact ions on Visualizat ion and Computer Graphics, pp 16-29, 2002 [17] S. V. Matveev. Proceedings IEEE Visualizat ion '94, pp. 288-292 [18] Andrew P. Witkin, Paul S. Heckbert. Proceedings o f the 21st annual conference on Computer graphics and interact ive techniques, pp: 269 - 277, 1994. www.cs.cmu.edu/~aw/pdf/particles-reprint.pdf [19] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle. SIGGRAPH'92 proceedings, 26(2), pp. 71-78. [20] T. Itoh and K. Ko yamada. «Automat ic Isosurface Propagation using an Extrema Graph and Sorted Boundary Cell Lists» IEEE Transactions on Visualizat ion and Co mputer Graphics 1(4) pp.319-327, 1995

. . http://ani.cs.msu.su

59


. . , . . , . . « »

[21] C. L. Bajaj, V. Pascucci, D. R.Schikore. «Fast Isocontouring for improved Interactivit y» In 1996 Symposium o n Vo lume Visualizat ion Proc., San Francisco (CA), Oct. 28-29, pp.39-46, 1996. [22] H. Shen, C. D. Hansen, Y. Livnat and C. R. Johnos. « Isosurfacing in Span Space wit h Utmost Effeciency (ISSUE)» in Visualisat ion 96' Conf. Proc., San Francisco, Oct. 27-Nov.1, pp. 287-294,1996. [23] J. Wilhelms and A. Van Gelder. «Octrees for faster isosurface generation» ACM Transact ion on Graphics, 11(3) pp.201-227, July 1992. [24] ., .. .. . .: . 1989. 622 . [25] .... . .: . 1989. 488 c. [26] . . . .: . 1990. 192 . [27] .. . .1 . 2. .: . 1982. [28] . . . « ». VII . . 2003. [29] .., .., ... « OpenGL». - , , 2003 . [31] .-. , . . . . .: . 1993. [32] . . . . .: . 2000. [33] . . . . .: . 2004.

[30] . . . : . 2001

. . http://ani.cs.msu.su

60