1. Trang chủ
  2. » Công Nghệ Thông Tin

slide bài giảng đồ hoạ và hiện thực ảo - lê tấn hùng chương 5 các phép biến đổi đồ hoạ

16 686 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 907,19 KB

Nội dung

B ài 4 Các phép biến đổi Đồ hoạ Transformations Le Tan Hung Email: hunglt@it-hut.edu.vn 2 Phép biến đổi - Transformations và Hiên thị modeling, rendering, displaying vector thành tọa độ

Trang 1

B ài 4 Các phép biến đổi Đồ hoạ

Transformations

Le Tan Hung Email: hunglt@it-hut.edu.vn

2

Phép biến đổi - Transformations

và Hiên thị (modeling, rendering, displaying)

vector thành tọa độ hay vector khác

modeling

coordinate Modeling

transformation Viewing transformation

world coordinate viewing coordinate( eye

coordinate)

3

Phép biến đổi Transformations

– build complex models by positioning simple

components

– placing virtual camera in the world

– transformation from world coordinates to camera

coordinates

4

Transformations - Modeling

world

5

Phép biến đổi Affine

Affine Transformations?

điểm đặc trưng của đối tượng thành tập tương

ứng các điểm mới để tạo ra các hiệu ứng cho

toàn đối tượng.

–Ví dụ: phép biến đổi tọa độ với chỉ 2 điểm đầu cuối của

đoạn thẳng tạo thành 2 điểm mới mà khi nối chúng với

nhau tạo thành đoạn thẳng mới

điểm nằm trên đoạn thẳng mới với cùng phép biến

đổi thông qua phép nội suy

6

Modeling Transformations

Transform objects/points

Transform coordinate system

Trang 2

Biểu diễn Ma trận

điểm P thành các điểm Q theo thuật toán

hàm ánh xạ của điểm:

T(P x ,P y ) = (Q x ,Q y)

– or:

8

Matrix Representation

z Phép biến đổi đồ họa - affine transformation T ánh xạ tập P sang tập Q:

– –

where a, b, c, d, tx and ty là các hệ số

z i.e ⎜⎜⎛ ⎟⎟⎞=⎜⎜⎛ ⎟⎟⎞⎜⎜⎛ ⎟⎟⎞+⎜⎜⎛ ⎟⎟⎞

y x

y x

y x

t t P P d c b a Q Q

x x x

y y y

Tr MP

9

Các phép biến đổi hình học hai

chiều

z Phép biến đổi vị trí điểm

trên toàn bộ đối tượng

=

d c b a T

[ ] [ ] [* y]* [ (ax cy) ( bx dy) ] [x' y']

d c b a x T

y

x z

p M

p W

10

Phép biến đổi

z Phép biến đổi tỉ lệ - Scaling

z A scaling changes the size of an object with two scale

factors, S x and S y

z A shearing shears an object in a particular direction, (in 2D, it’s either in the x or in the y direction

= 1 0 0 1

T

[ ] [ ] [ ] [ ( ) ] [' ']

1 0

0

*

[ ] [ ] [ ] [ ] [' ']

1 0

1

*

x z

y

Phép quay- Rotation

x = ρ cos α, y = ρ sin α ;

x’ = ρ cos (θ +α ), y’ = ρ sin (θ +α ) ;

x’ = ρ ( cosθ cosα - sinθ sinα )

= x cos θ - y sinθ

y’ = ρ ( sinθ cosα + cosθ sinα )

= x sin θ + y cosθ

[x' y']= [xcosθ - ysinθ xsinθ + ycosθ]

y

( x, y )

x

α ρ

θ

ρ

( x’, y’ )

=

θ θ θ θ

cos sin

sin cos

]

