งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

TWO-DIMENSIONAL GEOMETRIC TRANSFORMATION Translation Rotation Scaling Shearing.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "TWO-DIMENSIONAL GEOMETRIC TRANSFORMATION Translation Rotation Scaling Shearing."— ใบสำเนางานนำเสนอ:

1 TWO-DIMENSIONAL GEOMETRIC TRANSFORMATION Translation Rotation Scaling Shearing

2 ภาพ (Image) ในที่นี้แบ่งออกเป็น 2 ประเภท 1.Primitive drawing ภาพที่เกิดจากคำสั่งพื้นฐาน เช่น จุด เส้นตรง วงกลม สามเหลี่ยม สี่เหลี่ยม เส้นโค้ง ฯลฯ 2. Complex ภาพที่เกิดจาก จุด (pixel) มาประกอบกันเข้า เช่น คน บ้าน วิว ภาพที่เป็น bitmap

3 TRANSLATION เป็นการย้ายตำแหน่งของภาพจาก เดิมไปสู่ตำแหน่งใหม่หรือจากจุด (x,y) เดิม ไปเป็น (x ’,y ’ ) โดยที่ โดยที่ H เป็นระยะทางที่เปลี่ยนแปลง ในแกนนอน ( แกน x) V เป็นระยะที่เปลี่ยนแปลงใน แกนตั้ง ( แกน y) (x,y) (x’,y’) X’ = x + H Y’ = y + V H V

4 x y

5 x y

6

7 ROTATION เป็นการหมุนของวัตถุ โดยเปลี่ยนตาม มุมของการหมุน (rotation angle) ในทิศทางทวนเข็มนาฬิการอบ จุดหมุน (pivot point) ในระบบแกนโพลาร์โคออร์ดิเนต x = r cos  y = r sin  r  rsin  rcos  (x,y) x y

8 ในที่นี้ r = √x 2 +y 2 =√ = √2  = tan -1 1 = 45 องศา โพลาร์โคออร์ดิเนต x = r cos  = √2 cos 45 = √2 (1/√2 ) = 1 = x y = r sin  = √2 sin 45 = √2 (1/√2 ) = 1 = y r  y = rsin  x = rcos  (1,1) x y 1 1

9 (x,y) (x’,y’) r r   จุด (x,y) เดิมหมุนไปในทิศทาง ทวนเข็มนาฬิกาไปเป็นมุม  จะได้ พิกัดจุด (x’,y’) โดยที่ x’ = r x cos (  +  ) y’ = r x sin (  +  ) โดยใช้กฎของ sine และ cosine ตามหลักตรีโกณมิติได้ x’ = r x cos(  ) x cos(  ) - r x sin (  ) x sin(  ) y’ = r x sin(  ) x cos(  ) + r x cos (  ) x sin(  ) x y x = r cos(  ) Y = r sin (  ) Cos(A+B) = Cos(A)Cos(B) – Sin(A)Sin(B) Sin(A+B) = Sin(A)Cos(B) + Cos(A)Sin(B)

10  Pivot Point X’ = X x cos(  ) - Y x sin (  ) Y’ = Y x cos(  ) + X x sin(  ) x x y y

11 ในกรณีของการหมุนวัตถุด้วยมุมรอบจุดหมุน (pivot point) โดยมี่จุดหมุนไม่ได้อยู่ที่จุด กำเนิด (origin) ต้องคำนวณตามลำดับขั้นตอน ดังนี้ 1. ย้ายจุดหมุน (pivot point) มาอยู่ที่จุด origin ดังนั้น ทุกๆจุดของวัตถุต้องย้ายมาอยู่ตำแหน่งใหม่ (x’,y’) โดยที่ X’ = X – xp y’ = Y - yp

