Lời nói đầu Trong thời đại ngày nay đồ họa máy tính được ứng dụng rộng rãi trong rất nhiều các lĩnh vực khoa học và kỹ thuật.. Công nghệ dé hoa da mang lại cho con người chúng ta v6 van
Trang 1TRUONG DAI HOC HOA BINH KHOA CONG NGHE THONG TIN & DIEN TU VIEN THONG
Sinh viên thực hiện
Giáng viên hướng dẫn
Ngành Lớp
Vũ Ủy Vũ Phạm Thị Bích Ngọc
Lê Nhật Trường Ths Ngô Thị Oanh Công nghệ thông tin 521CNT
ĐÈ TÀI: Viết chương trình vẽ lá cờ tô quốc (cờ đỏ sao vàng)
HÀ NỘI - È0È3
Trang 2TRUONG DAI HOC HOA BINH KHOA CONG NGHE THONG TIN & DIEN TU VIEN THONG
DE TÀI: Viết chương trình vẽ lá cờ tô quốc (cờ đỏ sao vàng)
Thuật toán và triển khai thuật
2_ |Lê Nhật Trường SEICNT1051 „
Trang 3Lời nói đầu
Trong thời đại ngày nay đồ họa máy tính được ứng dụng rộng rãi trong rất nhiều các lĩnh vực khoa học và kỹ thuật Công nghệ dé hoa da mang lại cho con người chúng ta v6 van su tiện nehi, những trải nehiệm mới lạ và chân thực, có thể nói đồ họa máy tính đã trở thành một trong những công cụ không thể thiếu trong công việc cũng như sinh hoạt và giải trí của mỗi người và mang đến cho chúng ta những trải nghiệm trước đây chưa từng có vì vậy nghiên cứu về đồ họa máy tính có tầm quan trọng vô cùng đặc biệt trong rất nhiều các lĩnh vực khác nhau
Vậy đồ họa máy tính là gì ? Đồ họa máy tính là phương pháp và công nghệ dùng trong việc chuyên đổi qua lại giữa đữ liệu và hình ảnh bằng máy tính Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu về ở toán học, các thuật
toán cũng như các kỹ thuật máy tính cho phép để tạo, hiến thị và điều khiển hình ảnh,
video trên màn hình máy tính Đồ họa máy tính có liên quan ít nhiều đến một số lính vực như đại SỐ, hình học giải tích, hình học họa hình, quang học, lập trình máy tính,
kỹ thuật máy tính, đặc biệt là chế tạo phần cứng
Việc mô tả dữ liệu thông qua các hình ảnh và màu sắc đa dạng của nó, các chương trình đỗ họa thường thu hút người sử đụng bởi tính thân thiện, dé dùng, kích thích khả năng sáng tạo và nâng cao năng suất làm việc
Nhận thấy duoc dé hoa máy tính là công cụ không thê thiếu trong nhiều lĩnh vực, vậy nên qua quá trình học tập và nghiên cứu môn học cùng với sự chỉ dạy tân tình của cô Ngô Thị Oanh nhóm chúng em đã chọn đề tài “ Viết chương trình vẽ lá cờ
tô quốc” làm đề tài bài tập lớn cảu mình
Chúng em xin gửi lời cảm ơn chân thành tới cô Ngô Thị Oanh các các thầy cô trong khoa Công Nghệ Thông Tin và Điện Tử Viễn Thông đã chỉ bảo, hướng dẫn và giúp đỡ chúng em đề có thể hoàn thành tốt báo cáo của mình
Trang 4CHUONG 1: GIỚI THIỆU VẺ ĐỎ HỌA MAY TINH VA THUAT TOAN
Đâu tiên, đồ hoạ máy tính là gì? Đồ họa máy tính là một lĩnh vực đa ngành xoay quanh việc tạo nội dung trực quan bằng công nghệ máy tính Đó không chỉ là tạo ra hình ảnh mà còn là việc truyền tải thông tin, kế chuyện và khơi gợi cảm xúc thông qua hình ảnh Từ các biểu tượng trên điện thoại thông minh của bạn đến những chi tiết đồ họa trong trò chơi điện tử, đồ họa máy tính có ở khắp mọi nơi Nó kết hợp các nguyên tắc nghệ thuật, toán học và khoa học máy tính để tạo ra một loạt nội dung trực quan
Đồ hoạ máy tính 1.È Lịch sử của đồ họa máy tính
Sự ra đời của đỗ họa máy tính có thể bắt nguồn từ đầu những năm 19ã0 khi những hình ảnh do máy tính lần đầu tiên được tạo ra Lúc này, đó chỉ là những dé hoạ đơn giản và thô sơ Tuy nhiên, khi công nghệ ngày càng phát triển, độ phức tạp và tính chân thực của những đồ họa này cũng tăng theo
Những năm 19ụ0 và 1960 chứng kiến sự trỗi dậy của trò chơi điện tử và sự ra đời của
giao diện người dùng đồ họa Đến những năm 1990, phim bắt đầu kết hợp nhiều hình
ảnh do máy tính tạo ra (CGI), dẫn đến những bộ phim có hình ảnh ấn tượng mà chúng
ta thấy ngày nay Sự phát triển này được thúc đây bởi cả tiễn bộ công nghệ và khả năng sáng tạo vô tận của các chuyên g1a trong lĩnh vực này
Trang 51.3 Các loại đồ họa máy tính
Đồ họa máy tính có thể được phân loại thành nhiều loại khác nhau, mỗi loại có những đặc điểm và ứng dung riéng:
D6 hoa 2D hay đồ hoạ hai chiều là những hình ảnh phẳng không có chiều sâu Chúng
chủ yếu được sử dụng trong minh họa, thiết kế đồ họa và một số loại hoạt hình nhất
định Hãy nghĩ đến những bộ phim hoạt hình bạn đã xem khi còn nhỏ hoặc các biểu
tượng trên màn hình của bạn; đây là những ví dụ về đồ họa 2D Chúng dựa vào các hình dạng hình học cơ bản và hệ tọa độ XY gồm chiều cao và chiều rộng
Đồ họa 3D hay đỗ hoạ ba chiều giúp thêm chiều sâu vào hình ảnh đồ hoạ Kiểu biểu diễn đồ họa này được sử dụng trong trò chơi điện tử, phim ảnh và kiến trúc trực quan hóa Đồ họa 3D được tạo bằng đa giác và chúng có thể được xoay và xem từ mọi sóc
độ Với sự ra đời của công nphệ, đồ họa 3D đã trở nên chân thực đến khó tin, xóa mờ
ranh giới giữa ảo và thực
Đồ hoạ 3D
Hoat hinh hay Animation lam cho đồ họa trở nên sống động Đó là nghệ thuật tạo ra
ảo giác chuyền động thông qua một chuỗi hình ảnh hoặc khung hình Đồ họa hoạt
hình có thể là cả 2D và 3D Được ứng dụng trong những bộ phim kinh điển của
Disney cho đến những bé phim bom tấn sử dụng CGI mới nhất, Animation có khả
năng kế chuyện, giải trí và giáo đục theo những cách mà hình ảnh tĩnh không thể làm được
1.4 Tầm quan trọng của máy tính
Trong thời đại kỹ thuật số ngày nay, đồ họa máy tính đã trở thành một phần không thể thiêu trong cuộc sông hàng noày của chúng ta Chúng đóng vai trò là câu nội p1ữa
Trang 6nhận thức của con người và thế giới kỹ thuật số, nâng cao cách chúng ta tương tác với cong nghé Tam quan trong cua do hoa may tính không chỉ dừng lại ở tính thâm mỹ Chúng đóng một vai trò quan trọng trong việc đơn gian hóa đữ liệu phức tạp, làm cho thông tin dé hiéu hon va nâng cao trải nghiệm người dùng Cho dù đó là giao diện
người dùng của ứng dụng phần mềm, hiệu ứng hình ảnh trong phim hay môi trường
sông động trong trò chơi điện tử, đồ họa máy tính đều góp phần làm cho các tương tác
kỹ thuật số của chúng ta trở nên hấp dẫn và trực quan hơn
1.5 Ứng dụng của dé hoa may tinh
Các ứng dụng của đồ họa máy tính rất rộng lớn và đa dạng, chạm đến hầu hết mọi ngành và khía cạnh của cuộc sông chúng ta:
Trò chơi điện tử
Ngành công nghiệp øame có được sự tăng trưởng bùng nỗ và phô biến phân lớn là nhờ
những tiễn bộ trong đồ họa máy tính Trò chơi điện tử hiện đại mang đến cho người
chơi môi trường siêu thực, thiết kế nhân vật phức tạp và hiệu ứng ánh sáng sống, động Những yêu tố hình ảnh này, kết hợp với cách kế chuyện hấp dẫn, mang đến trải nghiệm sông động mà từng được cho là không thê Khi công nghệ tiếp tục phát triển,
ranh giới giữa thế giới game ảo và thực tế ngày càng trở nên mờ nhạt
Trang 7
Phim va hoat hinh Thực tế ảo
Thực tế ảo (VR) là minh chứng cho sức mạnh của đồ họa máy tính VR mang đến cho
người dùng trải nghiệm hoản toản hấp dẫn, đưa họ đến các thế giới khác nhau hoặc
mô phóng các tình huống thực tế Cho dù đó là dé choi game, mô phỏng đào tạo hay
du lịch ảo, VR đều dựa chủ yêu vào đô họa chat lượng cao đê tạo ra môi trường hâp
dân
Hình ảnh y tế
Trong lĩnh vực y tế, đồ họa máy tính đã trở nên không thể thiếu Họ hỗ trợ các chuyên gia chăm sóc sức khỏe trong việc trực quan hóa dữ liệu y tế phức tạp, đưa ra chân đoán và lập kế hoạch phẫu thuật Các công cụ như quét MRI và CT tạo ra hình ảnh chỉ tiết về cơ thể con người, sau đó được hién thị bằng dé hoa may tinh dé cung cap hinh ảnh 3D rõ ràng hơn Điều này không chỉ hỗ trợ chân đoán chính xác ma còn giúp truyền tải bệnh nhân về tỉnh trạng của họ
1.6 Công cụ và phần mềm dành cho đồ họa máy tính
Lĩnh vực đô họa máy tính rât rộng lớn và đê ứng dụng nó một cách hiệu quả, các chuyên gia phải dựa vào nhiêu công cụ và phân mêm chuyên dụng Những công cụ này đóng vai trò là xương sông đề tạo, chỉnh sửa và hiện thị nội dung đô họa:
‹« - Phần mềm thiết kế đồ họa: Các công cụ như Adobe Photoshop, Illustrator và CorelDRAW la nhitng cong cu chu yếu dành cho các nhà thiết kế đồ họa
Chúng cung cấp rất nhiều tính năng đề chỉnh sửa hình ảnh, tạo đồ họa vector vả
thiết kế bố cục
»« = Tạo mô hình và hoạt hình 3D: Các phần mềm như Maya va 3DS Max, Blender
va Cinema aD cua Autodesk duoc su dung để tạo các mô hình ba chiều, tạo
Trang 8hoạt ảnh cho chúng và hiển thị các cảnh chí tiết Những công cụ này rất cần
thiết cho việc sản xuất phim, phát triển trò chơi va trực quan hóa kiến trúc
« - Vẽ tranh kỹ thuật số: Các ứng dụng như Procreate, Adobe Fresceo và Corel
Painter giúp các nghệ sĩ có thê vẽ kỹ thuật số, bắt chước các phương tiện truyền thông như màu nước, dầu và phấn màu
e Chinh stra video: Adobe Premiere Pro, Final Cut Pro va DaVinci Resolve la
các tiêu chuẩn ngành đề chỉnh sửa video, cho phép các chuyên gia cắt, chỉnh màu và thêm hiệu ứng cho video cua ho
«Thiết kế và phát triển web: Các công cụ như Adobe Dreamweaver, Webflow và WordPress cung cấp nền tảng đề thiết kế và phát triển trang web, tích hợp cả thiết kế trực quan và mã hóa
1.7 Tương lai của ngành dé hoa may tinh
Đồ họa máy tính đã có những bước phát triển nhanh chóng gan đây và tương lai của
nó thậm chí còn có vẻ hứa hẹn hơn Khi công nghệ tiếp tục phát triển, các khả năng và ứng dụng của đỗ họa máy tính cũng sẽ gia tăng:
« - Thực tế tăng cường (AR) và Thực tế hỗn hợp (MR): Trong khi Thực tế ảo đưa
người dùng vào một môi trường kỹ thuật so hoan toan thi AR va MR kết hợp
kỹ thuật số với thế giới thực Sự kết hợp này mang đến những khả năng vô tận,
từ trải nphiệm mua sam tương tác đến hệ thống định vị tiên tiến
« - Thiết kế dựa trên AI: Trí tuệ nhân tạo được thiết lập để đóng một vai trò quan
trong trong quá trình thiết kế AI có thể hỗ trợ tự động hóa các tác vụ lặp đi lặp
lại, dự đoán xu hướng thiết kế và thậm chí sáng tạo nội dung
« - Hình ba chiều: Ý tưởng về hình ba chiều 3D, từng là khái niệm khoa học viễn tưởng, đang tiền gan hơn đến thực tế Màn hình ba chiều có thể cách mạng hóa
các ngành công nghiép nhu giai tri, giao dục và chăm sóc sức khóe
« - Chú nghĩa hiện thực cao hơn: Với những, tiến bộ trong kỹ thuật kết xuất và khả
năng phần cứng, ranh giới giữa thực tế và hình ảnh do máy tính tạo ra sẽ cảng
trở nên mờ nhạt hơn Điêu này sẽ đặc biệt rõ ràng trong các trò chơi điện tử mô phỏng
« _ Thiết kế bên vững: Khi mối quan tâm về môi trường ngày càng tăng ngành
thiết kế sẽ hướng tới các hoạt động bên vững hơn, tối ưu hóa các thiết kế để tiết kiệm năng lượng và giảm thiêu chất thải
Kết luận
Vậy là Glints đã cùng bạn tìm hiểu đồ hoạ máy tính là gì và những ứng dụng đặc sắc của nó Lĩnh vực đồ họa máy tính là minh chứng cho sự khéo léo của con người và sự theo đuôi không ngừng nghỉ trong việc kết hợp nghệ thuật với công nghệ Khi chúng
ta đang đứng trước những đột phá về công nghệ, ranh giới của những gì có thể làm
được trong đỗ họa máy tính tiếp tục mở rộng
Cho dù đó là thế ĐIớI sống động của thực tế ảo hay hình ảnh chân thực trong y tế, đồ họa máy tính sẽ vẫn là một phân không thê thiêu trong việc định hình tương lai kỹ
Trang 9thuật sô của chúng ta Khai thác tiêm năng của nó sẽ không chỉ nâng cao trải nghiệm
hình ảnh mà còn xác định lại cách chúng ta tương tác với thê piới kỹ thuật sô
È.Thuật toán
È.1.Thuật toán là gì ?
Thuật toán là nên tảng cơ bản của ngành lập trình dữ liệu Thuật toán bao gồm các vấn
đề về quy tắc, các chỉ thị, phương thức nhằm hoàn thành những tiêu chí, trạng thái ban đầu Các yêu cầu được sắp xếp thành trình tự triệt đề thì thoạt toán sẽ đem lại kết quả chính xác
Hiểu đơn giản hơn, thuật toán là cả l quy trình, trong đó có các quy tắc đề giải quyết
những vấn đề nằm trong phạm vi dữ liệu hữu hạn nào đó Và mục đích của thuật toán
chính là cho kết quả, hướng giải quyết đữ kiện và vẫn đề
Mỗi nền tảng khác nhau như mạng xã hội, ứng dụng, tìm kiếm đều sẽ có những
thuật toán riêng, cách lập trình riêng đem lại những kết quả khác nhau và có bộ quy tắc khác nhau
Ê.È.Phân loại thuật toán
2.2.1Phâm loại theo tinh ning
Đối với việc phân chia dựa vào tính năng, thuật toán được phân chia thành các loại cơ bản sau:
e© Thuật toán tìm kiếm: là loại thuật toán áp dụng để tìm kiếm các đữ liệu,
thông tin trong 1 tập hợp và bao gồm các phân tử khác nhau
e _ Thuật toán sắp xếp được biết đến đề sắp xếp các thứ tự trong từng phân tử của | tập hợp theo cách khoa học, đáp ứng được yêu cầu logic
e©_ Thuật toán đồ thị là dạng thuật toán sử dụng để xử ly các vấn đề liên quan đến bài có sử dụng đồ thị
2.2.2.Phân loại theo cách thức thực hiện
Cách phân loại thứ hai đó là theo cách thức thực hiện Cách phân loại này chia thuật toán thành 2 loại chính đó là:
e©_ Thuật toán chia để trị: nói cách dễ hiểu hơn, nó sẽ chia bài toán lớn thành các phân nhỏ, chia vân đề lớn thành những vân đề nhỏ đề xử lý và giải quyêt dân
® Thuật toán tham lam: Đây là dạng thuật toán thay đôi trạng thái của bài toán thông qua những hành động cụ thê Nó giúp người giải quyết co thé tiếp cận vấn đè từ từ dé tìm ra hướng giải quyết nhanh chóng và hiệu quả hơn
È.3.Tính chất của thuật toán
Thuật toán có 5 tính chất cơ bản sau đây:
® Tính chính xác
Tính chính xác là tính chất tiêu biểu, đầu tiên khi nhắc đến thuật toán Nó là một trong
những yếu tô quan trọng hàng đầu đảm bảo kết quả cũng như thao tác thực hiện chính xác, hiệu quả va kha thi hon trong các bài toán và công thức
Trang 10® Tính rõ ràng minh bạch
Tính chất thứ 2 của thuật toán là sự rõ ràng, minh bạch Tính chất này được thực hiện trên nguyên tắc lệnh Các câu lệnh trong thuật toán đưa ra rõ ràng, dễ hiểu va được sắp xếp theo trình tự nhất định
® Tính khách quan
Tính khách quan là đặc trưng của thuật toán, bởi nó được thực hiện bởi hệ thống máy tính hay con người cũng đều phải đưa ra kết quả giống nhau, duy nhất, chỉ 1 kết quả Kết quả sẽ được đưa ra bởi 2 phương pháp này không tương đồng thì cần xem xét lại
bởi điều đó chứng tỏ thuật toán sai hoặc vô lý
® Tinh pho dung
Tinh phố dụng cũng là đặc trưng tiêu biéu của thuật toán, nó đòi hoi tính ứng dụng
cao Nó không chỉ dùng để giải quyết duy nhất 1 bài toán mà còn có khả năng giải
quyết được những bải toán tương tự
© Tính kết thúc
Thuật toán nhất định không thể thiếu tính kết thúc Bởi nó là tập hợp hữu hạn vì thé,
luôn có điểm kết thúc, điểm kết thúc chính là kết quả đã tìm ra phù hợp
È.4.Vai trò của thuật toán
Về cơ bản, những vai trò của thuật toán bao gồm:
Thuật toán là một thành phần quan trọng, nhất định không thê thiếu khi người dùng tiếp cận các vấn đề liên quan đến lập trình dữ liệu
Thuật toán mang đến hiệu qua cao, 1a thành phần giúp các chương trình hoạt động
hiệu quả hơn với tốc độ xử lý vấn đề nhanh chóng và tiết kiệm tối ưu tải nguyên
Thuật toán là căn cứ giúp lập trình viên có thê hiểu rõ hơn, sâu hơn về ứng dụng và
chương trình cần chạy
CHUONG E: GIÁI QUYẾT BÀI TOÁN
È.1 Đặt vẫn đề bài toán