1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI CHƯƠNG TRÌNH MÔ PHỎNG BÀN CỜ 2D

43 40 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 43
Dung lượng 481,82 KB

Nội dung

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI: CHƯƠNG TRÌNH MƠ PHỎNG BÀN CỜ 2D Sinh viên thực hiện: NGUYỄN ĐỨC LONG (NT) LÃ QUỐC NGHỊ CAO HOÀI NAM PHẠM QUANG ÁNH Giảng viên hướng dẫn: THẦY NGÔ TRƯỜNG GIANG Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CƠNG NGHỆ PHẦN MỀM Lớp: D13CNPM1 (NHĨM 12) HÀ NỘI, 06/2020 TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI: CHƯƠNG TRÌNH MƠ PHỎNG BÀN CỜ 3D Sinh viên thực hiện: NGUYỄN ĐỨC LONG (NT) LÃ QUỐC NGHỊ CAO HOÀI NAM PHẠM QUANG ÁNH Giảng viên hướng dẫn: THẦY NGÔ TRƯỜNG GIANG Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CÔNG NGHỆ PHẦN MỀM Lớp: D13CNPM1 (NHÓM 12) HÀ NỘI, 06/2020 PHIẾU CHẤM ĐIỂM Sinh viên thực hiện: STT Họ tên Nguyễn Đức Long Phạm Quang Ánh Lã Quốc Nghị Cao Hồi Nam Nội dung thực Điểm Chữ ký Gíao viên chấm điểm: Họ tên Giáo viên 1: Giáo viên 2: Chữ ký Ghi Mục Lục A B A MỞ ĐẦU C D Sự phát triển khoa học, kĩ thuật, nghệ thuật, kinh doanh công nghệ luôn phụ thuộc vào khả truyền đạt thông tin chúng ta, thông qua bit liệu lưu trữ microchip thông qua giao tiếp tiếng nói Câu châm ngơn từ xa xưa “một hình ảnh có giá trị vạn lời” hay “trăm nghe không thấy” cho thấy ý nghĩa lớn hình ảnh việc truyền tải thơng tin Hình ảnh cảm nhận nhanh dễ dàng hơn, đặc biệt trường hợp bất đồng ngơn ngữ Do khơng có ngạc nhiên mà từ xuất máy tính, nhà nghiên cứu cố gắng sử dụng để phát sinh hình ảnh hình Trong suốt gần 50 năm phát triển máy tính, khả phát sinh hình ảnh máy tính đạt tới mức mà tất máy tính có khả đồ họa E Đồ họa máy tính lĩnh vực lý thú phát triển nhanh tin học Nó cịn kết hợp phương pháp công nghệ dùng việc chuyển đổi qua lại liệu hình ảnh máy tính Đồ họa máy tính lĩnh vực khoa học máy tính nghiên cứu toán học, thuật toán kỹ thuật phép tạo, hiển thị, điều khiển hình ảnh hình máy tính Đồ họa máy tính có liên quan nhiều đến số lĩnh vực đại số, hình học giải tích, hình học họa hình, kỹ thuật máy tính, đặc biết chế tạo phần cứng F Chúng ta vẽ hình ảnh khơng ảnh tĩnh mà cịn biến đổi thành hình ảnh sinh động qua phép tịnh tiến, phép biến đổi, Do vậy, qua thời gian tìm hiểu nhóm em định chọn đề tài “Viết Chương trình mơ bàn cờ 3D.” nhằm giúp người hiểu rõ phép biến đổi hình học khơng gian thực B NỘI DUNG G H Chương I: ĐỒ HỌA HAI CHIỀU I 1.Vẽ đường thẳng a Thuật toán Bressenham • Thuật toán J Thuật toán Bresenham đưa cách chọn yi + yi hay yi + theo hướng khác Đó so sánh khoảng cách điểm thực y với điểm gần kề Nếu điểm nằm gần điểm thực chọn làm điểm vẽ K L P Hình 1.1 M N Xét trường hơp < m < O Gọi y giá trị thực (giá trị xác) đường thẳng x bước thứ i + là: Q y = m(xi + 1) + b R Gọi d1 khoảng cách từ y đến yi S Gọi d2 khoảng cách từ y đến yi + T Ta có: U d1 = y – yi = m(xi + 1) + b - yi V d2 = yi + – y = yi + – [m(xi + 1) + b] W Ta xét (d1 – d2): X d1 – d2 > ⇨ d1 > d2 ⇨yi Y Ngược lại: d1 – d2 ≤ ⇨ d1 ≤ d2 ⇨ yi + + = yi + = yi ⇨ d1 – d2 Z = [m(xi + 1) + b - yi] – [yi + – m(xi + 1) - b] AA = m(xi + 1) + b – yi – yi – + m(xi + 1) + b AB = 2m(xi + 1) – 2yi + 2b - AC Dễ thấy d1 – d2 tồn phép toán với số thực m = Và để tuân thủ theo ý tưởng thuật toán thực phép toán số nguyên, ta khử phân số cách nhân vế với dx: AD Đặt Pi = dx(d1 – d2) ⇨ Pi = dx[2m(xi + 1) + 2b – 2yI - 1] AE Thay m = vào phương trình ta được: AF = 2dy + (2b - 1)dx AG Pi = 2dyxi – 2dxyi + c Mặt khác dx ≥ với trường hợp ⇨ dấu Pi dấu với d1 – d2 ⇨ Pi > ⇨ yi AH + Pi ≤ ⇨ yi AI + Ta lại có: Pi + + + = yi = yi = 2dyxi + – 2dxyi + c Pi = 2dyxi – 2dxyi + c ⇨ Pi + – Pi = 2dy(xi + – xi) – 2dx(yi + – yi với c AJ = 2dy – 2dx(yi – y i) với (xi+ Pi + = Pi + 2dy – 2dx(yi+1 – yi) + – x i) = AK AO AL AM AP AN dx) AR Nếu Pi < ⇨ yi = yi ⇨ Pi + Ngược lại Pi > ⇨ yi AQ + + = Pi + 2dy = yi + ⇨ Pi + = Pi + 2(dy – Ta có: Pi = 2x1dy – 2y1dx + c AS = 2x1dy – 2(x1 + b)dx + 2dy + (2b – 1)dx AT = 2dy – dx AU AV AW AX AY AZ BA BB Hình 1.2 Giả sử khoảng cách từ điểm thực yi + so với yi p Do việc phải xét nên chọn điểm hay điểm gần với điểm thực hơn, mà lần x tăng thêm đơn vị khoảng cách p lại cộng thêm giá trị c Tuy nhiên, khoảng cách p không tăng lên cách tuyến tính , nên EU Nếu Fi < (Xi + 1, Y) gần với Yi => Yi+1 = Yi EV Nếu Fi >= (Xi + 1, Y) gần với Yi - => Yi + = Yi -1 Tính Fi +1 theo Fi EW Fi + - Fi = 2Xi + + (Yi+12 - Yi2) + (Yi+1 - Yi) (*) EX Nếu Fi < Fi + = Fi + 2Xi + 3, ta thay Yi+1 = Yi vào (*) EY Nếu Fi >= Fi + = Fi + 2(Xi - Yi) + 5, thay Yi+1 = Yi -1 vào (*) Tính giá trị F EZ Ta có: FA FB Thay Xi = Yi = R công thức ta có được: F = 5/4 - R • Lưu đồ giải thuật FC FD FE Hình 1.16 • Kết thử nghiệm FF FG FH Hình 1.17 FI FJ FK Hình 1.18 3.Thuật Tốn Tơ Màu Tràn • Thuật tốn FL Đường biên vùng tơ màu thuật tốn tô loang xác định tập đỉnh đa giác, đường biên thuật tốn mơ tả giá trị nhất, màu tất điểm thuộc đường biên Bắt đầu từ điểm nằm bên vùng tô, ta kiểm tra điểm lân cận tơ màu hay có phải điểm biên hay khơng Nếu điểm tô điểm biên ta tơ màu Lặp lại khơng cịn tơ điểm dừng FM FN FO Hình 1.19 FP -Bước 1: Kẻ vùng biên cần tô FQ FR -Bước 2: Xác định điểm (x,y) bên vùng cần tô FS -Bước 3: Tơ điểm (x,y) sau tơ loang điểm lân cận • Lưu đồ thuật tốn • Kết thực nghiệm FT FU FV Hình 1.20 FW FX FY Hình 1.21 4.Thuật tốn tơ màu theo đường qt • Thuật tốn FZ Với dịng qt, ta xác định phần giao đa giác dòng qt, tơ màu pixel thuộc đoạn giao Để xác định đoạn giao, ta tiến hành việc tìm giao điểm dịng qt với cạnh đa giác, sau giao điểm theo thứ tự tăng dần hoành độ giao điểm Các đoạn giao đoạn thẳng giới hạn cặp giao điểm GA Tìm ymin, ymax giá trị nhỏ nhất, lớn tập tung độ đỉnh đa giác cho GB Ứng với dòng quét y = k với k thay đổi từ ymin đến ymax, lặp : + Tìm tất hồnh độ giao điểm dòng quét y = k với cạnh đa giác + Sắp xếp hoành độ giao điểm theo thứ tự tăng dần : x0 ,x1 , , xn , + Tô màu đoạn thẳng đường thẳng y = k giới hạn cặp (x0, x1), ( x1 ,x2), , x2k, x2k+1) GC Nhưng dừng mức chuyển sang cài đặt gặp phải số vấn đề sau: + Ứng với dịng qt, khơng phải lúc tất cạnh đa giác cắt dòng quét Do để cải thiện tốc độ, ta phải tìm cách hạn chế số cạnh cần tìm giao điểm ứng với dịng qt + Việc tìm giao điểm cạnh đa giác với dòng quét gặp phép toán phức tạp nhân, chia, ….trên số thực, ta dùng cách giải hệ phương trình để tìm giao điểm Điều làm giảm tốc độ thuật tốn + Nếu số giao điểm tìm cạnh đa giác dòng quét lẻ việc nhóm cặp giao điểm đề hình thành đoạn tơ khơng xác Điều xảy dịng quét ngang qua đỉnh đa giác + Việc tìm giao điểm dịng qt với cạnh nằm ngang trường hợp đặc biệt, cần phải có cách xử lý thích hợp GD Để hạn chế số cạnh cần tìm giao điểm ứng với dịng qt, ta áp dụng cơng thức hệ số góc sau: xk+1 = xk + 1/m GE đó: m hệ số góc cạnh; xk+1 , xk hồnh độ giao điểm cạnh với dòng quét y=k y=k+1 GF Để giải trường hợp số giao điểm qua đỉnh đơn điệu ta tính số giao điểm , qua đỉnh cực trị tính số giao điểm (hoặc 2) • Lưu đồ giải thuật GG GH GI GJ Hình 1.22 • Kết thực nghiệm GK GL GM Hình 1.23 GN Chương II: Phát Triển Ứng dụng Đồ Họa 2D GO 1.Phát biểu toán GP Dựa vào kiến thức tìm hiểu Đồ Họa chiều , nhóm chúng em xây dựng ứng dụng mô bàn cờ 2D thư viện đồ họa Graphics GQ Áp dụng thuật toán vẽ đường thẳng Bressenham để vẽ bàn cờ 2.Các bước giải 3.Kết thực nghiệm GR GS Hình 2.1 C Kết Luận GT GU GV Tài Liệu Tham Khảo GW Phụ Lục

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI: CHƯƠNG TRÌNH MƠ PHỎNG BÀN CỜ 2D Sinh viên thực hiện: NGUYỄN ĐỨC LONG (NT) LÃ QUỐC NGHỊ CAO HOÀI NAM PHẠM QUANG ÁNH Giảng viên hướng dẫn: THẦY NGÔ TRƯỜNG GIANG Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CƠNG NGHỆ PHẦN MỀM Lớp: D13CNPM1 (NHĨM 12) HÀ NỘI, 06/2020 TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN ĐỒ HỌA MÁY TÍNH ĐỀ TÀI: CHƯƠNG TRÌNH MƠ PHỎNG BÀN CỜ 3D Sinh viên thực hiện: NGUYỄN ĐỨC LONG (NT) LÃ QUỐC NGHỊ CAO HOÀI NAM PHẠM QUANG ÁNH Giảng viên hướng dẫn: THẦY NGÔ TRƯỜNG GIANG Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CÔNG NGHỆ PHẦN MỀM Lớp: D13CNPM1 (NHÓM 12) HÀ NỘI, 06/2020 PHIẾU CHẤM ĐIỂM Sinh viên thực hiện: STT Họ tên Nguyễn Đức Long Phạm Quang Ánh Lã Quốc Nghị Cao Hồi Nam Nội dung thực Điểm Chữ ký Gíao viên chấm điểm: Họ tên Giáo viên 1: Giáo viên 2: Chữ ký Ghi Mục Lục A B A MỞ ĐẦU C D Sự phát triển khoa học, kĩ thuật, nghệ thuật, kinh doanh công nghệ luôn phụ thuộc vào khả truyền đạt thông tin chúng ta, thông qua bit liệu lưu trữ microchip thông qua giao tiếp tiếng nói Câu châm ngơn từ xa xưa “một hình ảnh có giá trị vạn lời” hay “trăm nghe không thấy” cho thấy ý nghĩa lớn hình ảnh việc truyền tải thơng tin Hình ảnh cảm nhận nhanh dễ dàng hơn, đặc biệt trường hợp bất đồng ngơn ngữ Do khơng có ngạc nhiên mà từ xuất máy tính, nhà nghiên cứu cố gắng sử dụng để phát sinh hình ảnh hình Trong suốt gần 50 năm phát triển máy tính, khả phát sinh hình ảnh máy tính đạt tới mức mà tất máy tính có khả đồ họa E Đồ họa máy tính lĩnh vực lý thú phát triển nhanh tin học Nó cịn kết hợp phương pháp công nghệ dùng việc chuyển đổi qua lại liệu hình ảnh máy tính Đồ họa máy tính lĩnh vực khoa học máy tính nghiên cứu toán học, thuật toán kỹ thuật phép tạo, hiển thị, điều khiển hình ảnh hình máy tính Đồ họa máy tính có liên quan nhiều đến số lĩnh vực đại số, hình học giải tích, hình học họa hình, kỹ thuật máy tính, đặc biết chế tạo phần cứng F Chúng ta vẽ hình ảnh khơng ảnh tĩnh mà cịn biến đổi thành hình ảnh sinh động qua phép tịnh tiến, phép biến đổi, Do vậy, qua thời gian tìm hiểu nhóm em định chọn đề tài “Viết Chương trình mơ bàn cờ 3D.” nhằm giúp người hiểu rõ phép biến đổi hình học khơng gian thực B NỘI DUNG G H Chương I: ĐỒ HỌA HAI CHIỀU I 1.Vẽ đường thẳng a Thuật toán Bressenham • Thuật toán J Thuật toán Bresenham đưa cách chọn yi + yi hay yi + theo hướng khác Đó so sánh khoảng cách điểm thực y với điểm gần kề Nếu điểm nằm gần điểm thực chọn làm điểm vẽ K L P Hình 1.1 M N Xét trường hơp < m < O Gọi y giá trị thực (giá trị xác) đường thẳng x bước thứ i + là: Q y = m(xi + 1) + b R Gọi d1 khoảng cách từ y đến yi S Gọi d2 khoảng cách từ y đến yi + T Ta có: U d1 = y – yi = m(xi + 1) + b - yi V d2 = yi + – y = yi + – [m(xi + 1) + b] W Ta xét (d1 – d2): X d1 – d2 > ⇨ d1 > d2 ⇨yi Y Ngược lại: d1 – d2 ≤ ⇨ d1 ≤ d2 ⇨ yi + + = yi + = yi ⇨ d1 – d2 Z = [m(xi + 1) + b - yi] – [yi + – m(xi + 1) - b] AA = m(xi + 1) + b – yi – yi – + m(xi + 1) + b AB = 2m(xi + 1) – 2yi + 2b - AC Dễ thấy d1 – d2 tồn phép toán với số thực m = Và để tuân thủ theo ý tưởng thuật toán thực phép toán số nguyên, ta khử phân số cách nhân vế với dx: AD Đặt Pi = dx(d1 – d2) ⇨ Pi = dx[2m(xi + 1) + 2b – 2yI - 1] AE Thay m = vào phương trình ta được: AF = 2dy + (2b - 1)dx AG Pi = 2dyxi – 2dxyi + c Mặt khác dx ≥ với trường hợp ⇨ dấu Pi dấu với d1 – d2 ⇨ Pi > ⇨ yi AH + Pi ≤ ⇨ yi AI + Ta lại có: Pi + + + = yi = yi = 2dyxi + – 2dxyi + c Pi = 2dyxi – 2dxyi + c ⇨ Pi + – Pi = 2dy(xi + – xi) – 2dx(yi + – yi với c AJ = 2dy – 2dx(yi – y i) với (xi+ Pi + = Pi + 2dy – 2dx(yi+1 – yi) + – x i) = AK AO AL AM AP AN dx) AR Nếu Pi < ⇨ yi = yi ⇨ Pi + Ngược lại Pi > ⇨ yi AQ + + = Pi + 2dy = yi + ⇨ Pi + = Pi + 2(dy – Ta có: Pi = 2x1dy – 2y1dx + c AS = 2x1dy – 2(x1 + b)dx + 2dy + (2b – 1)dx AT = 2dy – dx AU AV AW AX AY AZ BA BB Hình 1.2 Giả sử khoảng cách từ điểm thực yi + so với yi p Do việc phải xét nên chọn điểm hay điểm gần với điểm thực hơn, mà lần x tăng thêm đơn vị khoảng cách p lại cộng thêm giá trị c Tuy nhiên, khoảng cách p không tăng lên cách tuyến tính , nên EU Nếu Fi < (Xi + 1, Y) gần với Yi => Yi+1 = Yi EV Nếu Fi >= (Xi + 1, Y) gần với Yi - => Yi + = Yi -1 Tính Fi +1 theo Fi EW Fi + - Fi = 2Xi + + (Yi+12 - Yi2) + (Yi+1 - Yi) (*) EX Nếu Fi < Fi + = Fi + 2Xi + 3, ta thay Yi+1 = Yi vào (*) EY Nếu Fi >= Fi + = Fi + 2(Xi - Yi) + 5, thay Yi+1 = Yi -1 vào (*) Tính giá trị F EZ Ta có: FA FB Thay Xi = Yi = R công thức ta có được: F = 5/4 - R • Lưu đồ giải thuật FC FD FE Hình 1.16 • Kết thử nghiệm FF FG FH Hình 1.17 FI FJ FK Hình 1.18 3.Thuật Tốn Tơ Màu Tràn • Thuật tốn FL Đường biên vùng tơ màu thuật tốn tô loang xác định tập đỉnh đa giác, đường biên thuật tốn mơ tả giá trị nhất, màu tất điểm thuộc đường biên Bắt đầu từ điểm nằm bên vùng tô, ta kiểm tra điểm lân cận tơ màu hay có phải điểm biên hay khơng Nếu điểm tô điểm biên ta tơ màu Lặp lại khơng cịn tơ điểm dừng FM FN FO Hình 1.19 FP -Bước 1: Kẻ vùng biên cần tô FQ FR -Bước 2: Xác định điểm (x,y) bên vùng cần tô FS -Bước 3: Tơ điểm (x,y) sau tơ loang điểm lân cận • Lưu đồ thuật tốn • Kết thực nghiệm FT FU FV Hình 1.20 FW FX FY Hình 1.21 4.Thuật tốn tơ màu theo đường qt • Thuật tốn FZ Với dịng qt, ta xác định phần giao đa giác dòng qt, tơ màu pixel thuộc đoạn giao Để xác định đoạn giao, ta tiến hành việc tìm giao điểm dịng qt với cạnh đa giác, sau giao điểm theo thứ tự tăng dần hoành độ giao điểm Các đoạn giao đoạn thẳng giới hạn cặp giao điểm GA Tìm ymin, ymax giá trị nhỏ nhất, lớn tập tung độ đỉnh đa giác cho GB Ứng với dòng quét y = k với k thay đổi từ ymin đến ymax, lặp : + Tìm tất hồnh độ giao điểm dòng quét y = k với cạnh đa giác + Sắp xếp hoành độ giao điểm theo thứ tự tăng dần : x0 ,x1 , , xn , + Tô màu đoạn thẳng đường thẳng y = k giới hạn cặp (x0, x1), ( x1 ,x2), , x2k, x2k+1) GC Nhưng dừng mức chuyển sang cài đặt gặp phải số vấn đề sau: + Ứng với dịng qt, khơng phải lúc tất cạnh đa giác cắt dòng quét Do để cải thiện tốc độ, ta phải tìm cách hạn chế số cạnh cần tìm giao điểm ứng với dịng qt + Việc tìm giao điểm cạnh đa giác với dòng quét gặp phép toán phức tạp nhân, chia, ….trên số thực, ta dùng cách giải hệ phương trình để tìm giao điểm Điều làm giảm tốc độ thuật tốn + Nếu số giao điểm tìm cạnh đa giác dòng quét lẻ việc nhóm cặp giao điểm đề hình thành đoạn tơ khơng xác Điều xảy dịng quét ngang qua đỉnh đa giác + Việc tìm giao điểm dịng qt với cạnh nằm ngang trường hợp đặc biệt, cần phải có cách xử lý thích hợp GD Để hạn chế số cạnh cần tìm giao điểm ứng với dịng qt, ta áp dụng cơng thức hệ số góc sau: xk+1 = xk + 1/m GE đó: m hệ số góc cạnh; xk+1 , xk hồnh độ giao điểm cạnh với dòng quét y=k y=k+1 GF Để giải trường hợp số giao điểm qua đỉnh đơn điệu ta tính số giao điểm , qua đỉnh cực trị tính số giao điểm (hoặc 2) • Lưu đồ giải thuật GG GH GI GJ Hình 1.22 • Kết thực nghiệm GK GL GM Hình 1.23 GN Chương II: Phát Triển Ứng dụng Đồ Họa 2D GO 1.Phát biểu toán GP Dựa vào kiến thức tìm hiểu Đồ Họa chiều , nhóm chúng em xây dựng ứng dụng mô bàn cờ 2D thư viện đồ họa Graphics GQ Áp dụng thuật toán vẽ đường thẳng Bressenham để vẽ bàn cờ 2.Các bước giải 3.Kết thực nghiệm GR GS Hình 2.1 C Kết Luận GT GU GV Tài Liệu Tham Khảo GW Phụ Lục

Ngày đăng: 16/03/2022, 17:54

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w