Full bài tập chi tiết đồ họa máy tính của đại học công nghệ thông tin. Đầy đủ các thuật toán vẽ hình, tô màu, xén hình...................................................................................................
BÀI TẬP ĐỒ HOẠ MÁY TÍNH Nguyễn Tấn Trần Minh Khang Nguyễn Hoàng Ngân Table of Contents CHƯƠNG ĐƯỜNG THẲNG 1.1 ĐƯỜNG THẲNG 𝟎 < 𝒎 < 𝟏 1.2 ĐƯỜNG THẲNG 𝒎 > 𝟏 1.3 ĐƯỜNG THẲNG −𝟏 < 𝒎 < 𝟎 1.4 ĐƯỜNG THẲNG 𝒎 < −𝟏 1.5 BÀI TẬP NÂNG CAO CHƯƠNG 1.6 GIẢI BÀI TẬP ĐƯỜNG THẲNG 𝟎 < 𝒎 < 𝟏 1.7 GIẢI BÀI TẬP ĐƯỜNG THẲNG 𝒎 > 𝟏 44 1.8 GIẢI BÀI TẬP ĐƯỜNG THẲNG −𝟏 < 𝒎 < 𝟎 .56 1.9 GIẢI BÀI TẬP ĐƯỜNG THẲNG 𝒎 < −𝟏 .67 1.10 GIẢI BÀI TẬP NÂNG CAO CHƯƠNG 79 CHƯƠNG CÁC ĐƯỜNG CONIC 79 2.1 ĐƯỜNG TRÒN 79 2.2 ĐƯỜNG ELIP .79 2.3 ĐƯỜNG PARABOL .80 2.4 ĐƯỜNG CUBIC 80 2.5 ĐƯỜNG HYPERBOL 80 2.6 GIẢI BÀI TẬP ĐƯỜNG TRÒN .81 2.7 GIẢI BÀI TẬP ĐƯỜNG ELIP 81 2.8 GIẢI BÀI TẬP ĐƯỜNG PARABOL 84 2.9 GIẢI BÀI TẬP ĐƯỜNG CUBIC .85 2.10 GIẢI BÀI TẬP ĐƯỜNG HYPERBOL 85 CHƯƠNG PHÉP BIẾN ĐỔI AFFINE 86 3.1 TỔNG QUÁT 86 3.2 PHÉP BIẾN ĐỔI TỊNH TIẾN 86 3.3 PHÉP BIẾN ĐỔI TỈ LỆ 88 3.4 PHÉP QUAY .89 3.5 BÀI TẬP CHƯƠNG 90 3.6 GIẢI BÀI TẬP CHƯƠNG 93 CHƯƠNG VẼ HÌNH 146 4.1 ĐA GIÁC ĐỀU 146 4.2 NGÔI SAO 147 i 4.3 CƠ SỞ TOÁN HỌC 149 4.4 GIẢI BÀI TẬP ĐA GIÁC ĐỀU 150 4.5 GIẢI BÀI TẬP NGÔI SAO 171 CHƯƠNG XÉN HÌNH 178 5.1 THUẬT TOÁN COHEN-SUTHERLAND 178 5.2 THUẬT TOÁN LIANG-BARSKY 179 5.3 THUẬT TOÁN SUTHERLAND - HODGEMAN 179 5.4 GIẢI BÀI TẬP THUẬT TOÁN COHEN-SUTHERLAND 181 5.5 GIẢI BÀI TẬP THUẬT TOÁN LIANG-BARSKY 188 5.6 GIẢI BÀI TẬP THUẬT TỐN SUTHERLAND - HODGEMAN 199 CHƯƠNG TƠ MÀU 202 6.1 CÁC BÀI TẬP CƠ BẢN 202 6.2 THUẬT TỐN TƠ MÀU DỰA THEO ĐƯỜNG BIÊN 202 6.3 THUẬT TỐN TƠ MÀU DỰA THEO DỊNG QT 203 6.4 TƠ PHẦN GIAO GIỮA CÁC ĐỐI TƯỢNG 205 6.5 GIẢI CÁC BÀI TẬP CƠ BẢN 206 6.6 GIẢI CÁC BÀI TẬP THUẬT TỐN TƠ MÀU DỰA THEO ĐƯỜNG BIÊN 229 6.7 GIẢI CÁC BÀI TẬP THUẬT TỐN TƠ MÀU DỰA THEO DỊNG QUÉT 235 6.8 GIẢI CÁC BÀI TẬP TÔ PHẦN GIAO GIỮA CÁC ĐỐI TƯỢNG 243 CHƯƠNG CÁC BÀI TỐN HÌNH HỌC 258 7.1 BÀI TẬP 258 7.2 GIẢI BÀI TẬP 260 CHƯƠNG ĐƯỜNG CONG BEZIER .282 8.1 ĐƯỜNG CONG BEZIER TỔNG QUÁT 282 8.2 ĐƯỜNG CONG BEZIER BẬC 283 8.3 ĐƯỜNG CONG BEZIER BẬC 283 8.4 ĐƯỜNG CONG BEZIER BẬC 284 8.5 BÀI TẬP CHƯƠNG 284 8.6 GIẢI BÀI TẬP CHƯƠNG 286 ii Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân CHƯƠNG ĐƯỜNG THẲNG ĐƯỜNG THẲNG 𝟎 < 𝒎 < 𝟏 1.1 1.1.1 Thuật toán 𝑫𝑫𝑨 Bài Thiết kế thuật toán 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 > Bài Trình bày thuật tốn 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 > (sinh viên vẽ lưu đồ) Bài Tìm điểm nguyên đoạn 𝐴𝐵 với 𝐴(1,1) 𝐵(11,5) thuật tốn 𝐷𝐷𝐴 Bài Tìm điểm ngun đoạn 𝐶𝐷 với 𝐶(320,135) 𝐷(332,141) thuật toán 𝐷𝐷𝐴 (trình bày tương tự 3) Bài Tìm điểm nguyên đoạn 𝐸𝐹 với 𝐸(56,13) 𝐹(68,17) thuật tốn 𝐷𝐷𝐴 (trình bày tương tự 3) Bài Thiết kế thuật toán 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 < Bài Trình bày thuật tốn 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 < (sinh viên vẽ lưu đồ) Bài Tìm điểm nguyên đoạn 𝐴𝐵 𝑣ớ𝑖 𝐴(16,10) 𝐵(5,7) thuật tốn 𝐷𝐷𝐴 (trình bày tương tự 3) Bài Tìm điểm nguyên đoạn 𝐶𝐷 với 𝐶(571,117) 𝐷(557,110) thuật tốn 𝐷𝐷𝐴 (trình bày tương tự 3) Bài 10 Tìm điểm nguyên đoạn 𝐸𝐹 với 𝐸(126,12) 𝐹(116,10) thuật toán 𝐷𝐷𝐴 (trình bày tương tự 3) 1.1.2 Thuật tốn 𝑩𝒓𝒆𝒔𝒆𝒏𝒉𝒂𝒎 Bài 11 Thiết kế thuật toán 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 > Bài 12 Trình bày thuật tốn 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 > (sinh viên vẽ lưu đồ) Bài 13 Tìm điểm nguyên đoạn 𝐴𝐵 với 𝐴(1,1) 𝐵(11,5) thuật tốn 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 Giáo trình Bài Tập Đồ Họa Máy Tính Nguyễn Tấn Trần Minh Khang - Nguyễn Hồng Ngân Bài 14 Tìm điểm nguyên đoạn 𝐶𝐷 với 𝐶(320,135) 𝐷(332,141) thuật tốn 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 (trình bày tương tự 13) Bài 15 Tìm điểm nguyên đoạn 𝐸𝐹 với 𝐸(56,13) 𝐹(68,17) bằng thuật tốn 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 (trình bày tương tự 13) Bài 16 Thiết kế thuật toán 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 < Bài 17 Trình bày thuật tốn 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 < (sinh viên vẽ lưu đồ) Bài 18 Tìm điểm nguyên đoạn 𝐴𝐵 với 𝐴(16,10) 𝐵(5,7) bằng thuật tốn 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 (trình bày tương tự 13) Bài 19 Tìm điểm nguyên đoạn 𝐶𝐷 với 𝐶(571,117) 𝐷(557,110) thuật tốn 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 (trình bày tương tự 13) Bài 20 Tìm điểm nguyên đoạn 𝐸𝐹 với 𝐸(126,12) 𝐹(116,10) thuật tốn 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 (trình bày tương tự 13) 1.1.3 Thuật toán 𝑴𝒊𝒅𝒑𝒐𝒊𝒏𝒕 Bài 21 Thiết kế thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 > Bài 22 Trình bày thuật tốn 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 > (sinh viên vẽ lưu đồ) Bài 23 Tìm điểm nguyên đoạn 𝐴𝐵 với 𝐴(1,1) và 𝐵(11,5) bằng thuật tốn 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 (Giống 13) Bài 24 Tìm điểm nguyên đoạn 𝐶𝐷 với 𝐶(320,135) 𝐷(332,141) thuật tốn 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 (trình bày tương tự 23) Giống 14 Bài 25 Tìm điểm nguyên đoạn 𝐸𝐹 với 𝐸(56,13) 𝐹(68,17) thuật tốn 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 (trình bày tương tự 23) Giống 15 Bài 26 Thiết kế thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 < Coi lại Bài 27 Trình bày thuật tốn 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có < 𝑚 < 𝑑𝑥 < (sinh viên vẽ lưu đồ) Bài 28 Tìm điểm nguyên đoạn 𝐴𝐵 với 𝐴(16,10) 𝐵(5,7) thuật tốn 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 (trình bày tương tự 23) Giống 18 Bài 29 Tìm điểm nguyên đoạn 𝐶𝐷 với 𝐶(571,117) 𝐷(557,110) thuật tốn 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 (trình bày tương tự 23) Giống 19 Giáo trình Bài Tập Đồ Họa Máy Tính Nguyễn Tấn Trần Minh Khang - Nguyễn Hồng Ngân Bài 30 Tìm điểm ngun đoạn 𝐸𝐹 với 𝐴(126,12) 𝐵(116,10) thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 (trình bày tương tự 23) Giống 20 Giáo trình Bài Tập Đồ Họa Máy Tính Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân 1.2 ĐƯỜNG THẲNG 𝒎 > 𝟏 Bài 31 Thiết kế thuật toán 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 > 𝑑𝑦 > Bài 32 Thiết kế thuật toán 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 > 𝑑𝑦 < Bài 33 Thiết kế thuật toán 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 > 𝑑𝑦 > Bài 34 Thiết kế thuật toán 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 > 𝑑𝑦 < Bài 35 Thiết kế thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 > 𝑑𝑦 > Bài 36 Thiết kế thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 > 𝑑𝑦 < 1.3 ĐƯỜNG THẲNG −𝟏 < 𝒎 < 𝟎 Bài 37 Thiết kế thuật toán 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có −1 < 𝑚 < 𝑑𝑥 > Bài 38 Thiết kế thuật toán 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có −1 < 𝑚 < 𝑑𝑥 < Bài 39 Thiết kế thuật toán 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có −1 < 𝑚 < 𝑑𝑥 > Bài 40 Thiết kế thuật toán 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có −1 < 𝑚 < 𝑑𝑥 < Bài 41 Thiết kế thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có −1 < 𝑚 < 𝑑𝑥 > Bài 42 Thiết kế thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có −1 < 𝑚 < 𝑑𝑥 < 1.4 ĐƯỜNG THẲNG 𝒎 < −𝟏 Bài 43 Thiết kế thuật toán 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 < −1 𝑑𝑦 > Bài 44 Thiết kế thuật toán 𝐷𝐷𝐴 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 < −1 𝑑𝑦 < Giáo trình Bài Tập Đồ Họa Máy Tính Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân Bài 45 Thiết kế thuật toán 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥1, 𝑦1) (𝑥1 , 𝑦1 ) có 𝑚 < −1 𝑑𝑦 > Bài 46 Thiết kế thuật toán 𝐵𝑟𝑒𝑠𝑒𝑛ℎ𝑎𝑚 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 < −1 𝑑𝑦 < Bài 47 Thiết kế thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) có 𝑚 < −1 𝑑𝑦 > Bài 48 Thiết kế thuật toán 𝑀𝑖𝑑𝑝𝑜𝑖𝑛𝑡 vẽ đường thẳng qua hai điểm (𝑥- , 𝑦- ) (𝑥1 , 𝑦1 ) 𝑐ó 𝑚 < −1 𝑑𝑦 < 1.5 BÀI TẬP NÂNG CAO CHƯƠNG Bài 49 Trình bày bước để vẽ đường cong 𝑦 = 𝑓(𝑥) theo phương pháp Bresenham Minh họa cách xây dựng thuật toán vẽ đường thẳng qua hai điểm 𝐴(𝑥` , 𝑦` ), 𝐵(𝑥a , 𝑦a ) trường hợp hệ số góc |𝑚| > Hồn chỉnh thuật tốn ngơn ngữ C Áp dụng tìm điểm nguyên nằm đường thẳng 𝐴𝐵 𝐶𝐷 theo thuật toán biết: A(15,6), B(10,16) C(8,16), D(14,4) (Đề Thi Tốt Nghiệp Cao Đẳng Đồng Nai) Giáo trình Bài Tập Đồ Họa Máy Tính Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân GIẢI BÀI TẬP ĐƯỜNG THẲNG 𝟎 < 𝒎 < 𝟏 1.6 1.6.1 Thuật toán DDA Bài Thiết kế thuật toán 𝑫𝑫𝑨 vẽ đường thẳng qua hai điểm (𝒙𝟏, 𝒚𝟏) (𝒙𝟐 , 𝒚𝟐 ) có 𝟎 < 𝑚 < 𝒅𝒙 > - Với đoạn thẳng dạng (xi,yi) điểm vẽ xác định bước thứ i (điểm màu đen) điểm cần chọn (xi+1,yi+1) bước thứ i+1 trường hợp hình vẽ sau: - Như vậy: ì xi+1 = xi + í ỵ yi+1 = {yi , yi + 1} - Với thuật toán 𝐷𝐷𝐴 việc định chọn yi+1 yi hay yi +1 dựa vào phương trình đường thẳng y=mx+b Nghĩa là, ta tính I(xi + 1, y) thuộc đường thẳng thực yi+1 giá trị làm tròn giá trị tung độ y thực - Như vậy: 𝑦 = 𝑚𝑥 + 𝑏 𝑦h = 𝑚𝑥h + 𝑏 𝑦 = 𝑚(𝑥i + 1) + 𝑏 𝑦 = 𝑚𝑥i + 𝑚 + 𝑏 𝑦 = (𝑚𝑥i + 𝑏) + 𝑚 𝒚𝒔𝒂𝒖 = 𝒚𝒕𝒓ướ𝒄 + 𝒎 - Lưu đồ thuật tốn: Giáo trình Bài Tập Đồ Họa Máy Tính Nguyễn Tấn Trần Minh Khang - Nguyễn Hồng Ngân Giáo trình Bài Tập Đồ Họa Máy Tính Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân Bài Cho đường cong 𝑩𝒆𝒛𝒊𝒆𝒓 bậc (𝑪𝟏 ), với điểm điều khiển 𝑪𝟏 {(𝟐, 𝟒), (𝟓, 𝟕), (𝟕, 𝟒), (𝟏𝟎, 𝟔)} Hãy xác định độ thẳng đường cong 𝑩𝒆𝒛𝒊𝒆𝒓 Bài làm - Độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 3: 𝑓= - |𝑝Œ − 𝑝- | + |𝑝- − 𝑝1 | + |𝑝1 − 𝑝œ | |𝑝Œ − 𝑝œ | Trong đó: 𝐶- {(2,4), (5,7), (7, 4), (10, 6)} |𝑝Œ − 𝑝- | = N(5 − 2)1 + (7 − 4)1 = N(3)1 + (3)1 = 3√2 |𝑝- − 𝑝1 | = N(7 − 5)1 + (4 − 7)1 = N(2)1 + (3)1 = √13 |𝑝1 − 𝑝œ | = N(10 − 7)1 + (6 − 4)1 = N(3)1 + (2)1 = √13 |𝑝Œ − 𝑝œ | = N(10 − 2)1 + (6 − 4)1 = N(8)1 + (2)1 = 2√17 - Do đó: 𝑓= - 3√2 + √13 + √13 2√17 = 4.24 + 7.2 11.44 = = 1.38 8.24 8.24 Kết luận: Độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 1.38 Bài Cho đường cong 𝑪(𝑩𝒆𝒛𝒊𝒆𝒓 𝒃ậ𝒄 𝟑, (𝟑, 𝟐), (𝟑, 𝟔), (𝟕, 𝟔), (𝟕, 𝟐)) a Quay đường cong (𝑪) xung quanh gốc với 𝜶 = −𝟗𝟎𝟎 b Lập phương trình tham số đường cong c Kiểm tra điểm 𝑨(−𝟓, 𝟓), 𝑩(−𝟓, 𝟔) có thuộc đường cong khơng? Tại sao? d Tính độ thẳng đường cong (𝑪) (𝑪’) Bài làm a Quay đường cong (𝐶) xung quanh gốc với 𝜶 = −𝟗𝟎𝟎 - Ma trận biến đổi phép quay quanh gốc toạ độ góc −90Œ là: 𝑐𝑜𝑠𝛼 𝑀 = ¦−𝑠𝑖𝑛𝛼 𝑠𝑖𝑛𝛼 𝑐𝑜𝑠𝛼 0 0§ Giáo trình Bài Tập Đồ Họa Máy Tính 289 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân (90) sin (90) = Ư (90) (90) 0Đ 0 1 = Ư1 0Đ 0 - nh Ô ca im kim soỏt th nht l: Ô = M = (3 1) Ư1 0Đ 0 = (2 1) - nh -Ô ca im kim soỏt th hai - l: -Ô = - M = (3 1) Ư1 0Đ 0 = (6 1) - nh 1Ô ca im kim soỏt th ba l: 1Ô = 𝑃1 M −1 = (7 1) ¦1 0§ 0 = (6 −7 1) - nh Ô ca im kim soỏt th t l: Ô = M = (7 1) Ư1 0Đ 0 = (2 1) - Vậy ảnh đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶(𝐵𝑒𝑧𝑖𝑒𝑟 𝑏ậ𝑐 3, (3,2), (3,6), (7,6), (7,2)) đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶’(𝐵𝑒𝑧𝑖𝑒𝑟 𝑏ậ𝑐 3, (2, −3), (6, −3), (6, −7), (2, −7)) b Lập phương trình tham số đường cong - Phương trình tham số: 𝑥(𝑡) = (1 − 𝑡)œ 𝑝Œw + 3(1 − 𝑡)1 𝑡𝑝-w + 3(1 − 𝑡)𝑡 𝑝1w + 𝑡 œ 𝑝œw z𝑦(𝑡) = (1 − 𝑡)œ 𝑝Œv + 3(1 − 𝑡)1 𝑡𝑝-v + 3(1 − 𝑡)𝑡 𝑝1v + 𝑡 œ 𝑝œv 0≤𝑡≤1 Giáo trình Bài Tập Đồ Họa Máy Tính 290 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân 𝑥(𝑡) = (1 − 𝑡)œ (+2) + 3(1 − 𝑡)1 𝑡(+6) + 3(1 − 𝑡)𝑡 (+6) + 𝑡 œ (+2) z𝑦(𝑡) = (1 − 𝑡)œ (−3) + 3(1 − 𝑡)1 𝑡(−3) + 3(1 − 𝑡)𝑡 (−7) + 𝑡 œ (−7) 0≤𝑡≤1 𝑥(𝑡) = −12𝑡 + 12𝑡 + z𝑦(𝑡) = +8𝑡 œ − 12𝑡 − 0≤𝑡≤1 - Vậy phương trình tham số đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶’(𝐵𝑒𝑧𝑖𝑒𝑟 𝑏ậ𝑐 3, (2, −3), (6, −3), (6, −7), (2, −7)) là: 𝑥(𝑡) = −12𝑡 + 12𝑡 + z𝑦(𝑡) = +8𝑡 œ − 12𝑡 − 0≤𝑡≤1 c Kiểm tra điểm 𝐴(−5,5) có thuộc đường cong khơng? Tại sao? 𝑥(𝐴) = −12𝑡 + 12𝑡 + z𝑦(𝐴) = +8𝑡 œ − 12𝑡 − 0≤𝑡≤1 −5 = −12𝑡 + 12𝑡 + Õ +5 = +8𝑡 œ − 12𝑡 − 0≤𝑡≤1 −12𝑡 + 12𝑡 + = Õ +8𝑡 œ − 12𝑡 − = 0≤𝑡≤1 t = −0.4 và t = 1.4 Õ+8𝑡 œ − 12𝑡 − = 0≤𝑡≤1 𝑉ô 𝑛𝑔ℎ𝑖ệ𝑚 - Vậy điểm 𝐴(−5,5) không thuộc đường cong 𝐶’(𝐵𝑒𝑧𝑖𝑒𝑟 𝑏ậ𝑐 3, (2, −3), (6, −3), (6, −7), (2, −7)) c Kiểm tra điểm 𝐵(−5,6) có thuộc đường cong khơng? Tại sao? 𝑥(𝐵) = −12𝑡 + 12𝑡 + z𝑦(𝐵) = +8𝑡 œ − 12𝑡 − 0≤𝑡≤1 −5 = −12𝑡 + 12𝑡 + Õ +6 = +8𝑡 œ − 12𝑡 − 0≤𝑡≤1 −12𝑡 + 12𝑡 + = Õ +8𝑡 œ − 12𝑡 − = 0≤𝑡≤1 t = −0.4 và t = 1.4 Õ+8𝑡 œ − 12𝑡 − = 0≤𝑡≤1 𝑉ô 𝑛𝑔ℎ𝑖ệ𝑚 - Vậy điểm 𝐵(−5,6) không thuộc đường cong 𝐶’(𝐵𝑒𝑧𝑖𝑒𝑟 𝑏ậ𝑐 3, (2, −3), (6, −3), (6, −7), (2, −7)) Giáo trình Bài Tập Đồ Họa Máy Tính 291 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân d Độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶(𝐵𝑒𝑧𝑖𝑒𝑟 𝑏ậ𝑐 3, (3,2), (3,6), (7,6), (7,2)): - Hình vẽ 𝑓= - |𝑝Œ − 𝑝- | + |𝑝- − 𝑝1 | + |𝑝1 − 𝑝œ | |𝑝Œ − 𝑝œ | Trong đó: |𝑝Œ − 𝑝- | = N(3 − 3)1 + (6 − 2)1 = N(0)1 + (4)1 = |𝑝- − 𝑝1 | = N(7 − 3)1 + (6 − 6)1 = N(4)1 + (0)1 = |𝑝1 − 𝑝œ | = N(7 − 7)1 + (6 − 2)1 = N(0)1 + (4)1 = |𝑝Œ − 𝑝œ | = N(3 − 7)1 + (2 − 2)1 = N(4)1 + (0)1 = - Do đó: 𝑓= - + + 12 = =3 4 Kết luận: độ thẳng đường cong bc ô 3, (3,2), (3,6), (7,6), (7,2)ơ l d Độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶’(𝐵𝑒𝑧𝑖𝑒𝑟 𝑏ậ𝑐 3, (2, −3), (6, −3), (6, −7), (2, −7)) - Hình vẽ: 𝑓= - |𝑝Œ − 𝑝- | + |𝑝- − 𝑝1 | + |𝑝1 − 𝑝œ | |𝑝Œ − 𝑝œ | Trong đó: |𝑝Œ − 𝑝- | = N(6 − 2)1 + ((−3) − (−3))1 = N(4)1 + (0)1 = |𝑝- − 𝑝1 | = T(6 − 6)1 + ô(7) (3)ơ = N(0)1 + (4)1 = Giáo trình Bài Tập Đồ Họa Máy Tính 292 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân |𝑝1 − 𝑝œ | = T(2 − 6)1 + «(−7) − (−7)¬ = N(4)1 + (0)1 = |𝑝Œ − | = T(2 2)1 + ô(7) (3)ơ = N(0)1 + (4)1 = - Do đó: 𝑓= - + + 12 = =3 4 Kết luận: độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶’(𝐵𝑒𝑧𝑖𝑒𝑟 𝑏ậ𝑐 3, (2, −3), (6, −3), (6, −7), (2, −7)) Giáo trình Bài Tập Đồ Họa Máy Tính 293 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân Bài Cho đường cong 𝑩𝒆𝒛𝒊𝒆𝒓 (𝑪𝟏 ) với điểm điều khiển {(𝟏, 𝟐), (𝟏, 𝟏), (𝟐, 𝟏)} đường cong (𝑪𝟐 ) với điểm điều khiển {(𝟐, 𝟔), (𝟔, 𝟔), (𝟔, 𝟐)} a Lập phương trình tham số đường cong (𝑪𝟏 ) (𝑪𝟐 ) b Kiểm tra điểm 𝑨(𝟒, 𝟓), 𝑩(𝟓, 𝟓) có thuộc đường cong (𝑪𝟐 ) không? c Xác định phép biến đổi 𝒂𝒇𝒇𝒊𝒏𝒆 𝑻 biến (𝑪𝟏 ) thành (𝑪𝟐 ) d Tính độ thẳng đường cong (𝑪𝟏 ) e Tính độ thẳng đường cong (𝑪𝟐 ) Bài làm a - Lập phương trình tham số đường cong (𝐶- ) (𝐶1 ): Phương trình tham số 𝐶- {(1,2), (1,1), (2,1)}: 𝑥(𝑡) = (1 − 𝑡)1 𝑝Œw + 2(1 − 𝑡)𝑡𝑝-w + 𝑡 𝑝1w z𝑦(𝑡) = (1 − 𝑡)1 𝑝Œv + 2(1 − 𝑡)𝑡𝑝-v + 𝑡 𝑝1v 0≤𝑡≤1 𝑥(𝑡) = (1 − 𝑡)1 (1) + 2(1 − 𝑡)𝑡(1) + 𝑡 (2) z𝑦(𝑡) = (1 − 𝑡)1 (2) + 2(1 − 𝑡)𝑡(1) + 𝑡 (1) 0≤𝑡≤1 𝑥(𝑡) = 𝑡 + z𝑦(𝑡) = 𝑡 − 2𝑡 + 0≤𝑡≤1 - Phương trình tham số 𝐶1 {(2,6), (6,6), (6,2)}: 𝑥(𝑡) = (1 − 𝑡)1 𝑝Œw + 2(1 − 𝑡)𝑡𝑝-w + 𝑡 𝑝1w z𝑦(𝑡) = (1 − 𝑡)1 𝑝Œv + 2(1 − 𝑡)𝑡𝑝-v + 𝑡 𝑝1v 0≤𝑡≤1 𝑥(𝑡) = (1 − 𝑡)1 (2) + 2(1 − 𝑡)𝑡(6) + 𝑡 (6) z𝑦(𝑡) = (1 − 𝑡)1 (6) + 2(1 − 𝑡)𝑡(6) + 𝑡 (2) 0≤𝑡≤1 𝑥(𝑡) = −4𝑡 + 8𝑡 + z 𝑦(𝑡) = −4𝑡 + 0≤𝑡≤1 - Vậy phương trình tham số đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 với điểm kiểm soát 𝐶- {(1,2), (1,1), (2,1)} 𝐶1 {(2,6), (6,6), (6,2)} là: 𝑥(𝑡) = 𝑡 + 𝑥(𝑡) = −4𝑡 + 8𝑡 + z𝑦(𝑡) = 𝑡 − 2𝑡 + z 𝑦(𝑡) = −4𝑡 + 0≤𝑡≤1 0≤𝑡≤1 b Kiểm tra điểm 𝐴(4,5), 𝐵(5,5) có thuộc đường cong (𝐶1 ) không? - Kiểm tra điểm 𝐴(4,5): Giáo trình Bài Tập Đồ Họa Máy Tính 294 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân 𝑥(𝑡) = −4𝑡 + 8𝑡 + z𝑦(𝑡) = −4𝑡 + 0≤𝑡≤1 𝑥(𝐴) = −4𝑡 + 8𝑡 + z𝑦(𝐴) = −4𝑡 + 0≤𝑡≤1 = −4𝑡 + 8𝑡 + Õ5 = −4𝑡 + 0≤𝑡≤1 −4𝑡 + 8𝑡 − = Õ−4𝑡 + = 0≤𝑡≤1 −4𝑡 + 8𝑡 − = z 𝑡 = ℎ𝑎𝑦 𝑡 = − (𝑙𝑜ạ𝑖) 1 0≤𝑡≤1 * −4𝑡 + 8𝑡 − = 𝑡=1 - - −4 x1y + x1y − = z 𝑡= 1=0 *𝑡 = - 𝑉ô 𝑛𝑔ℎ𝑖ệ𝑚 - Vậy điểm 𝐴(4,5) không thuộc đường cong (𝐶1 ) - Kiểm tra điểm 𝐵(5,5): 𝑥(𝑡) = −4𝑡 + 8𝑡 + z 𝑦(𝑡) = −4𝑡 + 0≤𝑡≤1 𝑥(𝐵) = −4𝑡 + 8𝑡 + z𝑦(𝐵) = −4𝑡 + 0≤𝑡≤1 = −4𝑡 + 8𝑡 + Õ5 = −4𝑡 + 0≤𝑡≤1 −4𝑡 + 8𝑡 − = Õ−4𝑡 + = 0≤𝑡≤1 −4𝑡 + 8𝑡 − = z 𝑡 = ℎ𝑎𝑦 𝑡 = − (𝑙𝑜ạ𝑖) 1 0≤𝑡≤1 * −4𝑡 + 8𝑡 − = 𝑡=1 - - −4 x y + x y − = 1 z 𝑡=1 Giáo trình Bài Tập Đồ Họa Máy Tính 295 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân 0=0 *𝑡 = - - 𝑡 = - Vậy điểm 𝐵(5,5) thuộc đường cong (𝐶1 ) c - Xác định phép biến đổi affine 𝑇 biến 𝐶- {(1,2), (1,1), (2,1)} thành 𝐶1 {(2,6), (6,6), (6,2)} Gọi ma trận biến đổi cần tìm là: a b = Ư d 0Đ e f - Dng hm: Ô = + + Ơ ¤ 𝑦 = 𝑏𝑥 + 𝑑𝑦 + 𝑓 - Ảnh Ô (2,6) ca (1,2) l: * ữVể = ữV + 𝑐𝑦÷V + 𝑒 𝑦÷VĨ = 𝑏𝑥÷V + 𝑑𝑦÷V + 𝑓 = 𝑎(1) + 𝑐(2) + 𝑒 ¥ = 𝑏(1) + 𝑑(2) + 𝑓 𝑎 + 2𝑐 + 𝑒 = ¥ 𝑏 + 2𝑑 + 𝑓 = - nh -Ô (6,6) ca - (1,1) l: * 𝑥÷ÛĨ = 𝑎𝑥÷Û + 𝑐𝑦÷Û + 𝑒 𝑦÷ÛĨ = 𝑏𝑥÷Û + 𝑑𝑦÷Û + 𝑓 = 𝑎(1) + 𝑐(1) + 𝑒 ¥ = 𝑏(1) + 𝑑(1) + 𝑓 𝑎+𝑐+𝑒 = Ơ ++ = - nh 1Ô (6,2) 𝑃1 (2,1) là: * 𝑥÷ÜĨ = 𝑎𝑥÷Ü + 𝑐𝑦÷Ü + 𝑒 𝑦÷ÜĨ = 𝑏𝑥÷Ü + 𝑑𝑦÷Ü + 𝑓 = 𝑎(2) + 𝑐(1) + 𝑒 ¥ = 𝑏(2) + 𝑑(1) + 𝑓 2𝑎 + 𝑐 + 𝑒 = ¥ 2𝑏 + 𝑑 + 𝑓 = - Ta có: 𝑎 + 2𝑐 + 𝑒 = Õ 𝑎 + 𝑐 + 𝑒 = 2𝑎 + 𝑐 + 𝑒 = - Giải ta được: 𝑎=0 Õ𝑐 = −4 𝑒 = 10 - 𝑏 + 2𝑑 + 𝑓 = z𝑏+𝑑+𝑓=6 2𝑏 + 𝑑 + 𝑓 = 𝑏 = −4 Õ𝑑=0 𝑓 = 10 Kết luận: Ma trận biến đổi cần tìm là: Giáo trình Bài Tập Đồ Họa Máy Tính 296 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân −4 = Ư4 0Đ 10 10 d Xác định độ thẳng đường cong 𝐶- {(1,2), (1,1), (2,1)}: - Hình vẽ: 𝑓= - |𝑝Œ − 𝑝- | + |𝑝- − 𝑝1 | |𝑝Œ − 𝑝1 | Trong đó: |𝑝Œ − 𝑝- | = N(1 − 1)1 + ((1) − (2))1 = N(0)1 + (1)1 = 1 |𝑝- − 𝑝1 | = T(2 − 1)1 + «(1) − (1)¬ = N(1)1 + (0)1 = 1 |𝑝Œ − 𝑝1 | = T(2 − 1)1 + «(1) − (2)¬ = N(1)1 + (−1)1 = √2 - Do đó: 𝑓= e √2 = √2 = 1.41 Xác định độ thẳng đường cong 𝐶1 {(2,6), (6,6), (6,2)}: Hình vẽ: 𝑓= - √2 = Kết luận: độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 𝐶- {(1,2), (1,1), (2,1)} 1.41 - - 1+1 |𝑝Œ − 𝑝- | + |𝑝- − 𝑝1 | |𝑝Œ − 𝑝1 | Trong đó: |𝑝Œ − 𝑝- | = N(6 − 2)1 + ((6) − (6))1 = N(4)1 + (0)1 = |𝑝- − 𝑝1 | = T(6 6)1 + ô(2) (6)ơ = N(0)1 + (4)1 = |𝑝Œ − 𝑝1 | = T(6 2)1 + ô(2) (6)ơ = N(4)1 + (4)1 = 4√2 - Do đó: 𝑓= - 4+4 4√2 = √2 = √2 = 1.41 Kết luận: độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 𝐶1 {(2,6), (6,6), (6,2)} 1.41 Giáo trình Bài Tập Đồ Họa Máy Tính 297 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân Bài Cho đường cong 𝑩𝒆𝒛𝒊𝒆𝒓 bậc (𝑪𝟏 ), với điểm điều khiển 𝑪𝟏 {(𝟐, 𝟐), (𝟐, 𝟒), (𝟔, 𝟓), (𝟔, 𝟑)} a Lập phương trình tham số đường cong (𝑪𝟏 ) b Tính độ thẳng đường cong (𝑪𝟏 ) c Kiểm tra điểm 𝑨(𝟒, 𝟒), 𝑩(𝟓, 𝟒) có thuộc đường cong khơng? Tại sao? d Cho đường cong 𝑩𝒆𝒛𝒊𝒆𝒓 bậc (𝑪𝟐 ), với điểm điều khiển {(𝟔, 𝟑), (𝟕, 𝟏), (𝟖, 𝟏), (𝟗, 𝟑)} Kiểm tra xem điểm nối (𝑪𝟏 ) (𝑪𝟐 ) có trơn hay khơng? Nếu khơng đề nghị sửa điểm điều khiển (𝑪𝟐 ) để điểm nói trơn Bài làm a Lập phương trình tham số đường cong 𝐶- {(2,2), (2,4), (6, 5), (6, 3)} 𝑥(𝑡) = (1 − 𝑡)œ 𝑝Œw + 3(1 − 𝑡)1 𝑡𝑝-w + 3(1 − 𝑡)𝑡 𝑝1w + 𝑡 œ 𝑝œw z𝑦(𝑡) = (1 − 𝑡)œ 𝑝Œv + 3(1 − 𝑡)1 𝑡𝑝-v + 3(1 − 𝑡)𝑡 𝑝1v + 𝑡 œ 𝑝œv 0≤𝑡≤1 𝑥(𝑡) = (1 − 𝑡)œ (2) + 3(1 − 𝑡)1 𝑡(2) + 3(1 − 𝑡)𝑡 (6) + 𝑡 œ (6) z𝑦(𝑡) = (1 − 𝑡)œ (2) + 3(1 − 𝑡)1 𝑡(4) + 3(1 − 𝑡)𝑡 (5) + 𝑡 œ (3) 0≤𝑡≤1 𝑥(𝑡) = −8𝑡 œ + 12𝑡 + z 𝑦(𝑡) = −2𝑡 œ − 3𝑡 + 6𝑡 + ≤ 𝑡 ≤ - Vậy phương trình tham số đường cong 𝐶- {(2,2), (2,4), (6, 5), (6, 3)}: 𝑥(𝑡) = −8𝑡 œ + 12𝑡 + z 𝑦(𝑡) = −2𝑡 œ − 3𝑡 + 6𝑡 + ≤ 𝑡 ≤ b Tính độ thẳng đường cong 𝐶- {(2,2), (2,4), (6,5), (6,3)} - Hình vẽ: 𝑓= - |𝑝Œ − 𝑝- | + |𝑝- − 𝑝1 | + |𝑝1 − 𝑝œ | |𝑝Œ − 𝑝œ | Trong đó: |𝑝Œ − 𝑝- | = N(2 − 2)1 + ((4) − (2))1 = N(0)1 + (2)1 = |𝑝- − 𝑝1 | = T(6 − 2)1 + «(5) − (4)¬ = N(4)1 + (1)1 = √17 Giáo trình Bài Tập Đồ Họa Máy Tính 298 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân |𝑝1 − 𝑝œ | = T(6 6)1 + ô(3) (5)ơ = N(0)1 + (−2)1 = |𝑝Œ − 𝑝œ | = T(6 2)1 + ô(3) (2)ơ = N(4)1 + (1)1 = √17 - Do đó: 𝑓= - √17 = + 4.123 + 8.123 = = 1.97 4.123 4.123 Kết luận: độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶- {(2,2), (2,4), (6,5), (6,3)} 1.97 c - + √17 + Kiểm tra điểm 𝐴(4,4), 𝐵(5,4) có thuộc đường cong (𝐶1 ) khơng? Kiểm tra điểm 𝐴(4,4): 𝑥(𝑡) = −8𝑡 œ + 12𝑡 + z 𝑦(𝑡) = −2𝑡 œ − 3𝑡 + 6𝑡 + ≤ 𝑡 ≤ 𝑥(𝐴) = −8𝑡 œ + 12𝑡 + z𝑦(𝐴) = −2𝑡 œ − 3𝑡 + 6𝑡 + ≤ 𝑡 ≤ = −8𝑡 œ + 12𝑡 + Õ = −2𝑡 œ − 3𝑡 + 6𝑡 + ≤ 𝑡 ≤ −8𝑡 œ + 12𝑡 − = Õ −2𝑡 œ − 3𝑡 + 6𝑡 − = 0 ≤ 𝑡 ≤ - 𝑡 = ℎ𝑜ặ𝑐 𝑡 = 1.37 ℎ𝑜ặ𝑐 𝑡 = −0.37 z −2𝑡 œ − 3𝑡 + 6𝑡 − = 0 ≤ 𝑡 ≤ * 𝑡= −2𝑡 œ − 3𝑡 + 6𝑡 − = - 𝑡=1 z - œ - −2 x1y − x1y + x1y − = - 𝑡=1 z - œ −Ï −Ï +3 − = - * 𝑡= 0=0 - 𝑡=1 - Vậy điểm 𝐴(4,4) thuộc đường cong (𝐶1 ) - Kiểm tra điểm 𝐵(5,4): 𝑥(𝑡) = −8𝑡 œ + 12𝑡 + z 𝑦(𝑡) = −2𝑡 œ − 3𝑡 + 6𝑡 + ≤ 𝑡 ≤ 𝑥(𝐵) = −8𝑡 œ + 12𝑡 + z𝑦(𝐵) = −2𝑡 œ − 3𝑡 + 6𝑡 + ≤ 𝑡 ≤ Giáo trình Bài Tập Đồ Họa Máy Tính 299 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân = −8𝑡 œ + 12𝑡 + Õ = −2𝑡 œ − 3𝑡 + 6𝑡 + ≤ 𝑡 ≤ −8𝑡 œ + 12𝑡 − = Õ −2𝑡 œ − 3𝑡 + 6𝑡 − = 0 ≤ 𝑡 ≤ 𝑡 = −0.43 ℎ𝑜ặ𝑐 𝑡 = 1.26 ℎ𝑜ặ𝑐 𝑡 = 0.67 Õ −2𝑡 œ − 3𝑡 + 6𝑡 − = 0 ≤ 𝑡 ≤ 𝑡 = 0.67 W −2𝑡 œ − 3𝑡 + 6𝑡 − = 𝑡 = 0.67 ¥ −2(0.67)œ − 3(0.67)1 + 6(0.67) − = W 𝑡 = 0.67 0.07 = 𝑣ô 𝑛𝑔ℎ𝑖ệ𝑚 - Vậy điểm 𝐵(5,4) không thuộc đường cong (𝐶1 ) d Kiểm tra điểm khớp nối 𝐶- {(2,2), (2,4), (6,5), (6,3)} 𝐶1 {(6,3), (7,1), (8,1), (9,3)} có trơn hay khơng? - - Ta có: + 𝐶- {(2,2), (2,4), (6,5), (6,3)} + 𝐶1 {(6,3), (7,1), (8,1), (9,3)} Điều kiện để (𝐶- ) (𝐶1 ) trơn là: + 𝑃œ (𝐶- ) º 𝑃Œ (𝐶1 ) + 𝑃1 (𝐶- ), 𝑃œ (𝐶- ), 𝑃Œ (𝐶1 ), 𝑃- (𝐶1 ) thẳng hàng - Kiểm tra điều kiện 1: 𝑃œ (𝐶- )(6,3) º 𝑃Œ (𝐶1 )(6,3) thỏa - Kiểm tra điều kiện 2: - + Lập phương trình đường thẳng qua hai điểm 𝑃1 (𝐶- )(6,5), 𝑃œ (𝐶- )(6,3): 𝑥 = + Thế tọa độ điểm 𝑃- (𝐶1 )(7,1): = 6 𝑆𝑎𝑖 Kết luận: Điểm khớp nối (𝐶- ) (𝐶1 ) khơng có trơn d Nếu không đề nghị sửa điểm điều khiển (𝐶1 ) để điểm nối trơn - Đề nghị sửa tọa độ điểm 𝑃- (𝐶1 ) thành (6,1) Giáo trình Bài Tập Đồ Họa Máy Tính 300 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân Bài Cho hai đường cong 𝑩𝒆𝒛𝒊𝒆𝒓 bậc (𝑪𝟏 ) với điểm điều khiển 𝑪𝟏 {(𝟐, 𝟐), (𝟐, 𝟒), (𝟔, 𝟓), (𝟔, 𝟑)} đường cong 𝑩𝒆𝒛𝒊𝒆𝒓 bậc (𝑪𝟐 ), với điểm điều khiển 𝑪𝟐 {(𝟔, 𝟑), (𝟕, 𝟏), (𝟖, 𝟏), (𝟗, 𝟑)} a Tính độ thẳng đường cong (𝑪𝟏 ) b Tính độ thẳng đường cong (𝑪𝟐 ) c Kiểm tra xem điểm nối (𝑪𝟏 ) (𝑪𝟐 ) có trơn hay khơng? d Nếu không đề nghị sửa điểm điều khiển (𝑪𝟐 ) để điểm nối trơn Bài làm a - Tính độ thẳng đường cong 𝐶- {(2,2), (2,4), (6,5), (6,3)} Hình vẽ: 𝑓= - |𝑝Œ − 𝑝- | + |𝑝- − 𝑝1 | + |𝑝1 − 𝑝œ | |𝑝Œ − 𝑝œ | Trong đó: |𝑝Œ − 𝑝- | = N(2 − 2)1 + ((4) − (2))1 = N(0)1 + (2)1 = |𝑝- − 𝑝1 | = T(6 2)1 + ô(5) (4)ơ = N(4)1 + (1)1 = √17 |𝑝1 − 𝑝œ | = T(6 6)1 + ô(3) (5)ơ = N(0)1 + (−2)1 = |𝑝Œ − 𝑝œ | = T(6 2)1 + ô(3) (2)ơ = N(4)1 + (1)1 = √17 - Do đó: 𝑓= - + √17 + √17 = + 4.123 + 8.123 = = 1.97 4.123 4.123 Kết luận: độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶- {(2,2), (2,4), (6,5), (6,3)} 1.97 b Tính độ thẳng đường cong 𝐶1 {(6,3), (7,1), (8,1), (9,3)} - Hình vẽ: Giáo trình Bài Tập Đồ Họa Máy Tính 301 Nguyễn Tấn Trần Minh Khang - Nguyễn Hoàng Ngân 𝑓= - |𝑝Œ − 𝑝- | + |𝑝- − 𝑝1 | + |𝑝1 − 𝑝œ | |𝑝Œ − 𝑝œ | Trong đó: |𝑝Œ − 𝑝- | = N(7 − 6)1 + (1 − 3)1 = N(1)1 + (2)1 = √5 |𝑝- − 𝑝1 | = N(8 − 7)1 + (1 − 1)1 = N(1)1 + (0)1 = |𝑝1 − 𝑝œ | = N(9 − 8)1 + (3 − 1)1 = N(1)1 + (2)1 = √5 |𝑝Œ − 𝑝œ | = T(9 − 6)1 + ô(3) (3)ơ = N(3)1 + (0)1 = - Do đó: 𝑓= - Kết luận: Độ thẳng đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 bậc 𝐶1 {(6,3), (7,1), (8,1), (9,3)} 1.82 c - - √5 + + √5 2.23 + + 2.23 5.46 = = = 1.82 3 Kiểm tra điểm khớp nối (𝐶- ) (𝐶1 ) có trơn hay khơng? Ta có: + 𝐶- {(2,2), (2,4), (6,5), (6,3)} + 𝐶1 {(6,3), (7,1), (8,1), (9,3)} Điều kiện để (𝐶- ) (𝐶1 ) trơn là: + 𝑃œ (𝐶- ) º 𝑃Œ (𝐶1 ) + 𝑃1 (𝐶- ), 𝑃œ (𝐶- ), 𝑃Œ (𝐶1 ), 𝑃- (𝐶1 ) thẳng hàng - Kiểm tra điều kiện 1: 𝑃œ (𝐶- )(6,3) º 𝑃Œ (𝐶1 )(6,3) thỏa - Kiểm tra điều kiện 2: - + Lập phương trình đường thẳng qua hai điểm 𝑃1 (𝐶- )(6,5), 𝑃œ (𝐶- )(6,3): 𝑥 = + Thế tọa độ điểm 𝑃- (𝐶1 )(7,1): = 6 𝑆𝑎𝑖 Kết luận: Điểm khớp nối (𝐶- ) (𝐶1 ) khơng có trơn d Nếu khơng đề nghị sửa điểm điều khiển (𝐶1 ) để điểm nối trơn - Đề nghị sửa tọa độ điểm 𝑃- (𝐶1 ) thành (6,1) Giáo trình Bài Tập Đồ Họa Máy Tính 302 Nguyễn Tấn Trần Minh Khang - Nguyễn Hồng Ngân Bài Phương trình tham số đoạn thẳng 𝑨𝑩 có phải phương trình tham số đường cong 𝑩𝒆𝒛𝒊𝒆𝒓 ko? Giải thích Bài làm - Gọi 𝐴(𝑥` , 𝑦` ) 𝐵(𝑥a , 𝑦a ) - Phương trình tham số đoạn thẳng 𝐴𝐵 là: 𝑥 = 𝑥` + 𝑡𝑑𝑥 Õ𝑦 = 𝑦` + 𝑡𝑑𝑦 0≤𝑡≤1 Trong đó: 𝑑𝑥 = 𝑥a − 𝑥` 𝑑𝑦 = 𝑦a − 𝑦` - Phương trình tham số đường cong 𝐵𝑒𝑧𝑖𝑒𝑟: 𝑥(𝑡) = (1 − 𝑡)𝐴w + 𝑡𝐵w z𝑦(𝑡) = (1 − 𝑡)𝐴v + 𝑡𝐵v 0≤𝑡≤1 𝑥(𝑡) = (1 − 𝑡)𝑥` + 𝑡𝑥a Õ𝑦(𝑡) = (1 − 𝑡)𝑦` + 𝑡𝑦a 0≤𝑡≤1 𝑥(𝑡) = 𝑥` − 𝑡𝑥` + 𝑡𝑥a Õ𝑦(𝑡) = 𝑦` − 𝑡𝑦` + 𝑡𝑦a 0≤𝑡≤1 𝑥(𝑡) = 𝑥` + 𝑡(𝑥a − 𝑥` ) Õ𝑦(𝑡) = 𝑦` + 𝑡(𝑦a − 𝑦` ) 0≤𝑡≤1 𝑥(𝑡) = 𝑥` + 𝑡𝑑𝑥 Õ𝑦(𝑡) = 𝑦` + 𝑡𝑑𝑦 0≤𝑡≤1 - Kết luận: Phương trình tham số đoạn thẳng 𝐴𝐵 phương trình tham số đường cong 𝐵𝑒𝑧𝑖𝑒𝑟 Giáo trình Bài Tập Đồ Họa Máy Tính 303