Поверхностные модели в системах трехмерной компьютерной графики: Учебное пособие

  • Published on
    08-Dec-2016

  • View
    221

  • Download
    8

Embed Size (px)

Transcript

  • 1

    ..

    2007

  • 2

    681.3 .. . . : , 2007. 60 .

    . , . .

    .

  • 3

    . 4

    1 .. 6

    1.1 .... 6

    1.2 ......

    8

    2 .. 12

    2.1 ..... 12

    2.2 .. 13

    2.3 .... 15

    2.4 ...... 18

    2.5 .... 20

    2.6 ...... 25

    3 ........

    29

    3.1 ........ 29

    3.2 ...... 32

    3.3 ...... 38

    .. 53

    ....... 54

    . ....

    54

    . B- ....

    56

    . - ...

    58

  • 4

    , ,

    : Photoshop, Corel Draw, .

    . (

    .., ..), ,

    , ,

    . ,

    ,

    , , . ,

    , , , .

    , , ,

    ,

    , , .

    .

    ,

    .

    .

    , ,

    , . ,

    , :

    ( ),

    .

    ,

    .

    (3D2D)

    .

  • 5

    ,

    , (), .

    .

    ,

    ,

    .

    ,

    .

    ,

    .

    [1,,5].

    ,

    : jkos@ diamond.stup.ac.ru

  • 6

    1

    1.1

    , ,

    (), ,

    , ()

    ( ).

    . ,

    ,

    ( )

    .

    , .

    .

    -

    . -.

    . ,

    . , .

    , .

    :

    , , , .

    , .

    , , ,

    ,

    .

  • 7

    : , ,

    .

    , .

    : , , .

    ,

    ,

    . ,

    ,

    , . ,

    (),

    .

    . (),

    . ,

    .

    .

    ,

    .

    :

    ,

    .

    . -,

    " " ,

    -, ,

    .

    .

    (, ,

  • 8

    ), .

    ,

    .

    , ,

    .

    1.2

    .

    . [2]: ,

    .

    ,

    . ,

    , .

    .

    , ,

    ,

    . ,

    , . ,

    , ,

    ,

    (" "). ,

    "" ,

    . ,

  • 9

    ,

    ( ). ,

    ,

    .

    ,

    ,

    .

    .

    1.1.

    -,

    , .

    , ,

    .

    , ,

    .

    , ,

    .

    ,

    .

    , , .

    ,

    .

    .

    . , ,

    , ().

    . ,

    , .

  • 10

    -

    -

    -

    -

    -

    1.1

  • 11

    . ,

    ,

    . ()

    .

    ,

    , .

    .

    .

    , .

    ,

    . ,

    , .

    , ,

    , .

    , ,

    . ,

    , , . ,

    -. ,

    , .

    , -

    .

    , .

    .

    ().

    , ,

    . -

    .

  • 12

    . ""

    , , , ,

    R- [2].

    .

    .

    ,

    - .

    , ,

    .

    , ,

    [1,2,4]. -

    .

    2

    2.1

    ,

    : .

    ,

    , .

    , 1.2.

    .

    ,

    .

    .

    , .

    ( ) ,

    .

  • 13

    (

    ),

    () .

    , .

    ,

    .

    ,

    . .

    , .

    ,

    . ( )

    ,

    .

    .

    .

    ,

    .

    2.2

    . ,

    ,

    . ,

    , .

    ( )

    .

  • 14

    .

    ,

    ,

    .

    ( ) .

    ,

    , .

    , . , -

    , ,

    , -, ,

    .

    [6,7].

    .

    ,

    ( ).

    .

    ( ),

    .

    ,

    : , , ,

    [2,7]. . ,

    ,

    . ,

    ..

    ( ),

    ( ).

  • 15

    . -

    ,

    ,

    .

    ( ).

    ,

    .

    [7].

    , .

    .

    ,

    . , -

    .

    .

    2.3

    ,

    .

    .

    ,

    .

    R R M = , (2.1) R - : R x y z= 1 ;

    R - (h ):

  • 16

    R x h y h z h h = ;

    M 44.

    ,

    ( , ). ,

    .

    ,

    . (DL), (TR),

    (RT) (PR) :

    ,

    1000

    100000100001

    ,

    1000000

    ,

    1010000100001

    ,

    1000000000000

    332313

    322212

    312111

    000

    ==

    ==

    v

    z

    y

    x

    zPR

    ttttttttt

    RT

    zyx

    TRM

    MM

    DL

    (2.2)

    M M Mx y z, , ;

    x y z0 0 0 , , ,

    ;

    t t11 33,..., ;

    vz .

    : x ( ), y () z ().

    .

    :

    .

    .

  • 17

    ,

    -. x

    y, y z, z x ,

    .

    . ,

    ( zv) ,

    , .

    :

    .

    1000010000cossin00sincos

    ,

    10000cos0sin00100sin0cos

    ,

    10000cossin00sincos00001

    =

    =

    = ZYX RTRTRT

    :

    .

    1000010000cossin00sincos

    ,

    10000cos0sin00100sin0cos

    ,

    10000cossin00sincos00001

    =

    =

    = ZYX RTRTRT

    M, ,

    () .

    . ,

    (xp,yp,zp)

    : 1) ,

    (xa,ya), 2)

    . RTZ

    z, , RTZ

    .

    (xa ),(ya), .

    .

    TR1. ,

    , (+xa),(+ya) TR2.

  • 18

    ,

    PR. (2.1),

    : M=TR1RTTR2PR.

    :

    ,

    10010000100001

    2,

    10010000100001

    1

    aaaa yx

    TR

    yx

    TR =

    = .

    1000010000cossin00sincos

    =ZRT

    2.4

    , , .

    , (

    ) . ,

    .

    L ,

    , N ,

    . ,

    . ,

    L N :

    cos =

    L NL N

    .

    ( )sgn L N > 0 , .

    L N :

    ,zzyyxx nlnlnlNL ++=

    lx, ly, lz nx, ny, nz L N ,

    .

  • 19

    ,

    .

    ,

    . lx=ly=0, lz= L .

    F(x,y,z),

    . ,

    :

    F(x,y,z)=Ax+By+Cz+D,

    A,B,C,D , .

    nz

    CzFnz =

    =

    vp : vp=sgn .

    ,

    .

    [6,7].

    . ,

    .

    z- ( )

    , ()

    .

    ,

    ( ).

    ,

    , .

    , , . ,

    ,

  • 20

    ,

    , .

    z-

    .

    .

    2.5

    ,

    ,

    .

    .

    (, )

    , .

    , ,

    ( ),

    .

    , "" .

    .

    ,

    (, , .).

    . -.

    . ,

    .

    22, . ,

    .

  • 21

    , -

    .

    . ,

    ,

    . ,

    .

    .

    , .

    ( )

    . ,

    .

    .

    .

    ,

    .

    , ,

    . 2.1

    , s,t, ,

    u,v.

    1 0.5

    1

    0 0

    s

    t

    a

    b

    c 1

    1

    0 0

    u

    v

    a

    b

    c

    2.1 : () () ()

  • 22

    , . , , 2.1,

    ,CBvAus ++= (2.3)

    ,FEvDut ++= (2.4)

    A,,F .

    .

    2.1

    , a,b c:

    a (2.3) 0=A0+B0+C, (2.4) 0=D0+E0+F,

    b (2.3) 0.5=A0+B1+C, (2.4) 1=D0+E1+F,

    c (2.3) 1=A1+B0+C, (2.4) 0=D1+E0+F.

    : A=E=1, B=0.5, C=D=F=0.

    s=u+0.5v,

    t=v,

    .

    .

    . ,

    -.

    , , ,

    .

    -,

    . ,

    ,

  • 23

    .

    ,

    .

    .

    , .

    ,

    .

    .

    , .

    ,

    , .

    ,

    .

    () .

    ,

    4 ( ) .

    .

    ,

    .

    , .

    mip-mapping [7].

    .

    .

    ,

    .

    ,

    , , ,

  • 24

    .

    ,

    [7]. I

    I, I , d

    , , ,

    :

    ( ),coscos nkkKdI

    kII ++

    +=

    ,kk

    ;

    k ;

    K ;

    - ;

    -

    ;

    n ,

    ( ).

    .

    , .

    .

    ,

    .

    .

    ,

    . ,

    , .

    ()

  • 25

    ,

    .

    ,

    .

    ,

    .

    ,

    .

    .

    2.6

    ,

    . :

    .

    2.2, v, o, p

    , .

    . :

    ;

    . ,

    ( V)

    ( );

    ( P1,P2), ,

    , ;

    .

    , , ( );

  • 26

    V

    1

    2

    s

    t

    xv

    yv

    zv

    x

    y

    z

    x

    z

    y

    2.2

  • 27

    .

    "".

    , .

    , -,

    ("") , -,

    .

    () .

    :

    , .

    ( );

    ,

    V;

    , ;

    ;

    , .

    ,

    ,

    .

    ,

    .

    , 2.2 ().

  • 28

    ( )

    , .

    .

    . ""

    , .

    .

    :

    ,

    .

    (-)

    .

    2.3.

    .

    -

    . ()

    .

    . ()

    ,

    .

    . ,

    , ,

    .

    (),

    z-

    2.3

  • 29

    . (),

    ().

    - ,

    .

    ,

    - .

    , , .

    3

    3.1

    () , ,

    .

    .

    , .

    V:

    V={v1,v2,,vL}, vi=(xi,yi,zi), L ;

    E:

    E={e1,e2,,eM}, ej=(pvj1,pvj2,fj1,fj2), M ;

    P:

    P={p1,p2,,pN}, pk=(pek1,pek2,,pekR), N ,

    R k- .

    vi, V,

    . ej

    .

    . , -,

  • 30

    pvj1,pvj2 ,

    j- , -, fj1,fj2

    .

    ,

    . pk

    .

    3.1

    , P1, P2,

    .

    , 3.1, P2

    .

    P2.

    , ,

    , .

    .

    N , , nx, ny,

    nz ( ), N

    .

    N = nxi + nyj + nzk ,

    P1 P2

    v1

    v3 v2

    v4

    e1

    e2 e4

    e3

    e5

    V={(x1,y1,z1), (x2,y2,z2), (x3,y3,z3), (x4,y4,z4)};

    E={(pv1,pv2,1,0), (pv1,pv3,1,0), (pv2,pv3,1,0),

    (pv2,pv4,0,0), (pv3,pv4,0,0),};

    P={(pe1,pe2,pe3),( pe3,pe4,pe5)}.

    3.1

  • 31

    i,j,k , x,y z,

    ().

    ,

    , .

    2,1 RR ,

    ,

    3.2.

    N

    ,sin2121 == RRRRN

    3- [1]

    ,

    222

    111

    zyx

    zyx

    rrrrrrkji

    N =

    r1x,,r2z 2,1 RR .

    nx, ny, nz i, j, k,

    , 2- ,

    i-, j-, k- .

    ( )( ) ( )( )

    ( )( ) ( )( )

    ( )( ) ( )( ),

    ,

    ,

    1213131222

    11

    1213131222

    11

    1213131222

    11

    yyxxyyxxrrrr

    n

    zzxxzzxxrrrr

    n

    zzyyzzyyrrrr

    n

    yx

    yxz

    zx

    zxy

    zy

    zyx

    ==

    ==

    ==

    xn, yn, zn n- (n=1,2,3).

    .

    N

    1R

    2R V1

    V2

    V3

    3.2

  • 32

    . , -

    , ,

    .

    ,

    .

    (strip).

    ,

    .

    DirectX OpenGL [8]

    .

    3.2

    ,

    , .

    , , .

    ,

    .

    , ,

    .

    -

    (): ( ), , ,

    , .

    , .

    , , :

  • 33

    ,2222 Rzyx =++

    R .

    ()

    .

    : ,0),,( 2222 =++= RzyxzyxF

    : .),( 222 yxRyxz =

    ,

    ,

    , F(x,y,z)

    .

    , x,y ,

    z ( ).

    ,

    .

    , , [5].

    . .

    , -

    .

    .

    , , , , z

    P

    x y

    z

    P

    y

    z

    x

    z

    , , , z

  • 34

    ,

    z

    ...0,2..0, === R ...,2..0,22 RRzzR +===

    .cos,sinsin,cossin

    ===

    zyx

    .

    ,sin,cos

    zzyx

    ===

    , ,

    .

    .

    .

    .

    - .

    . -

    .

    ,

    , ,

    [3]. ,

    ,

    .

    . ,

    ( i+1) ,

    i () :

  • 35

    ( )( ) .sinsincoscoscoscos

    ,sincoscossinsinsin

    1

    1

    =+=+=+=

    +

    +

    iiii

    iiii

    sin , cos ,

    sin i, cos i .

    : sin 0=0, cos 0=1.

    ,

    . ,

    . , i-

    , , ,

    -

    .,,

    ii

    iizi

    ii

    iiyi

    ii

    iixi

    vy

    vx

    uy

    ux

    n

    vx

    vz

    ux

    uz

    n

    vz

    vy

    uz

    uy

    n

    =

    =

    = (3.1)

    u v , , .

    u v

    ,

    nx, ny, nz

    ,

    . , ,

    ,

    .

    : ( ) ( ) ( ).,,,,,,,,

    zzyxFn

    yzyxFn

    xzyxFn ziyixi

    =

    =

    =

    ,

    , , : nx=x, ny=y, nz=z.

  • 36

    ( ,

    ).

    ,

    . ""

    .

    ,

    .

    z . z

    .

    z ,

    . 3.3

    ,

    , z. ,

    A, zA,

    .

    ,2,..,0,,..,,

    ,sin

    ,cos

    maxmax

    ===

    =

    =

    zzzzz

    fy

    fx

    y

    x

    (3.2)

    fx , fy ( z) ,

    .

    (3.2)

    . , ,

    . 3.3

    A( AAA zyx ,, ) A

    y x

    z

    Az

    A

  • 37

    ,

    . fx , fy

    3.1, , ,

    N (nx,ny,nz).

    3.1

    -

    fx 2)(1 cza za zca )( a 2)(1 cza +

    fy 2)(1 czb zb zcb )( b 2)(1 czb +

    nx 2ax 2ax

    2ax 2ax

    2ax

    ny 2by 2by

    2by 2by

    2by

    nz 2cz 21 2cz 0 2cz

    3.1 : a b -

    , z

    z=0,

    z=1, z=c ,

    ; c ,

    , .

    -

    , . ,

    ,

    ,

    .

  • 38

    .

    3.3

    , ,

    ,

    . () ,

    .

    , 3D-

    .

    .

    .

    , .

    () .

    , .

    ,

    .

    ,

    .

    - .

    (spline) .

    .

    ( ) , ,

    .

    ,

    . , ,

  • 39

    ,

    , .

    , , ,

    .

    - .

    1 2, 3.4,

    S ,

    .

    , S

    .

    ,

    S :

    1) 2)

    1 2,

    ;

    3) 4) S 1 2

    (),

    .

    S ,

    .

    , , ,

    ,23 dcxbxaxy +++= a,b,c d.

    :

    1 2 S

    3.4 -

  • 40

    1) 1 ,121

    311 dcxbxaxy +++=

    2) 2 ,222

    322 dcxbxaxy +++=

    3) 1

    ,23 1211 cbxaxy ++=&

    4) 2

    .23 2222 cbxaxy ++=&

    , ,

    , .

    .

    () . ,

    .

    ,

    0 3. ,

    [3].

    ,

    .

    .

    . -,

    . -,

    , .

Recommended

View more >