12 2. ทำการ rotate ด้วยมุม  รอบจุด origin ได้จุดใหม่ (x’,y’) X’’ = X’ x cos(  ) – Y’ x sin (  ) Y’’ = Y’ x cos(  ) + X’ x sin(  ) โดยการจัดเทอมทางตรีโกณมิติ และแทนค่า x’,y’ ลงในสมการ X’’ = (X-xp) x cos(  ) – (Y-yp) x sin (  ) Y’’ = (Y-yp) x cos(  ) + (X-xp) x sin(  )

13 3. ทำการย้ายจุดหมุนกลับสู่จุด pivot point เดิมได้จุด (x’’’,y’’’) X’’’ = X’’ + xp Y’’’ = Y’’ + yp แทนค่า x’’,y’’ ลงในสมการได้ X’’’ = (X-xp) x cos(  ) – (Y-yp) x sin (  ) + xp Y’’’ = (Y-yp) x cos(  ) + (X-xp) x sin(  ) + yp

14 (xp,yp) Object 1. Translate (xp,yp) 2. Rotate (xp,yp) 3. Translate (xp,yp)

15 SCALING การลดหรือขยายขนาดของรูป สามารถเปลี่ยนแปลงขนาดของวัตถุ ได้โดยนำจุดใดๆ ที่ประกอบขึ้นเป็นวัตถุ คูณกับค่า Scaling Factor Scaling factor > 1 วัตถุที่ได้ขนาดใหญ่กว่าเดิม Scaling factor < 1 วัตถุที่ได้เล็กกว่าเดิม ในการ scaling มีจุดในการกำหนดตำแหน่ง ของวัตถุที่ต้องการ ลดหรือขยาย เรียกว่า fixed point ถ้ากำหนด fixed point ที่ origin(0,0) จุด (x,y) ต้องการ scale ด้วย S x ทิศทางในแนวแกน X S y ทิศทาง ในแนวแกน Y

16 ได้จุดใหม่ (x,y) โดย ที่ X’ = X x S x Y’ = Y x S y Fixed Point distance Fixed Point distance x x y y

17 ในการกำหนดจุด (xp,yp) เป็น fixed point ซึ่งไม่ได้ อยู่ที่จุด origin มีขั้นตอนในการ scaling ดังนี้ 1. ย้ายจุด (xp,yp) ไปที่ origin X ’ = X - Xp, Y ’ = Y - Yp 2. Scale จุดโดยคูณกับ Sx, Sy X ’’ = X ’ x Sx, Y ’’ = Y ’ x Sy 3. ย้ายจุด (Xp,Yp) จาก origin สู่จุดเดิม X ’’’ = X ’’ + Xp, Y ’’’ = Y ’’ + Yp แทนค่า X ’,Y ’,X ’’,Y ’’ ในสมการได้ X ’’’ = (X - Xp) x Sx + Xp Y ’’’ = (Y - Yp) x Sy + Yp

18 2. Scaling (xp,yp) 3. Translate (xp,yp) Object (xp,yp) 1. Translate (xp,yp)

19

20 SHEARING เป็นการเปลี่ยนแปลงวัตถุในลักษณะเป็นการเปลี่ยนแปลงค่า ในด้าน x หรือ y ด้านใดด้านหนึ่ง มี 2 แบบคือ x-shear และ y-shear X-shear เป็นการเปลี่ยนแปลงค่าจากจุด (x,y) เป็น (x ’,y ’ ) โดยที่ X ’ = X + shx. Y, Y ’ = Y, shx  0 Y-shear เป็นการเปลี่ยนแปลงค่าจากจุด (x,y) เป็น (x ’,y ’ ) โดยที่ X ’ = X, Y ’ = Y + shy. X, shy  0

21 X-shear (1,0) (1,1)(0,1) (0,0) (1,0) (3,1) (2,1)

22 Y-shear (1,0) (1,1)(0,1) (0,0) (1,2) (0,1) (1,3)

23 Inverse Transformation Translate : -H, -V Rotate : -  Scale : 1/Sx, 1/Sy Shear : -Shx, -Shy

