Đồ họa máy tính có thể được sử dụng trong nhiếp ảnh kỹ thuật số, phim, giải trí, thiết bị điện tử và tất cả các công nghệ cốt lõi khác được yêu cầu.. Đỗ họa máy tính có thể được sử dụng
Trang 1
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA: CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN
HOC PHAN: AN TOAN BAO MAT THONG TIN
DE TAI 47: TIM HIEU VE HAM BAM VA THUAT TOAN MA HÓA MD5
Sinh viên thực hiện Lớp Khoá Phạm Đình Duy DCCNTT12.10.05 K12 Dam Nhu Dat DCCNTT12.10.05 K12 Bùi Ngọc Đức DCCNTT12.10.05 K12 Nguyễn Thị Hương DCCNTT12.10.05 K12 Nguyễn Thị Thùy DCCNTT12.10.05 K12
Trang 2- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CONG NGHE THONG TIN
Trang 3MUC LUC
h9) - ÔỎ 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VẺ KỸ THUẬT ĐỎ HỌA MÁY TÍNH 5
1 Các khái niệm cơ bản về đồ họa máy tính - 5+ 2 S2SxtS22xrtcktrertxrrrkrerrtrrrrrrrrrrree 5
2 Các giải thuật đồ họa cơ bản - o2 tr ch n2 reo 10 2.1 Thuật toán cắt xén — thuật toán CoheH—SHtlterÏqHd si neiereeerererrke 10
1.1 Các thành phần đồ họa c5 S2 S2 tr HT ng Hee 15
3 Thiết kế các nguồn sáng 2 5o tì tr H21 TH HH ng erreerrea 28
4 Xử lý sự kiện bấm phím - +: 55522 S22StEC E221 227 TT EEErrerrrerrrrrrrrrree 29
Trang 4GIOI THIEU DE TAI
Đề tài an toàn bảo mật thông tin là một lĩnh vực quan trọng trong ngành công nghệ thông tin, tập trung vào việc bảo vệ thông tin quan trọng khỏi sự truy cập trái phép, sửa đôi không được phép hoặc mất mát Trong đó, hàm băm và thuật toán MD5 đóng vai trò quan trọng trong việc bảo vệ dữ liệu
Hàm băm là một phương pháp chuyền đổi một chuỗi dữ liệu đầu vào thành một giá trị băm, hay còn gọi là hash code, mà có thê là một chuỗi hoặc một số Quan trọng là nó cần phải là một hàm không thê đảo ngược, tức là không thé tai tạo dữ liệu ban đầu từ giá trị băm
MD5 (Message Digest Algorithm 5) là một trong những thuật toán băm phô biến, được sử dụng rộng rãi trong các ứng dụng bảo mật thông tin MDS tạo ra một giả trị băm 128-bit từ dữ liệu đầu vào có kích thước bất ky Mặc dù nó từng được sử dụng phô biến trong quá khứ, nhưng hiện nay MD5 đã trở nên không an toàn do các lỗ hồng bảo mật đã được phát hiện, dân đên kha nang va cham (collision attacks) va hiéu suat tinh toan kém
Tuy nhiên, việc hiệu về MDS vần quan trọng vỉ nó cung câp một cơ sở cho việc nghiên cứu và so sánh với các thuật toán băm khác, như SHA (Secure Hash Algorithm), để cải thiện hiệu suat va độ bảo mật của các hệ thông thông tin hiện đại
Trang 5CHUONG 1: CO SO LY THUYET VE KY THUẬT ĐỎ HỌA MÁY TÍNH
1 Các khái niệm cơ bản về đồ họa máy tính
Đồ họa được định nghĩa là bất kỳ bản phác thảo hoặc bản vẽ hoặc một mạng đặc biệt nào thê hiện bằng hình ảnh một số thông tin có ý nghĩa
Đồ họa may tính được sử dụng khi một tập hợp hình ảnh cần được xử lý hoặc tao hình ảnh ở dạng pixel và được vẽ trên máy tính Đồ họa máy tính có thể được sử dụng trong nhiếp ảnh kỹ thuật số, phim, giải trí, thiết bị điện tử và tất cả các công nghệ cốt lõi khác được yêu cầu Đây là một chủ đề và lĩnh vực rộng lớn trong lĩnh vực khoa học mây tính Đỗ họa máy tính có thể được sử dụng trong thiết kế giao điện người dùng, kết xuất, đối tượng hình học, hoạt hình vả nhiều thứ khác Trong hầu hết các lĩnh vực, đồ họa máy
tính là tên viết tắt của CG
Có một số công cụ được sử dụng để triển khai Đồ họa máy tính Cơ bản là tệp tiêu
đề <graphics.h> trong Turbo-C, Unity danh cho nang cao va thậm chi OpenGL co thé được sử dụng để Triển khai
Thuật ngữ 'Đồ họa máy tính' được đặt ra bởi Verne Hudson và William Fetter tir Boeing, những người tiên phong trong lĩnh vực này
Đồ họa máy tính đề cập đến một số thứ:
e©_ Thao tác và biểu diễn hình ảnh hoặc dữ liệu theo cách đồ họa
e Cần có nhiều công nghệ khác nhau để tạo và thao tác
e Tong hop ky thuat so va thao tác của nó
1.1 Các kĩ thuật trong đồ họa máy tỉnh
Đề xây dựng các hình ảnh và đồ họa khác nhau theo cách tương tác, có nhiều phương pháp khác nhau được tích hợp trong các gói đồ họa khác nhau Các gói này chứa nhiều tùy chọn khác nhau giúp người dùng nhập thông tin tọa độ bằng cách sử dụng các thiết bị đột quy hoặc các bộ định vị khác nhau Các tọa độ này giúp tạo ranh giới cho các đối tượng khác nhau mà người dùng sẽ vẽ
LU Kỹ thuật định vị
Trang 6Đây là kỹ thuật rất cơ bản của đầu vào đồ họa Nó còn được gọi là định vị
Với sự trợ giúp của thiết bị đầu vào, người dung chi ra vi tri trên màn hình Đề hiện thị đôi tượng, vị trí này đánh dau vi tri Vi du: vi tri dau vao có thê được sử dụng đề chèn
ký hiệu xác định điệm cuối của dòng
Quá trình định vị bao gôm hai bước, ở bước đầu tiên, người dùng phải dị chuyên con trỏ đên vị trí mong muôn trên màn hình và ở bước thứ hai, người dùng thông báo cho máy tính bằng cách nhân phím hoặc nút
Dinh vị thường được sử dụng trong các ứng dụng mô hỉnh hình học, trong đó nếu người dùng muốn xác định phần tử mới của mô hình hoặc thay đổi vị trí của mô hình hiện
có
1.12 Các ràng buộc của kỹ thuật định vị
Ràng buộc là quy tắc được người dùng sử dụng để thay đổi gia tri toa dé nham tao
ra sự căn chỉnh cân thiệt của tọa độ được hiện thị Có 3 loại ràng buộc định vị như sau:
Constraint Constraint Constraint
Trang 7Select First Select Secong Endpoint Select First Select Secong Endpoint
Horizontal line constraint Vertical line constraint
11.2.2 Rang buéc méo-dun Rang buộc này sử dụng lưới các vùng hình chữ nhật được hiển thị trên màn hình Bat kỳ vị trí tọa độ đầu vào nào cũng phải có mặt trên giao điểm gần nhất của hai đường lưới Ràng buộc này có thê áp dụng cho các ký hiệu cũng như điệm cuôi của dòng
Trong hinh trên cho thấy có cách sử dụng các đường lưới để vẽ đường Con trỏ được dịch chuyển đến điểm giao nhau của lưới gần nhất và người dùng vẽ đường giữa các điểm lưới này
1.1.2.3 Trưởng trọng lực Ràng buộc này hữu ích khi cần đính kèm dòng hoặc dòng trong ảnh đã có săn Trong
đó, hình ảnh không nằm trên hệ thống lưới Tên của ràng buộc nảy được đặt như vậy vi có lực hấp dẫn giữa các dòng trên màn hình
Trang 8Trong ràng buộc này, vị trí đầu vào gần dòng sẽ được chuyền đổi thành vị trí đầu vào trên dòng Trong đó, có một vùng vô hình xung quanh mỗi đường có hình dạng giống như quả tạ hoặc xúc xích như trong hình sau:
Kích thước trường trọng lực được chọn không đủ lớn để hỗ trợ định vị nhưng nhỏ
đề giảm nguy cơ chỗông chéo với các đường khác
1.2 Các lĩnh vực thực tiên của kỹ thuật đề họa máy tính
Đồ họa máy tính liên quan đến việc tạo, thao tác và lưu trữ các loại hình ảnh và đối tượng khác nhau
Một số ứng dụng của đồ họa máy tính:
Trang 9
Nghệ thuật máy tính Sử dụng đô họa máy tính, chúng ta có thê tạo ra các tác phâm
nghệ thuật mang tính thương mại và mỹ thuật bao gồm các gói hoạt hình, gói sơn Các gói này cung cấp các phương tiện
để thiết kế hình dạng đối tượng và chỉ định chuyên động của đối tượng Vẽ hoạt hình, tranh vẽ, thiết kế logo cũng có thể được thực hiện
và sắc nét hơn với các thông số kỹ thuật tốt hơn
Đồ họa trình bày Đề chuẩn bị báo cáo hoặc tóm tắt các dữ liệu tài chính, thông
kê, toán học, khoa học, kinh tế cho các báo cáo nghiên cứu, báo cáo quản lý, hơn nữa việc tạo biểu đồ thanh, biểu đồ hình tròn, biêu đồ thời gian có thể được thực hiện bằng các công
cụ có trong đồ họa máy tính
Sự giải trí Đô họa máy tính chiêm một phần quan trọng trong tiện ích
của nó trong ngành công nghiệp điện ảnh và trò chơi Được
sử dụng để tạo phim điện ảnh, video ca nhạc, chương trỉnh truyền hình, phim hoạt hình hoạt hình Trong ngành công nghiệp trò chơi nơi trọng tâm và tính tương tác là yếu tố then chốt, đồ họa máy tính giúp cung cấp các tính năng đó một cách hiệu quả
Giáo dục Các mô hình do máy tính tạo ra cực kỳ hữu ích trong việc
giảng dạy số lượng lớn các khái niệm và nguyên tắc cơ bản theo cach dé hiéu va dé hoc Bang cach str dung dé hoa may tính, nhiều mô hình giáo đục có thể được tạo ra thông qua đó
có thể tạo ra nhiều hứng thú hơn cho học sinh đối với môn học
Đào tạo Hệ thông đảo tạo chuyên biệt như mô phỏng có thể được sử
dụng dé dao tao ứng viên theo cách có thê nắm bắt được trong thời gian ngắn với sự hiểu biết tốt hơn Việc tạo các module dao tạo sử dụng đồ họa máy tính rất đơn giản và rất hữu ích
Trang 10
Hinh dung Ngày nay, nhu câu trực quan hóa mọi thứ đã tăng lên mạnh
mẽ, nhu cầu trực quan hóa có thê thấy ở nhiều công nghệ tiên tiễn, trực quan hoa dit liệu giúp tìm ra những hiểu biết sâu sắc
về dữ liệu, dé kiểm tra và nghiên cứu hành vi của các quá trình xung quanh chúng ta, chúng ta cần trực quan hóa phù hợp có thê đạt được thông qua việc sử dụng hợp lý đồ họa máy tính
Xử lý hình ảnh Nhiêu loại ảnh hoặc hình ảnh khác nhau cân được chỉnh sửa
để sử dụng ở những nơi khác nhau Xử lý hình ảnh hiện có
thành hình ảnh tỉnh tế hơn để diễn giải tốt hơn là một trong nhiều ứng dụng của đồ họa máy tính
Vé may Đồ họa máy tính thường được sử dụng đề thiết kê, sửa đôi và
tạo ra các bộ phận khác nhau của máy và toàn bộ máy, lý do chính đẳng sau việc sử dụng dé hoa may tinh cho muc dich nay là độ chính xác và rõ ràng mà chúng tôi nhận được từ ban
vẽ đó là điều tối thượng và cực kỳ mong muốn đối với chế tạo máy an toàn băng cách sử dụng các bản vẽ này
Giao diện đồ họa người
dùng Việc sử dụng hình ảnh, hình ảnh, biểu tượng, menu bật lên,
đối tượng đồ họa giúp tạo ra một môi trường thân thiện với người dùng, nơi làm việc đễ dàng và dễ chịu, sử dung dé hoa
máy tinh, ching ta co thé tạo ra một bầu không khí nơi mọi
thứ đều có thể được tự động hóa và bất kỳ ai cũng có thé dat duoc diéu mong muốn hành động được thực hiện một cách
dễ dàng
2 Các giải thuật đồ họa cơ bản
2.1 Thuật toán cắt xén — thuật toán Cohen¬Sutherland
Thuật toán này hoạt động bằng cách xác định các điểm giao của đoạn thắng với các cạnh của hình chữ nhật cắt Dựa vào các điểm giao này, đoạn thăng được cắt thành các phần nhỏ hơn, sau đó chỉ những phần nằm hoàn toàn trong hình chữ nhật cắt mới được giữ
lại
Trang 11
Chức năng chính của thuật toán Cohen-Sutherland là tăng tốc độ và hiệu suất khi vẽ các đoạn thăng trên màn hình băng cách loại bỏ hoàn toàn các phân của đoạn thắng nắm ngoài vùng cắt, giảm bớt khối lượng tính toán cần thiết đề vẽ hình ảnh
Ý tưởng
e Hién thi (visible): ca hai dau cuoi cua doan thang déu nam bên trong cửa số
e Khéng hién thi (not visible): đoạn thăng xác định năm ngoài cửa số
e_ Điều này xảy ra khi đoạn thăng từ (x1,y1) đến (x2,y2) thoả màn bất kỳ một
trong bốn bất đẳng thức sau:
x1,x2 >xmaxyl,y2 > ymax x1,x2 < xminyl,y2 < ymin
e Xén tia: doan thang can xén tia
Việc cải đặt giải thuật chia làm hai bước:
Bit 1: diém cuôi ở bên trên cửa sô = sign(y-ymax)
Bít 2: điểm cuôi ở bên dưới cửa sô = sipn(ymin-y)
Bit 3: diém cuôi ở bên phải cửa số = sign(x-xmax)
Bit 4: diém cuôi ở bên trái cửa s6 = sign(xmin-x)
Qui wéc sign(a) = | néu a duong
Trang 12Bước 3: Xét giao điệm:
Chú ý: các đường biên mà điểm cuối được chọn sẽ “đây ngang qua” nhăm thay đổi mã
“1” thành “0” Nếu:
e_ Bít I là l: cắty=ymax
e_ Bít2 là 1: cat y= ymin
e Bit 3 1a 1: cat x=xmax
e Bit 41a L: cat x=xmin
Nhin trén hinh ta có: gọi điểm cuối của đoạn (x1, y1)
e NéuC duoc chon thi duong y=ymin chon dé tinh phan cat nhau (bit 2 = 1)
e NéuD duoc chon thi y=ymax hoac x=xmax (bit | va bit 3 =1)
3 Ung dung cua dé họa máy tính
Đồ họa máy tính là một lĩnh vực quan trọng trong công nghệ thông tin, được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau như trò chơi điện tử, phim ảnh, quảng cáo, thiết kế sản phẩm và nhiều ứng dụng khác Dưới đây là một số công nghệ và công cu dé họa máy tính phô biến và ứng dụng của chúng trong các lĩnh vực đồ họa 2D và 3D:
Trang 13
Công nghệ và Công cụ Đồ họa 2D: Adobe Photoshop: Photoshop là một phần mềm
chỉnh sửa ảnh và đồ họa pho biến nhất thế gidi
Nó được sử dụng cho việc tạo và chỉnh sửa hình ảnh, vẽ minh họa, phục hồi ảnh cũ và nhiều tác
CorelDRAW: CorelDRAW cũng là một công cụ
đồ họa vector, được sử dụng rộng rãi cho việc
thiết kế đồ họa, trang trí, quảng cáo và in ấn Inkscape: Inkscape la mét phan mém đồ họa
vector ma nguồn mở, được sử dụng cho việc tạo
và chỉnh sửa đỗ họa vector, tương tự như
Illustrator va CorelDRAW
Công nghệ và Công cụ Đồ họa 3D:
Autodesk Maya: Maya là một phân mêm đồ họa
3D chuyên nghiệp được sử dụng trong việc tạo
ra hiệu ứng đặc biệt cho phim ảnh, trò chơi điện
tử, và trong công nghiệp phim hoạt hình
Blender: Blender là một phân mém dé hoa 3D
ma nguồn mở mạnh mẽ và đa dạng, được sử dụng cho việc tạo ra đồ họa 3D, hoạt ảnh, trò
chơi điện tử và nhiều ứng dụng khác
Autodesk 3ds Max: 3ds Max là một phần mềm
đồ họa 3D được sử dụng rộng rãi trong các lĩnh
vực như kiến trúc, nội thất, trò chơi điện tử, và
hiệu ứng đặc biệt trong phim ảnh
Cinema 4D: Cinema 4D là một phần mềm đỗ
họa 3D phô biến, được sử dụng cho việc tạo ra
đồ họa 3D, hoạt ảnh, motion graphics và hiệu
ứng đặc biệt trong phim ảnh
Trang 14
nghiệm hấp dẫn và sống động cho người chơi
Phim ảnh và Hiệu ứng đặc biệt: Đồ họa 2D và
3D được sử dụng trong việc tạo ra cảnh quay,
nhân vật và hiệu ứng đặc biệt trong phim ảnh,
giúp tạo ra những bộ phim ấn tượng và hấp dẫn
Thiết kế sản phâm: Trong lĩnh vực thiết kế sản phẩm, đồ họa máy tính được sử dụng dé tạo ra
các mô hình 3D của sản phẩm, giúp cho việc thiết kế, mô phỏng và trình bày ý tưởng trở nên
dé dang va chân thực
Quang cao va Marketing: Dé hoa may tinh được sử dụng rộng rãi trong quảng cao va marketing dé tạo ra các tác phâm quảng cáo, video quảng cáo, hình ảnh sản phẩm chuyên nghiệp và thu hút sự chú ý của khách hàng
Trang 15
CHUONG 2: THIET KE SAN PHẨM ĐỎ HỌA 3D VỚI OPENGL
1 Xây dụng ý tưởng thiết kế
Đề tài lựa chọn: Thiết kế phòng ngủ