TWO-DIMENSIONAL GEOMETRIC

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
จัดทำโดย นางวรวรรณ ชะโลธาร
Advertisements

การเคลื่อนที่.
บทที่ 2 เวกเตอร์แรง.
ไฟฟ้ากระแสสลับ Alternating Current
การวิเคราะห์ความเร็ว
สื่อคุณค่าพระวรสาร กราฟิกเบื้องต้น วิชาคอมพิวเตอร์ ม.1.
ขอต้อนรับเข้าสู่ สาระที่ 3 เรขาคณิต. ขอต้อนรับเข้าสู่ สาระที่ 3 เรขาคณิต.
โครงสร้างการควบคุมการทำงานของโปรแกรม Program control structures
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 4
โมเมนตัมเชิงมุม เมื่ออนุภาคเคลื่อนที่ โดยมีจุดตรึงเป็นจุดอ้างอิง จะมีโมเมนตัมเชิงมุม โดยโมเมนตัมเชิงมุมหาได้ตามสมการ ต่อไปนี้ มีทิศเดียวกับ มีทิศเดียวกับ.
ดวงอาทิตย์ขึ้นทางทิศตะวันออก เวลา น. ไปตกยังทิศตะวันตก เวลา 18
THREE-DIMENSIONAL GEOMETRIC
สเฟียโรมิเตอร์(Spherometer)
จำนวนนับ และการบวก การลบ การคูณ การหารจำนวนนับ
โพรเจกไทล์ การเคลื่อนที่แบบโพรเจกไทล์         คือการเคลื่อนที่ในแนวโค้งพาราโบลา ซึ่งเกิดจากวัตถุได้รับความเร็วใน 2 แนวพร้อมกัน คือ ความเร็วในแนวราบและความเร็วในแนวดิ่ง.
บทที่ 2 หลักการแก้ปัญหา
: Computer Graphics (คอมพิวเตอร์กราฟิกส์)
การแปลงทางเรขาคณิต F M B N A/ A C/ C B เสถียร วิเชียรสาร ขอบคุณ B/
Computer Graphics : บทที่ 2 - Transformation - 3D Viewing
Computer Graphics : บทที่ 3 - Transformation - 3D Viewing
บทที่ 6 การเขียนภาพสามมิติ ภาพอ็อบลีก
การวาดและการทำงานกับวัตถุ
ความสัมพันธ์ ความสัมพันธ์ เป็นเซตของคู่อันดับ
1. จงหาอนุพันธ์ของฟังก์ชันต่อไปนี้
ความสัมพันธ์ ความสัมพันธ์ เป็นเซตของคู่อันดับ
Engineering Graphics II [WEEK5]
ตัวอย่างปัญหาการเคลื่อนที่แบบโพรเจกไทล์
Image Processing & Computer Vision
Image Processing and Computer Vision
Image Processing & Computer Vision
Tangram.
การวิเคราะห์สหสัมพันธ์และการถดถอย
ระบบอนุภาค.
Internal Force WUTTIKRAI CHAIPANHA
2. เลนส์ปกติ หรือเลนส์มาตรฐาน (Normal lens or Standard lens)
CSS.
CPE 332 Computer Engineering Mathematics II
การใส่ภาพลงบน Work Sheet...
รายงาน เรื่อง จัดรูปแบบข้อมูล จัดทำโดย ด. ญ. ธิกานดา วัลยาภรณ์ ชั้นม.2/1 เลขที่ 19 เสนอ อาจารย์ ภานุมาศ ชาติมองแดง โรงเรียนวชิรธรรมสาธิต.
การสร้างงานกราฟิก ในภาษา php
การสำรวจกันเขต เป็นการสำรวจเพื่อกำหนดตำแหน่งทางราบ เพื่อใช้กำหนดแนวเขตของรายละเอียดงานที่ใช้ประโยชน์ทางด้านการชลประทาน สำหรับใช้ประกอบการจัดซื้อที่ดินของโครงการชลประทาน.
บทเรียนเพาเวอร์พอยท์
Systems of Forces and Moments
แม่เหล็กไฟฟ้า Electro Magnet
Computer Graphics เรขาคณิต 2 มิติ 1.
โดย อ.วัชรานนท์ จุฑาจันทร์
การเลือกและปรับรูปทรงวัตถุ การเลือกและปรับรูปทรงวัตถุ
Computer Programming for Engineers
คลื่น คลื่น(Wave) คลื่น คือ การถ่ายทอดพลังงานออกจากแหล่งกำหนดด้วยการ
สวัสดี...ครับ.
วงจรไฟฟ้ากระแสสลับ AC-Circuits Outline
สื่อคอมพิวเตอร์ช่วยสอน
นางสาวอารมณ์ อินทร์ภูเมศร์
เด็กหญิง สุนิสา จิตรมั่น โรงเรียนวัดแหลมมะเกลือ
สภาพแวดล้อมการทำงานคอมพิวเตอร์กราฟิกส์ การบรรยายครั้งที่ 7
ประเภทของแอนิเมชั่นใน Flash
วิทยาลัยการอาชีพบัวใหญ่
พีระมิด.
นางสาวปัทมาภรณ์ บุญมาดี คุณครูนวลทิพย์ นวพันธุ์
หน่วยการเรียนรู้ที่ 6 น แรง.
หลักการเขียนโปรแกรม ( )
นางสาวจุไรรัตน์ เพิ่มสุข
นางสาวสุพรรษา ธรรมสโรช
-การสะท้อน -การเลื่อนขนาน -การหมุน
บทที่ 1 เรขาคณิตเบื้องต้น
บทที่ 2 กำหนดการเชิงเส้น : การแก้ปัญหาด้วยวิธีกราฟ (ต่อ)
โลกและสัณฐานของโลก.
ลักซ์มิเตอร์ (Luxmeter)
หลักการโปรแกรมเบื้องต้น
ใบสำเนางานนำเสนอ:

TWO-DIMENSIONAL GEOMETRIC TRANSFORMATION Translation Rotation Scaling Shearing

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

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

y x

y x

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

y r x ในที่นี้ r = √x2+y2 =√12+12 = √2  = tan-1 1 = 45 องศา (1,1) r y = rsin  1  1 x x = rcos  ในที่นี้ r = √x2+y2 =√12+12 = √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

จุด (x,y) เดิมหมุนไปในทิศทาง ทวนเข็มนาฬิกาไปเป็นมุม  จะได้ x’ = r x cos (+) y’ = r x sin (+) (x’,y’) r r (x,y)   x 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) โดยใช้กฎของ sine และ cosine ตามหลักตรีโกณมิติได้ x’ = r x cos() x cos() - r x sin () x sin() y’ = r x sin() x cos() + r x cos () x sin()

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

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

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()

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

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

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

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

ในการกำหนดจุด (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

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

เป็นการเปลี่ยนแปลงวัตถุในลักษณะเป็นการเปลี่ยนแปลงค่า 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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 D Rotation Composite Transformation P1 1.Translate P1 to origin 2. Rotate 3. Translate Back to P1 T(x1,y1) . R() . T (-x1, -y1)

2 D Composite Transformation Translate -> Rotate Rotate -> Translate

จากจอภาพชนิดหนึ่ง มีความละเอียด (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 ดังกล่าว และคำนวณหาจุดยอดที่ได้หลังจากการแปลงรูปแล้ว

จงแสดงวิธีการและคำนวณหา Coordinate ที่ได้หลังจากการ Mapping (100,200) (200,200) (100,100) (200,100) จงแสดงวิธีการและคำนวณหา 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

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

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

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

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

[100 100 1] [50 50 1] 2 0 0 0 2 0 -150 –150 1 [200 100 1] = [250 50 1] [250 250 1] [200 200 1] [50 250 1] [100 200 1]

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

ในการกำหนดจุด (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)

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)

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)

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

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

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

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

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

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

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

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

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