[T

Thuộc tính cơ bản của phép biến đổi Affine Transformations

– They preserve lines, so the image of a straight line is another straight line

– This vastly simplifies drawing transformed line segments

of the original line and then draw a straight line between them

– Preservation of collinearity guarantees that polygons will transform into polygons

Trang 3

– Preservation of parallelism guarantees that

parallelograms will transform into parallelograms

– Preservation of proportional distances means that

mid-points of lines remain mid-mid-points

zAffine transformations change volume by |

Det(M) |;

14

Kết hợp các phép biến đổi Composition of Affine Transforms

z Any affine transformation can be decomposed into elementary transformations

có thể tạo thành từ các phép biến đổi cơ sở như:

–Dịch chuyển - Translation

–Tỉ lệ - Scaling

15

Affine transformations preserve

affine combinations

z It is rare that we want to perform just one elementary

transformation

z Usually an application requires that we build a

complex transformation out of several elementary

ones

– e.g translate an object, rotate it, and scale it, all in one move

z These individual transformations combine into one

overall transformation

z This is called the composition of transformations

z The composition of two or more affine transformations

is also an affine transformation

16

Thuộc tính

tượng tạo thành phép biến đổi cho đối tượng

z We have defined each transformation by their effects on single points

z In practice these will be applied to multiple points to transfer entire scenes or objects made up of many defining points

T

17

Điểm gốc - Pivotal points

Cho phép quay và tỉ lệ Rotation and Scaling

z The simple versions of rotation and scaling have been based around the

origin.

z This means that when we rotate or scale, the object will also move, with

respect to the origin

z Translate all points through (-c1,-c2)

z Rotate all points about the origin by

z Translate all points back through (c1,c2)

(c 1 ,c 2 )

Pivotal points

z Often we wish to rotate or scale with respect to some pivotal point, not the origin

z Most significantly, we often wish to rotate or scale an object about its centre, or midpoint

z In this way, the object’s location does not change

z To do this, we relate the rotation or scaling about the pivotal point V, to an elementary rotation or scaling about the origin

– We first translate all points so that V coincides with the origin – We then rotate or about the origin

– then all points are translated back, so that V is restored to its original location

Trang 4

Hệ toạ độ đồng nhất

transformation followed by a translation

matrix multiplication but must instead be added as

an extra term, or vector

be represented in matrix multiplication form

composed with other transformations, by simply

multiplying the matrices together

20

Tọa độ đồng nhất Homogeneous Transform

x' = ax + by + n

y' = cx + dy + m

tọa độ đồng nhất của các vector vị trí

ở đó tọa độ điểm được mô tả dưới ma trận [ x* y* h]

với x = x*/h, y = y*/h, z = z*/h và h là một số thực tuỳ ý

21

Ưu điểm của Hệ tọa độ đồng nhất

Homogeneous Transform

dưới phép nhân ma trận, hỗ trợ cho việc xử lý

bằng cả phần cứng và phần mềm

tích đơn giản duy nhất Tránh nhầm lẫn về thứ tự

của các phép nhân khi sử dụng.

biệt không tuyến tính khác(non-affine) như:

– Phép chiếu phối cảnh - Perspective projections!

– Uốn - Bends, Vuốt tapers v.v.v

22

Phép biến đổi với tọa độ đồng nhất

= 1 0

0 ]

[

n m d c b a T

] 1 [

1 0 1 0 0 0 1 ] 1 [ ] 1 ' '

n m y x y

=

(t x , t y , t z )

Phép tỉ lệ

] 1 2 1 1 0 0 0 2 0 0 0 1 ] 1 [

]

1

'

'

S y

x

y

=

Phép quay

y

( x, y )

x

α

ρ

θ

ρ

( x’, y’ )

=

1 0 0

0 cos sin

0 sin cos ] 1 [ ] 1 ' '

φ φ

y x y x

] 1 cos sin sin cos

=

Trang 5

Phép biến đổi tổng hợp

26

Ma trận biến đổi 3 chiều 3D Matrix Transformations

lệ-scaling và quay-rotation sử dụng trong không gian 2D đều co thể mở rộng trong không gian 3D

possible to represent each type of transformation

in a matrix form

4x4 matrix

27

Các phép biến đổi hình học 3 chiều

z Biểu diễn điểm trong không gian 3 chiều

z[ x* y* z* h ] = [ x y z 1 ] [ T ]

z[x' y' z' 1 ]= [ x*/h y*/h z*/h 1 ][ T ]

z Ma trận biến đổi

=

s n m l

r j i g

q f e d

p c b a ]