24 MATRIX REPRESENTATION OF TRANSFORMATIONS [ x’ y’ 1] = [ x y 1]

25 MATRIX REPRESENTATION OF TRANSFORMATIONS TRANSLATION [ x’ y’ 1] = [ x y 1] H V 1

26 MATRIX REPRESENTATION OF TRANSFORMATIONS ROTATION [ x’ y’ 1] = [ x y 1] Cos  Sin  0 -Sin  Cos 

27 MATRIX REPRESENTATION OF TRANSFORMATIONS SCALING [ x’ y’ 1] = [ x y 1] Sx Sy

28 MATRIX REPRESENTATION OF TRANSFORMATIONS SHEARING [ x’ y’ 1] = [ x y 1] Shx X-Shear [ x’ y’ 1] = [ x y 1] 1 Shy Y-Shear

29 xp –yp 1 Scaling Relative to a Fixed Point Sx Sy xp yp 1 Sx Sy 0 (1-Sx)xp (1–Sy)yp 1 =

30 xp –yp 1 Rotation About a Pivot Point xp yp 1 = Cos  Sin  0 -Sin  Cos  Cos  Sin  0 -Sin  Cos  0 (1-Cos  )xp+ypsin  (1-Cos  )xp+ypsin  1

31 Reflection reflect กับแกน x [ x’ y’ 1] = [ x y 1] x Y X’ = x Y’ = -y

32 Reflection reflect กับแกน y [ x’ y’ 1] = [ x y 1] x y X’ = -x Y’ = y

33 Reflection reflect กับส้นตรง y= x [ x’ y’ 1] = [ x y 1] x y X’ = y Y’ = x

34 2 D Rotation Composite Transformation P1P1 1.Translate P 1 to origin 2. Rotate 3. Translate Back to P 1 T(x 1,y 1 ). R(  ). T (-x 1, -y 1 )

35 2 D Composite Transformation Translate -> RotateRotate -> Translate

36 1. จากจอภาพชนิดหนึ่ง มีความละเอียด (resolution) 1024 x 768 จุด และสามารถ แสดงความละเอียดของ สีได้ 16.7 ล้านสี (24 bits) จะต้องใช้ memory ของ Video Card จำนวนเท่าใด อธิบายและคำนวณพอเข้าใจ 2. รูปสี่เหลี่ยมจัตุรัสรูปหนึ่ง มีค่า Coordinate ใน World Coordinates ดังแสดงข้างล่างนี้ ถูกแปลงรูป (transform) ไปโดยมีขั้นตอนของการแปลงรูปตามลำดับต่อไปนี้ ก ) ขยายรูป (scaling) ให้โตขึ้น 2 เท่าของรูปเดิม โดยมี fixed point อยู่ที่จุดศูนย์ กลางของรูปจัตุรัส ข ) หมุนรูป (rotation) ไป 90 ํ ทวนเข็มนาฬิกา โดยมีจุดหมุน (pivot point) อยู่ที่จุดล่างซ้าย (bottom left) ของรูปจัตุรัสที่ได้จากข้อ ก แล้ว อธิบายหลักการและวิธีการ รวมทั้งเมตริกซ์ที่ใช้ในการ transform ดังกล่าว และคำนวณหาจุดยอดที่ได้หลังจากการ แปลงรูปแล้ว

37 (100,100)(200,100) (200,200)(100,200) 3. จงแสดงวิธีการและคำนวณหา Coordinate ที่ได้หลังจากการ Mapping รูปสามเหลี่ยมรูปหนึ่ง ซึ่งมีจุดยอด (100,100), (800,400), (800,100) โดยกำหนด window (0,1000,0,500) และกำหนด viewport เป็น NDC ทั้งหมด 5 viewport คือ (0,1,0,1), (0,1,0,0.5), (0,1,0.5,1), (0,0.5,0,1), (0.5,1,0,1) ให้กำหนด resolution ที่เหมาะสมแล้วคำนวณหาจุดที่ได้ใน Screen Coordinate

