lOMoARcPSD| 60701415
BỘ GIÁO DỤC ĐÀ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
HỌC PHẦN: AN TN BẢO MẬT THÔNG TIN
ĐỀ
TÀI 47:
TÌM HIỂU VỀ HÀM BĂM VÀ THUẬT TOÁN MÃ HÓA MD5
Sinh viên thực hiện
Lớp
Khoá
Phạm Đình Duy
DCCNTT12.10.05
K12
Đàm Như Đạt
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
Bắc Ninh, năm 2024
lOMoARcPSD| 60701415
lOMoARcPSD| 60701415
MỤC LỤC
MỤC LỤC ..................................................................................................................................................... 3
GIỚI THIỆU ĐỀ I .................................................................................................................................. 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ KỸ THUẬT ĐỒ HỌA MÁY TÍNH ......................................... 4
1. Các khái niệm cơ bản về ồ họa máy tính ........................................................................................... 4
1.1. Các kĩ thuật trong ồ họa máy tính................................................................................................. 4
1.2. Các lĩnh vực thực tiễn của kỹ thuật ồ họa máy tính..................................................................... 7
2. Các giải thuật ồ họa cơ bản .............................................................................................................. 10
2.1. Thuật toán cắt xén – thuật toán Cohen–Sutherland .................................................................. 10
CHƯƠNG 2: THIẾT KẾ SẢN PHẨM ĐỒ HỌA 3D VỚI OPENGL .................................................... 13
1. Xây dụng ý tưởng thiết kế................................................................................................................. 13
1.1. Các thành phần ồ họa ................................................................................................................. 14
2. Vẽ các ối tượng 3D ............................................................................................................................. 19
3. Thiết kế các nguồn sáng .................................................................................................................... 30
4. Xử lý sự kiện bấm phím ..................................................................................................................... 32
CHƯƠNG 3: KẾT LUẬN.......................................................................................................................... 34
TÀI LIỆU THAM KHẢO ......................................................................................................................... 35
GIỚI THIỆU ĐTÀI
Đề 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 hash code, thể một chuỗi hoặc một số. Quan trọng cần
phải là một hàm không thể ảo ngược, tức là không thể tái tạo dữ liệu ban ầu từ giá trị băm.
MD5 (Message Digest Algorithm 5) 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. MD5 tạo ra một giá trị m
128-bit từ dữ liệu ầu vào có kích thước bất kỳ. Mặc nó từng ược sử dụng phổ biến trong
lOMoARcPSD| 60701415
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 khả năng va chạm (collision attacks) và hiệu suất tính toán kém.
Tuy nhiên, việc hiểu về MD5 vẫn quan trọng 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 suất và ộ bảo mật của các hệ thống thông tin hiện ại.
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ KỸ 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 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 máy tính ược sử dụng khi một tập hợp hình ảnh cần ược xử lý hoặc tạo 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ử 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 thể ược sử dụng trong thiết kế giao diệ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.
một số ng cụ ược sử dụng triển khai Đhọa máy tính. bản tệp tiêu
<graphics.h> trong Turbo-C, Unity dành cho nâng cao và thậm chí OpenGL có thể ược sử
dụng ể Triển khai.
Thuật ngữ 'Đồ họa máy tính' ược ặt ra bởi Verne Hudson William Fetter từ
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ứ:
Thao tác và biểu diễn hình ảnh hoặc dữ liệu theo cách ồ họa.
Cần có nhiều công nghệ khác nhau ể tạo và thao tác.
Tổng hợp kỹ thuật số và 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, 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 quỵ
lOMoARcPSD| 60701415
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ẽ.
1.1.1. Kỹ thuật ịnh vị
Đâ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 dùng chỉ ra vị trí trên màn hình. Để hiển
thị ối tượng, vị trí này ánh dấu vị trí. Ví dụ: vị trí ầu vào 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 di chuyển con
trỏ ến vị trí mong muốn trên màn hình ớc thứ hai, người ng thông báo cho máy
tính bằng cách nhấn phím hoặc nút.
Định vị thường ược sử dụng trong các ng dụng 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.1.2. 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 giá trị tọa ộ nhằm tạo 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:
1.1.2.1. Ràng buộc ịnh hướng
Ràng buộc về hướng ược sử dụng cho oạn thẳng. Về cơ bản nó ược sử dụng ể tạo
các ường ngang và dọc; mà không cần suy nghĩ về tọa ộ iểm cuối. Người dùng chỉ ịnh hai
iểm cuối. Thông thường, chương trình chỉ ịnh ường do người dùng vẽ gần như nằm ngang
lOMoARcPSD| 60701415
hoặc dọc và vẽ ường thẳng song song với trục mà người ó muốn vẽ. Khoảng cách giữa
hai iểm ầu vào là ộ dài của dòng.
1.1.2.2. Ràng buộc mô- un
Ràng 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. Bất
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 nh trên cho thấy 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 ã 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 vì có lực
hấp dẫn giữa các dòng trên màn hình.
lOMoARcPSD| 60701415
Trong 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 u trữ các loại hình ảnh ối
tượng khác nhau.
Một số ứng dụng của ồ họa máy tính:
lOMoARcPSD| 60701415
Nghệ thuật máy tính
Sử dụng họa máy tính, chúng ta thể tạo ra các tác phẩm
nghệ thuật mang tính thương mại 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 chỉ ịnh chuyển ộng của i
tượng. Vẽ hoạt nh, tranh vẽ, thiết kế logo cũng thể ược
thực hiện.
Vẽ có sự trợ giúp của máy
tính
Thiết kế các tòa nhà, ô tô, máy bay ược thực hiện với sự trợ
giúp của bản vẽ có sự hỗ trợ của máy tính, iều này giúp cung
cấp các chi tiết nhỏ cho bản vẽ và tạo ra các bản vẽ chính xác
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 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 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 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 nguyên tắc bản
theo cách dễ hiểu dhọc. Bằng cách sử dụng họa máy
tính, nhiều mô hình giáo dụ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.
lOMoARcPSD| 60701415
Đào tạo
Hệ thống ào tạo chuyên biệt như phỏng thể ược sử dụng
ào tạo ứng viên theo cách 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 ào tạo sử
dụng ồ họa máy tính rất ơn giản và rất hữu ích.
Hình 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 hóa dữ liệu giúp tìm ra những hiểu biết sâu sắc về
dữ liệu, kiểm tra 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ử hình ảnh hiện có thành
hình ảnh tinh 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ẽ máy
Đồ 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 toàn bộ máy, do chính
ằng sau việc sử dụng họa máy nh cho mục ích này
chính xác ràng mà chúng tôi nhận ược từ bản 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 m việc dễ dàng dễ chịu, sử dụng họa máy
tính, chúng ta có thể tạo ra một bầu không khí nơi mọi thứ ều
thể ược tự ộng hóa bất kỳ ai cũng thể t ược iều mong
muốn. hành ộng ược thực hiện một cách dễ dàng.
lOMoARcPSD| 60701415
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.
Chức năng chính của thuật toán Cohen-Sutherland là tăng tốc 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
Hiển thị (visible): cả hai ầu cuối của oạn thẳng ều nằm bên trong cửa sổ
Không hiển thị (not visible): oạn thẳng xác ịnh nằm ngoài cửa sổ.
Đ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 >xmaxy1,y2 > ymax x1,x2 < xminy1,y2 < ymin
Xén tỉa: oạn thẳng cần xén tỉa
Việc cài ặt giải thuật chia làm hai bước:
Bước 1
Gán mã vùng 4-bit cho mỗi iểm cuối của oạn thẳng
Mã vùng ược xác ịnh theo 9 vùng của mặt phẳng mà các iểm cuối nằm vào ó. Một bít
ược cài ặt true (1) hoặc false (0).
Bít 1: iể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ổ = sign(ymin-y) Bít
3: iểm cuối ở bên phải cửa sổ = sign(x-xmax)
Bít 4: iểm cuối ở bên trái cửa sổ = sign(xmin-x) Qui
ước sign(a) = 1 nếu a dương
= 0 nếu a âm
lOMoARcPSD| 60701415
Bước 2
Quá trình kiểm tra vị trí của oạn thẳng so với cửa sổ. Tất cả iểm ầu và iểm cuối của oạn
thẳng ã có mã.
Giải thuật như sau:
Bước 1: Nếu mã của P1 hoặc P2 ều = 0000 thì toàn bộ oạn thẳng thuộc phần
hiển thị. If (P1.Mã OR P2.Mã == 0000) then“ cả oạn thẳng thuộc cửa sổ hiển
thị”
Bước 2: Nếu mã của P1 và P2 có cùng một vị trí mà ở ó P1 và P2 => cùng phía
If (P1.Mã AND P2.Mã != 0000) then “ 2 iểm nằm về 1 phía của cửa sổ”
Bước 3: Xét giao iểm:
Tìm giao iểm của ường thẳng với cửa sổ, chính xác hơn là với phần mở rộng của
ường biên.
Chú ý: các ường biên mà iểm cuối ược chọn sẽ “ ẩy ngang qua” nhằm thay ổi
“1” thành “0” Nếu:
Bít 1 là 1: cắt y=ymax
Bít 2 là 1: cắt y= ymin
Bít 3 là 1: cắt x=xmax
Bít 4 là 1: cắt x=xmin
Nhìn trên hình ta có: gọi iểm cuối của oạn (x1, y1)
Nếu C ược chọn thì ường y=ymin chọn ể tính phần cắt nhau (bít 2 = 1)
Nếu D ược chọn thì y=ymax hoặc x=xmax (bít 1 và bít 3 =1)
lOMoARcPSD| 60701415
3. Ứng dụng của ồ 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 nhiều ứng dụng khác. Dưới ây một số công nghệ công cụ 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:
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 phổ biến nhất thế giới.
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
vụ khác.
Adobe Illustrator: Illustrator là một công cụ ồ
họa vector, ược sử dụng cho việc tạo ra ồ họa
vector như logo, biểu ồ, biểu ồ và nhiều ứng
dụng khá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 là một phần mềm ồ họa
vector mã 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 và 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 ồ họa 3D mã
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.
lOMoARcPSD| 60701415
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.
Ứng dụng của Đồ họa Máy tính:
Trò chơi iện tử: Đồ họa máy tính ược sử dụng ể
tạo ra cảnh quan, nhân vật và hiệu ứng ặc biệt
trong trò chơi iện tử, tạo ra trải 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 ể 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ễ
dàng và chân thực.
Quảng cáo và Marketing: Đồ họa máy tính ược
sử dụng rộng rãi trong quảng cáo và marketing
ể 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.
CHƯƠNG 2: THIẾT KẾ SẢN 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ủ
lOMoARcPSD| 60701415
1.1. Các thành phần ồ họa
1.1.1. Các ối tượng ồ họa
Giường. Nệm,
Gối, Chăn
E
Tủ
lOMoARcPSD| 60701415
Đèn ngủ
Bóng èn
Cửa sổ
lOMoARcPSD| 60701415
Thảm
Bàn trang iểm,
Gương
Điều hòa
lOMoARcPSD| 60701415
Đồng hồ
Bóng
lOMoARcPSD| 60701415
Tranh
1.1.2. Nguồn sáng
Nguồn sáng 1 (Light left): Nguồn sáng tại bên trái ược gán cho èn bên trái trên
tường.
Nguồn sáng 2 (Light right): Nguồn sáng tại bên phải ược n cho èn bên phải trên
tường.
Nguồn sáng 3 (Spotlight): Nguồn sáng ịnh hướng ược gán cho bóng èn ngủ.
1.1.3. Sơ ồ bố trí các thành phần ồ họa
Sử dụng Roomstyler - Design, Style and Remodel Your Home (powered by
Floorplanner), thiết kế và mô phòng căn phòng bằng giả lập và các công cụ có sẵn, nhóm
em ã phác thảo ra căn phòng cùng với các thành phần ồ họa ược liệt kê ở trên như sau:
lOMoARcPSD| 60701415
2. Vẽ các ối tượng 3D
Tường, sàn, trần, èn
//San glPushMatrix();
glTranslatef(0, -1.5,
0); glScalef(3, .1, 7);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6],
V[7], 0.902, 0.902, 0.980);
glPopMatrix();
//Tuong phai
glPushMatrix();
glTranslatef(-3, 0, 0);
glRotatef(90, 0, 0, 1);
glScalef(1.5, .1, 7);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6],
V[7], 0.502, 0.502, 0.502);
glPopMatrix();
//Tuong trai
glPushMatrix();
glTranslatef(3, 0, 0);
glRotatef(90, 0, 0, 1);
glScalef(1.5, .1, 7);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6],
V[7], 0.502, 0.502, 0.502);
glPopMatrix();
//Tuong sau
glPushMatrix();
glTranslatef(0, 0, -3.6);
//glRotatef(90,0,0,1);
glScalef(3.1, 3, .1);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6],
V[7], 0.502, 0.502, 0.502);
glPopMatrix();
//Tran glPushMatrix();
glTranslatef(0, 1.5,
0);
lOMoARcPSD| 60701415
glScalef(3, .1, 7);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6],
V[7], 1.000, 0.937, 0.835);
glPopMatrix();
//Den phai 1
glPushMatrix();
//glTranslatef(-2.9,1.0, 0.0);
//glScalef(.1,.1,.8);
glTranslatef(3, 1, -.5);
glScalef(.1, .1, 1);
//glRotatef(90,0,1,0);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6],
V[7], 1, 1, 1);
glPopMatrix();
//Den trai 2
glPushMatrix();
//glTranslatef(-2.9,1.0, 0.0);
//glScalef(.1,.1,.8); glTranslatef(-
3, 1, -.5); glScalef(.1, .1, 1);
//glRotatef(90,0,1,0);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6],
V[7], 1, 1, 1);
glPopMatrix();