[T

28

Phép tịnh tiến

[X'] = [ X ] [ T(dx,dy,dz) ]

[ x' y' z' 1 ] =

[ x y z 1 ].[ T(dx,dy,dz) ]

z = [ x+dx y+dy z+dz 1 ]

=

1 0 1 0 0

0 0 1 0

0 0 0 1 )]

, , ( [

dz dy dx

dz dy dx T

29

Phép tỉ lệ

z s1, s2, s3 là các hệ số tỉ lệ

tương ứng trên các trục toạ độ

=

1 0 0 0

0 3 0 0

0 0 2 0

0 0 0 1 1 1

s s s z y x z

y

x' ' ' ] [ ]

[

] 1 3 2 1

.

=

30

Rotation

origin.

each of the x, y and z axes

rotations are clockwise, when looking down a positive axis towards the origin

x y

z

x y

z

x y

z

Trang 6

Phép quay 3 chiều

z Quay quanh trục x

z Quay quanh trục z

=

1 0 0 0

0 0

0 0

0 0 0 1

φ φ φ φ cos sin sin cos ]

[Tx

=

1 0 0 0

0 1 0 0

0 0 cos sin

0 0 sin cos ]

ϕ ϕ

Tz

32

Quay quanh trục y

=

1 0 0 0

0 cos 0 sin

0 0 1 0

0 sin 0 cos ] [

θ θ

θ θ

Ty

33

Phép biến dạng

(secondary translation)

=

1 0 0 0

0 1 0 1 0 1

1 1

i g f d c b z

y x z y

x' ' ' ] [ ]

[

] 1 [ x + yd + gz bx + y + iz cx + fy + z

=

34

Phép lấy đối xứng

( reflections-secondary translation)

Quay quanh một trục bất kỳ song song với

các trục tọa độ

=

1 0

0 1

0

0

0 0

1

0

0 0

0

1

]

[

z

y

Tr

=

1 0 0 0

0 0

0 0

0 0 0 1

φ φ φ φ φ

cos sin sin cos )]

(

[T

,

=

1 0

0 1 0 0

0 0 1 0

0 0 0 1

1

z y

Tr]

[

− +

=

1 sin ) cos 1 ( sin

)

cos

1

(

0

0 cos sin

0

0 sin cos

0

0 0 0

1

]

[

φ φ φ

φ

φ φ

φ φ

y z z

y

Tth

Quay quanh một trục bất kỳ

Trang 7

Solution

z Chuyển P1 về gốc tọa độ

(y, z)

z Quay quanh trục x sao cho P1P2 trựng với trục z

(y, z)

can be decomposed into a rotation around the x-axis

followed by a rotation around the y-axis followed by a

rotation around the z-axis.

38

Biến đổi gúc nhỡn Viewing Transformation

Lờ Tấn Hựng

39

Nội dung

40

Hệ tọa độ thực

(WCS-World Coordinate System)

z Là hệ tọa độ của đối tượng được cỏc chương trỡnh ứng dụng sử dụng để mụ

tả tọa độ của cỏc đối tượng trong thế giới thực

z Đơn vị trong hệ thống tọa

độ phụ thuộc vào khụng gian và kớch thước của đối tượng được mụ tả, cú thể

từ A0, nm, mm đến m,

km

41

Hệ tọa độ thiết bị

(DCS-Device Coordinate System)

hỡnh ảnh và khụng gian của đối tượng mà

ứng dụng mụ tả

Thiết bị hiển thị

subselect.me

Vùng tọa độ thiết bị VGA=640x480

42

Hệ tọa độ chuẩn (NCS - Normalized Coordinate System)

thiết bị khỏc nhau

Wcs

chuyển đổi 1

chuyển đổi 2

Trang 8

Phép biến đổi nhìn cơ bản

Basic Viewing Transform

hệ tọa độ mô hình sang hệ tọa độ mà hình

(Modelling co-ordinates to Screen Coordinates)

44

2-Dimensional Views

thực sẽ được hiển thị

ảnh thế giới thực sẽ hiển thị

(wx min ,wy min)

(wx max ,wy max)

(vx min ,vy min)

(vx max ,vy max)

45

Phép chuyển đổi

46

Phép biến đổi theo ma trận

z Ma trận chuyển vị theo Window

z Ma trận biến đổi tỉ lệ

z Ma trận chuyển vị theo tọa độ viewport

=

1 0 1 0 0 0 1 1

Yw Xw

T ]

[

=

1 0 0

0 min max min max 0

0 0 Xwmin -Xwmax Xvmin -Xvmax ] 1 [

Yw Yw Yv Yv S

= 1 0 1 0 0 0 1 ] 2 [

Yy Xv T

Ma trận biến đổi tổng hợp của phép chuyển đổi

tọa độ

=

=

1 min max min max min min Xwmin -Xwmax

Xvmin -Xvmax

min

min

0 min max min max 0

0 0

Xwmin

-Xwmax

Xvmin

-Xvmax

]

]

2

[

1

[

1

[

]

Yw Yw Yv Yv Yw Yv Xw

Xv

Yw Yw Yv Yv T

T

x

S

x

T

T

Ví dụ OpenGL - Windows and Viewports

z Plotting a function revisted

//set the viewing coordinates setWindow(xmin, xmax, ymin, ymax);

setViewport(0,640,0,480);

glBegin(GL_POINTS);

for(GLdouble x = xmin; x

< xmax; x+=0.005 ) {

glVertex2d(x, pow(2.7183,-x)

*cos(2*3.14*x));

}

// - setWindow -void setWindow(GLdouble left, Gldouble right, GLdouble bottom, GLdouble top) {

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(left, right, bottom, top);

} // - setViewport -void setViewport(GLdouble left, Gldouble right, GLdouble bottom, GLdouble top) {

glViewport(left, bottom, right – left, top -bottom);}

Trang 9

Biến đổi hệ tọa độ

Coordinate Transforms

(1,1)

u’

v’

(1,1)

u

v

x

y

cục

z Là phép biến đổi trên hệ tọa độ của đối tượng Việc thay

đổi hệ tọa độ của đối tượng với hệ thống tọa độ chung

tao nên sự thay đổi toàn cảnh

50

x

y

x

y

Các phép biến đổi

P 1 0 0 0 1 0 0 0 1 Q

=

(1,1)

u

v

(1,1)

u’

v’

51

x

y

Translation

x

y

P 1 0 0 1 0 0 1 Q

tx

(1,1)

u

v

(1+tx,1+ty)

u’

v’

=

1

1

0

0

ty

tx

ty

tx

1

0

0

1

0

0

1

⎡ +

=

1 1 1 0 1

ty tx ty tx

1 0 0 1 0 0 1

⎡ +

=

1 1 1 1 0

ty tx ty tx

1 0 0 1 0 0 1

=

1

ty

tx

O

52

x

y

Rotation

x

y

P 1 0 0

0

0 Q

θ θ cos sin sin cos

(1,1)

u

v

u’

v’

= 1 sin

cos θ

θ

v

⎡−

= 1 cos

sin θ

θ

u

= 1 0

0

O

53

x

y

Scaling

x

y

P 1 0

0

0

0 Q

sx

0

0

(1,1)

u

v

(sx*1,sy*1)

u

v

= 1 0

0

O

= 1

0

sy u

= 1 0

sx v

54

Composite Transformations

− +

=

1 0

0

sin ) cos 1 ( cos sin

sin ) cos 1 ( sin cos

1 1

1 1

θ θ θ

θ

θ θ θ

θ

x y

y x

M

x

y x

y

(1,1)

u

v

u’

v

− +

− 1 sin ) cos 1 (

sin ) cos 1 (

1 1

1 1

θ θ θ θ

y y

y x

− + +

− + 1 sin ) cos 1 ( sin

sin ) cos 1 ( cos

1 1 1 1

θ θ θ

θ θ θ

y y y x

− +

+

− +

− 1 sin ) cos 1 ( cos

sin ) cos 1 ( sin

1 1

1 1

θ θ θ

θ θ θ

y y

y x

O =

v =

u =

Trang 10

+

=

+

Obviously we want

something more

versatile

56

Quan sát 3D - 3D Viewing

z Hiển thị hình ảnh 3D trên các thiết bị 2D

z Mỗi 1 quan sát 3D trên cùng 1 đối tượng chỉ ra trạng thái chiếu của điểm quan sát đó.

– HÌnh ảnh chiếu 2D của đối tượng 3D phụ thuộc vào người quan sát

z Các quan sát khác nhau được phân biệt bởi thông số: vị trí position, hướng orientation, và vùng nhìn field of view

57

Viewing

x W

z W

y W

y M

x M

z M

p M

x V

p W

modeling

coordinate Modeling

transformation

world coordinate Viewing viewing coordinate (eye coordinate) transformation

58

The Viewing Process

– Mô tả biểu diễn hình học

chiếu từ 3D thành 2D.

Khái quát về - Camera Analogy

z camera location: Vị trí trong thế

giới thực

của Camera

Camera

z aperture size: Vùng nhìn thấy của

Camera

Viewing Coordinates

thống tọa độ quan sát trên các thông số gồm:

– Điểm nhìn (VRP View Reference Point ): điểm gốc quan sát Vị trí của Camera)