38 (100,100) (200,100) (200,200)(100,200) (150,150)

39 xp –yp 1 Scaling Relative to a Fixed Point Sx Sy xp yp 1 Sx Sy 0 (1-Sx)xp (1–Sy)yp 1 =

40 Object (xp,yp) 1. Translate (xp,yp) 2. Scale (xp,yp) 3. Translate (xp,yp)

41 Sx Sy 0 (1-Sx)xp (1–Sy)yp 1 Sx = 2, Sy = 2,xp = 150, yp = –150 1

42 –150 1 [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] =

43 (100,100) (200,100) (200,200)(100,200) (150,150) (50,50)(250,50) (50,250)(250,250)

44 ในการกำหนดจุด (xp,yp) เป็น fixed point ซึ่งไม่ได้ อยู่ที่จุด origin มีขั้นตอนในการ scaling ดังนี้ 1. ย้ายจุด (xp,yp) ไปที่ origin X’ = X - Xp, Y’ = Y – Yp (100,100)  (-50,-50) (100,200)  (-50,50) (200,200)  (50,50) (200,100)  (50,-50) จากจุด (x,y) เดิม ถูกย้ายไป (-150,-150)

45 2. Scale จุดโดยคูณกับ Sx, Sy X’’ = X’ x Sx, Y’’ = Y’ x Sy จากจุด (x,y) เดิม คูณด้วย 2 (-50,-50)  (-100,-100) (50,-50)  (100,-100) (50,50)  (100,100) (-50,50)  (-100,100)

46 3. ย้ายจุด (Xp,Yp) จาก origin สู่จุดเดิม X’’’ = X’’ + Xp, Y’’’ = Y’’ + Yp จากจุด (x,y) เดิม ถูกย้ายไป (150,150) (-100,-100)  (50,50) (100,-100)  (250,50) (100,100)  (250,250) (-100,100)  (50,250)

47 (50,50) (250,50) (250,250)(50,250) X Y

48 xp –yp 1 Rotation About a Pivot Point xp yp 1 = Cos  Sin  0 -Sin  Cos  Cos  Sin  0 -Sin  Cos  0 (1-Cos  )xp+ypsin  (1-Cos  )yp-xpsin  1

49 Cos  Sin  0 -Sin  Cos  0 (1-Cos  )xp+ypsin  (1-Cos  )yp-xpsin  Sin 90= 1, cos 90 = 0, xp = 50, yp = 50

50 [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] จุดยอดใหม่ที่ได้ คือ (50,50),(-150,50),(-150,250),(50,250)

51 (50,50)(250,50) (250,250)(50,250) Object (50,250) Translate Rotate (50,50) (-150,50) (-150,250) Translate

52 (100,100)(800,100) (400,400) Window(0,1000,0,500) Viewport(0,1,0,1) Viewport(0,1,0,0.5) Viewport(0,1,0.5,1) Viewport(0,0.5,0,1) Viewport(0.5,1,0,1)

53 (wx,wy) (vx,vy) wlvl wh vh left right bottom top left right bottom top (a,b) (a’,b’) จุด (a,b) ใน Window  (a’,b’) ใน Viewport

54 (wx,wy) (vx,vy) wlvl wh vh left right bottom top left right bottom top (a,b) (a’,b’) a’ – vx = a – wx vl wl a’ = (a–wx).vl + vx wl b’ – vy = b – wy vh wh b’ = (b–wy).vh + vy wh

55 (100,100)(800,100) (400,400) Window(0,1000,0,500)Viewport(0,500,500,1000) a’ – 0 = 100 – 0 b’ – 500 = 100 – a’ = = 50 b’ = = (100,100)(50,600)


ดาวน์โหลด ppt TWO-DIMENSIONAL GEOMETRIC TRANSFORMATION Translation Rotation Scaling Shearing.

งานนำเสนอที่คล้ายกัน


Ads by Google