Preview text:

lOMoAR cPSD| 60701415
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
HỌC PHẦN: AN TOÀN BẢO MẬT THÔNG TIN
ĐỀ TÀI 47: TÌM HIỂU VỀ HÀM BĂM VÀ THUẬT TOÁN MÃ HÓA MD5
Sinh viên thực hiện Lớp Khoá Phạm Đình Duy DCCNTT12.10.05 K12 Đàm Như Đạt 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 Bắc Ninh, năm 2024 lOMoAR cPSD| 60701415 lOMoAR cPSD| 60701415 MỤC LỤC
MỤC LỤC ..................................................................................................................................................... 3
GIỚI THIỆU ĐỀ TÀI .................................................................................................................................. 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ KỸ THUẬT ĐỒ HỌA MÁY TÍNH ......................................... 4
1. Các khái niệm cơ bản về ồ họa máy tính ........................................................................................... 4
1.1. Các kĩ thuật trong ồ họa máy tính................................................................................................. 4
1.2. Các lĩnh vực thực tiễn của kỹ thuật ồ họa máy tính..................................................................... 7
2. Các giải thuật ồ họa cơ bản .............................................................................................................. 10
2.1. Thuật toán cắt xén – thuật toán Cohen–Sutherland .................................................................. 10
CHƯƠNG 2: THIẾT KẾ SẢN PHẨM ĐỒ HỌA 3D VỚI OPENGL .................................................... 13
1. Xây dụng ý tưởng thiết kế................................................................................................................. 13
1.1. Các thành phần ồ họa ................................................................................................................. 14
2. Vẽ các ối tượng 3D ............................................................................................................................. 19
3. Thiết kế các nguồn sáng .................................................................................................................... 30
4. Xử lý sự kiện bấm phím ..................................................................................................................... 32
CHƯƠNG 3: KẾT LUẬN.......................................................................................................................... 34
TÀI LIỆU THAM KHẢO ......................................................................................................................... 35
GIỚI THIỆU ĐỀ TÀI
Đề 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ể tái 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. MD5 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 kỳ. Mặc dù nó từng ược sử dụng phổ biến trong lOMoAR cPSD| 60701415
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 khả năng va chạm (collision attacks) và hiệu suất tính toán kém.
Tuy nhiên, việc hiểu về MD5 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 suất và ộ bảo mật của các hệ thống thông tin hiện ại.
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ KỸ 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 máy tính ược sử dụng khi một tập hợp hình ảnh cần ược xử lý hoặc tạo 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 diệ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 ề
trong Turbo-C, Unity dành cho nâng cao và thậm chí OpenGL có 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 từ
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ứ:
• Thao tác và biểu diễn hình ảnh hoặc dữ liệu theo cách ồ họa.
• Cần có nhiều công nghệ khác nhau ể tạo và thao tác.
• Tổng hợp kỹ thuật số và 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 quỵ lOMoAR cPSD| 60701415
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ẽ.
1.1.1. Kỹ thuật ịnh vị
Đâ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 dùng chỉ ra vị trí trên màn hình. Để hiển
thị ối tượng, vị trí này ánh dấu vị trí. Ví dụ: vị trí ầu vào 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 di 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.
Định 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.1.2. 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 giá trị tọa ộ nhằm tạo 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:
1.1.2.1. Ràng buộc ịnh hướng
Ràng buộc về hướng ược sử dụng cho oạn thẳng. Về cơ bản nó ược sử dụng ể tạo
các ường ngang và dọc; mà không cần suy nghĩ về tọa ộ iểm cuối. Người dùng chỉ ịnh hai
iểm cuối. Thông thường, chương trình chỉ ịnh ường do người dùng vẽ gần như nằm ngang lOMoAR cPSD| 60701415
hoặc dọc và vẽ ường thẳng song song với trục mà người ó muốn vẽ. Khoảng cách giữa
hai iểm ầu vào là ộ dài của dòng.
1.1.2.2. Ràng buộc mô- un
Ràng 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. Bất
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 hình 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 vì có lực
hấp dẫn giữa các dòng trên màn hình. lOMoAR cPSD| 60701415
Trong 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: lOMoAR cPSD| 60701415
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ẽ có sự trợ giúp của máy
Thiết kế các tòa nhà, ô tô, máy bay ược thực hiện với sự trợ tính
giúp của bản vẽ có sự hỗ trợ của máy tính, iều này giúp cung
cấp các chi tiết nhỏ cho bản vẽ và tạo ra các bản vẽ chính xác
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 cách dễ hiểu và dễ học. Bằng cách sử dụng ồ họa máy
tính, nhiều mô hình giáo dụ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. lOMoAR cPSD| 60701415 Đào tạo
Hệ thống ào tạo chuyên biệt như mô phỏng có thể ược sử dụng
ể ào tạo ứ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 ào tạo sử
dụng ồ họa máy tính rất ơn giản và rất hữu ích. Hình 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 hóa dữ liệu giúp tìm ra những hiểu biết sâu sắc về
dữ liệu, ể 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 tinh 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ẽ máy
Đồ 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 ồ họa máy tính cho mục ích này là ộ
chính xác và rõ ràng mà chúng tôi nhận ược từ bản 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
Việc sử dụng hình ảnh, hình ảnh, biểu tượng, menu bật lên, ối dùng
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ễ dàng và dễ chịu, sử dụng ồ họa máy
tính, chúng ta có 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ể ạt ược iều mong
muốn. hành ộng ược thực hiện một cách dễ dàng. lOMoAR cPSD| 60701415
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.
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
• Hiển thị (visible): cả hai ầu cuối của oạn thẳng ều nằm bên trong cửa sổ
• Không hiển thị (not visible): oạn thẳng xác ịnh nằm ngoài cửa sổ.
• Đ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 >xmaxy1,y2 > ymax x1,x2 < xminy1,y2 < ymin
• Xén tỉa: oạn thẳng cần xén tỉa
Việc cài ặt giải thuật chia làm hai bước: Bước 1
Gán mã vùng 4-bit cho mỗi iểm cuối của oạn thẳng
Mã vùng ược xác ịnh theo 9 vùng của mặt phẳng mà các iểm cuối nằm vào ó. Một bít
ược cài ặt true (1) hoặc false (0).
Bít 1: iể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ổ = sign(ymin-y) Bít
3: iểm cuối ở bên phải cửa sổ = sign(x-xmax)
Bít 4: iểm cuối ở bên trái cửa sổ = sign(xmin-x) Qui
ước sign(a) = 1 nếu a dương = 0 nếu a âm lOMoAR cPSD| 60701415 Bước 2
Quá trình kiểm tra vị trí của oạn thẳng so với cửa sổ. Tất cả iểm ầu và iểm cuối của oạn thẳng ã có mã. Giải thuật như sau:
• Bước 1: Nếu mã của P1 hoặc P2 ều = 0000 thì toàn bộ oạn thẳng thuộc phần
hiển thị. If (P1.Mã OR P2.Mã == 0000) then“ cả oạn thẳng thuộc cửa sổ hiển thị”
• Bước 2: Nếu mã của P1 và P2 có cùng một vị trí mà ở ó P1 và P2 => cùng phía
If (P1.Mã AND P2.Mã != 0000) then “ 2 iểm nằm về 1 phía của cửa sổ”
• Bước 3: Xét giao iểm:
Tìm giao iểm của ường thẳng với cửa sổ, chính xác hơn là với phần mở rộng của ường biên.
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:
• Bít 1 là 1: cắt y=ymax
• Bít 2 là 1: cắt y= ymin
• Bít 3 là 1: cắt x=xmax
• Bít 4 là 1: cắt x=xmin
Nhìn trên hình ta có: gọi iểm cuối của oạn (x1, y1)
• Nếu C ược chọn thì ường y=ymin chọn ể tính phần cắt nhau (bít 2 = 1)
• Nếu D ược chọn thì y=ymax hoặc x=xmax (bít 1 và bít 3 =1) lOMoAR cPSD| 60701415
3. Ứng dụng của ồ 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 cụ ồ 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:
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 phổ biến nhất thế giới.
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 vụ khác.
• Adobe Illustrator: Illustrator là một công cụ ồ
họa vector, ược sử dụng cho việc tạo ra ồ họa
vector như logo, biểu ồ, biểu ồ và nhiều ứng dụng khá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 là một phần mềm ồ họa
vector mã 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 và 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 ồ họa 3D mã
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. lOMoAR cPSD| 60701415
• 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.
Ứng dụng của Đồ họa Máy tính:
• Trò chơi iện tử: Đồ họa máy tính ược sử dụng ể
tạo ra cảnh quan, nhân vật và hiệu ứng ặc biệt
trong trò chơi iện tử, tạo ra trải 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 ể 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ễ dàng và chân thực.
• Quảng cáo và Marketing: Đồ họa máy tính ược
sử dụng rộng rãi trong quảng cáo và marketing
ể 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.
CHƯƠNG 2: THIẾT KẾ SẢN 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ủ lOMoAR cPSD| 60701415
1.1. Các thành phần ồ họa
1.1.1. Các ối tượng ồ họa Giường. Nệm, Gối, Chăn E Tủ lOMoAR cPSD| 60701415 Đèn ngủ Bóng èn Cửa sổ lOMoAR cPSD| 60701415 Thảm Bàn trang iểm, Gương Điều hòa lOMoAR cPSD| 60701415 Đồng hồ Bóng lOMoAR cPSD| 60701415 Tranh
1.1.2. Nguồn sáng
• Nguồn sáng 1 (Light left): Nguồn sáng tại bên trái ược gán cho èn bên trái trên tường.
• Nguồn sáng 2 (Light right): Nguồn sáng tại bên phải ược gán cho èn bên phải trên tường.
• Nguồn sáng 3 (Spotlight): Nguồn sáng ịnh hướng ược gán cho bóng èn ngủ.
1.1.3. Sơ ồ bố trí các thành phần ồ họa
Sử dụng Roomstyler - Design, Style and Remodel Your Home (powered by
Floorplanner), thiết kế và mô phòng căn phòng bằng giả lập và các công cụ có sẵn, nhóm
em ã phác thảo ra căn phòng cùng với các thành phần ồ họa ược liệt kê ở trên như sau: lOMoAR cPSD| 60701415
2. Vẽ các ối tượng 3D
Tường, sàn, trần, èn //San glPushMatrix(); glTranslatef(0, -1.5, 0); glScalef(3, .1, 7);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6], V[7], 0.902, 0.902, 0.980); glPopMatrix(); //Tuong phai glPushMatrix(); glTranslatef(-3, 0, 0); glRotatef(90, 0, 0, 1); glScalef(1.5, .1, 7);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6], V[7], 0.502, 0.502, 0.502); glPopMatrix(); //Tuong trai glPushMatrix(); glTranslatef(3, 0, 0); glRotatef(90, 0, 0, 1);
glScalef(1.5, .1, 7);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6], V[7], 0.502, 0.502, 0.502); glPopMatrix(); //Tuong sau glPushMatrix(); glTranslatef(0, 0, -3.6); //glRotatef(90,0,0,1); glScalef(3.1, 3, .1);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6], V[7], 0.502, 0.502, 0.502); glPopMatrix(); //Tran glPushMatrix(); glTranslatef(0, 1.5, 0); lOMoAR cPSD| 60701415 glScalef(3, .1, 7);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6], V[7], 1.000, 0.937, 0.835); glPopMatrix(); //Den phai 1 glPushMatrix();
//glTranslatef(-2.9,1.0, 0.0); //glScalef(.1,.1,.8); glTranslatef(3, 1, -.5); glScalef(.1, .1, 1); //glRotatef(90,0,1,0);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6], V[7], 1, 1, 1); glPopMatrix(); //Den trai 2 glPushMatrix();
//glTranslatef(-2.9,1.0, 0.0);
//glScalef(.1,.1,.8); glTranslatef(-
3, 1, -.5); glScalef(.1, .1, 1); //glRotatef(90,0,1,0);
cube3(V[0], V[1], V[2], V[3], V[4], V[5], V[6], V[7], 1, 1, 1); glPopMatrix();