– Vector mặt phẳng quan sát (VPN View Plane Normal vector ): viewing direction)

– Vector hướng quan sát (VUP View

UP vector ): establishes orientation of

“camera”

) , , (n1n2n3

=

=

N N n

) , , (u1u2u3

=

×

×

=

N V N V u

) , , (v1v2v3

=

×

=n u v

Three mutually orthogonal basis vectors:

Trang 11

61 61

Ví dụ: Viewing Transformation

(i) simple cases ( always view along negative z-axis )

(0, 0, z)

Điểm nhìn trên trục Z

z W -axis

zW

xW

yW

n

M WC,VC= T (0, 0, z,)

(a, b, c)

Nhìn ở vị trí (a, b, c) theo trục Z và ngược hướng z W -axis

M WC,VC= T (-a, -b, -c )

zW

xW

yW

and , ,

3 2 1 3

2 1 3 2 1

=

=

=

n n n

v v v

u u u

n v

u

Ma trận biến đổi tọa độ thế giới sang tọa độ quan sát :

M WC,VC = R T

(xw, yw, zw) and (u, v, n) 2 hệ tọa độ với cùng 1 gốc

Vector đơn vị (u, v, n) được định nghĩa theo WCS

63

3D Viewing Transformation

z Với điểm quan sát VRPoint (x0, y0, z0) the Viewing

Transformation can be defined by composition of the

following two transformations:

⎟⎟

⎜⎜

=

1 0

0

0

1

0

0

0

1

0

0

0

1

0 0 0

z y x

T

⎟⎟

⎜⎜

=

1 0 0 0 0 0 0 3 2 1 3 2 1 3 2 1

n n n v v v u u u

R

T R

MWC , VC = •

This is used to determine the location of each vertex in the

camera co-ordinate system

x

x r wc vcr

,

M

=

64

Viewing Transformation

z We might also achieve this in terms of the following transformation sequence:

– Translate the view reference point to the origin of the world co-ordinate system

– Apply Rotations to align x v , y v and z v , axes, respectively

(x 0 , y 0 , z 0 )

⎟⎟

⎜⎜

− 1 0 0 1 0 0 0 0 1 0 0

z y x

1 0 0 0

0 0 0

3 2 1 3 2 1 3 2 1

⎟⎟

⎜⎜

=

n n n v v v u u u

R

= 1

3 2 1

u u u

R

R

p V = M WC,VC p W

x W

z W

y W

p M p W

p V

x V -z V

66

• Recall we’ve re-expressed our world geometry in eye’s frame reference.

• To do projection, we use a synthetic cameraby introducing a viewing frustum after the viewing transformation

66

x W

z W

y W

y M

x M

z M

p M

x V -z V p V

p W

x W

z W

y W

p M p W

Ngày đăng: 24/10/2014, 15:18

HÌNH ẢNH LIÊN QUAN

Hình ảnh và không gian của đối tượng mà - slide bài giảng đồ hoạ và hiện thực ảo - lê tấn hùng chương 5 các phép biến đổi đồ hoạ
nh ảnh và không gian của đối tượng mà (Trang 7)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w