Download miễn phí Xây dựng hệ thư viện đồ họa BKGraphics và các phần mềm ứng dụng trong đào tạo kỹ thuật đồ họa
Ứng dụng các giải thuật sinh hình fractal, được xây dựng trong lớp CBKFractal, bao gồm [7]:
− Giải thuật sinh hình cây (Tree)
− Giải thuật sinh hình kim tựtháp (Sierpinski )
− Giải thuật sinh hình bọt (Sponge)
− Giải thuật sinh hình chữthập (Cross)
− Giải thuật sinh núi (Mountains)
− Giải thuật sinh đảo (Islands)
− Giải thuật sinh lửa (Fire)
Trong phần mềm minh hoạnày chúng tôi cũng cài đặt các giải thuật sinh Fractal khác trên cơ
sởcác giải thuật Mandelbrot, tập hợp Julia, các giải thuật Barnsley và Newton, các giải thuật dựa
trên lý thuyết xác xuất
http://s1.liketly.com/flash/edoc/jh2i1fkjb33wa7b577g9lou48iyvfkz6-swf-2014-01-07-xay_dung_he_thu_vien_do_hoa_bkgraphics_va_cac_phan.QEON6QsJRG.swf /tai-lieu/de-tai-ung-dung-tren-liketly-54032/Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí
Tóm tắt nội dung tài liệu:
Xây dựng hệ thư viện đồ họa BKGraphics
và các phần mềm ứng dụng trong đào tạo
kỹ thuật đồ họa
Developing the BKGraphics Library and Application
Softwares for Teaching Computer Graphics
Huỳnh Quyết Thắng , Lê Tấn Hùng
Abstract: Advanced Computer Graphics and Virtual Reality is common knowledge for IT students and
either students in other areas. This paper present an architechture of BKGRPHICS, an Open Programming
Graphics's Library, and some applications based on this library. The applications are good demostration
for applying BKGraphics in teaching and software developing in the field of computer graphics.
I. ĐẶT VẤN ĐỀ
Mức độ phức tạp trong việc xây dựng các ứng dụng của đồ họa ngày càng gia tăng, nhất là đối
với các loại ứng dụng đòi hỏi độ khó cao trong các vấn đề xử lý đồ hoạ, các giải thuật hiệu quả và
sự hỗ trợ của các thư viện hệ thống. Ngoài ra trong lĩnh vực đào tạo kỹ thuật đồ hoạ, người học
còn cần nắm bắt được các tư tưởng của các giải thuật và áp dụng được những ý tưởng này
trong thực hiện phần mềm. Với mục tiêu hỗ trợ các ứng dụng đồ họa nhất là trong lĩnh vực đào
tạo, ý tưởng và giải pháp của chúng tui là xây dựng hệ thống thư viện BKGraphics nhằm đáp ứng
các yếu tố sau đây:
− Là thư viện chuẩn về đồ hoạ cho các ngôn ngữ lập trình trên các platform khác nhau (hiện tại
sản phẩm mới chỉ đóng gói trên nền MS Windows).
− Làm cơ sở để xây dựng các phần mềm ứng dụng khác, hay mở rộng khi cần thiết, trong thiết kế
áp dụng phương pháp thiết kế hướng đối tượng (Object-Oriented Design), có tính kế thừa cao.
− Hỗ trợ phát triển nhanh các chương trình nhỏ, không mất nhiều công sức học các ngôn ngữ
khác.
− Trợ giúp cho việc giảng dậy môn đồ hoạ cũng như xử lý ảnh hay mô phỏng khác, minh hoạ
giúp người học hiểu rõ hơn nội dung và các kiến thức được học.
II. KIẾN TRÚC HỆ THỐNG CỦA BKGRAPHICS
Thư viện BKGraphics được định hướng xây dựng theo mô hình hướng đối tượng nhằm tăng
cao khả năng tái sử dụng, cũng như xây dựng và hoàn thiện các thư viện đồ họa đã được sử dụng
rộng rãi trên thế giới với mục đích áp dụng trong các bài toán cụ thể. Thư viện được xây dựng từ
hai thư viện được sử dụng rộng rãi trên thế giới là OpenGL [1], DirectX [2]. Đặc điểm của thư
viện BKGraphics là mỗi lớp đối tượng (class) được thiết kế xây dựng mang tính kế thừa cao. Vì
vậy người sử dụng có thể phát triển các lớp đối tượng cũ hay xây dựng các lớp đối tượng mới
một cách rất dễ dàng và thuận tiện.
1. Mô hình tổng quan
Thư viện BKGraphics được chia thành 3 gói (package) riêng nhưng có thể sử dụng lẫn nhau và
hỗ trợ cho nhau theo sơ đồ dưới đây (hình 1):
− Gói thứ nhất: Các đối tượng sử dụng cho đồ hoạ 2 chiều (2D Objects)
− Gói thứ hai: Các đối tượng sử dụng cho đồ hoạ 3 chiều (3D Objects)
− Gói thứ ba: Các đối tượng sử dụng chung (Common Use Objects).
2D Graphics
(from BKGraphics)
3D Graphics
(from BKGraphics)
CommonUse
(from BKGraphics)
BKGraphics
Hình 1: Mô hình đóng gói của BKGraphics
2. Các đối tượng sử dụng cho đồ hoạ 2 chiều (2D Objects)
C2DShape
C2DPoint C2DRetangle C2DTritangle C2DArc C2DCycle C2DEllipse C2DPolygon
C2DObject
C2DObject
Detail
C2DLine
Hình 2: Mô hình của gói 2DGraphics
Các đối tượng trong gói này bao gồm các thực thể hình học cơ bản không thể thiếu trong mọi
ứng dụng như: Rectangle, Triangle, Arc, Cycle, Ellípse, Polygon, Point, Line [3].
Tập các các đối tượng cơ bản này cho phép định nghĩa các hình theo đối tượng cơ sở hai chiều
(2Dobject), trên cơ sở đó có thể xây dựng được các hình phức tạp với tối thiểu các cách
và tham số (hình 2).
3. Các đối tượng sử dụng cho đồ hoạ ba chiều (3D objects)
Các đối tượng đồ hoạ ba chiều được xây dựng trên mô hình phức tạp, chia làm 3 gói nhỏ cùng
xuất phát từ 1 lớp đối tượng gốc gọi là 3Dobject làm nền tảng. Đơn giản nhất là các lớp đối tượng
đồ họa phẳng trong không gian ba chiều dựa trên một mặt phẳng bất kỳ thông qua lớp đối tượng
C3Dplane.
Các đối tượng khối ba chiều được phát triển trên nền của lớp C3DShape cho phép xây dựng
các thực thể cơ sở chuẩn và các đối tượng mở rộng trên cơ sở mô tả được các khối hình học ba
chiều phức tạp.
Các đối tượng bề mặt lưới được xây dựng trên nền của C3Dpoint và các lớp đối tượng hỗ trợ
như định nghĩa nguồn sáng, hình dạng (texture), v.v. tạo nên một tổng thể ba chiều cho phép mô
tả theo tất cả các chuẩn đồ họa hiện thời [3].
4. Các đối tượng sử dụng chung (Common Use Objects)
Các lớp đối tượng dùng chung có thể được sử dụng cho cả hai mô-đun hai chiều và ba chiều
bao gồm các lớp cơ sở trong lý thuyết đồ họa. Đây cũng là phần cho phép chúng tui mở rộng của
thư viện đồ họa với các giải thuật được đưa thêm vào làm tăng khả năng ứng dụng của
BKGraphics. Các giải thuật này là kết quả nghiên cứu của các tác giả và đã được công bố trong
các tạp chí và hội nghị khoa học [4,5,6,7]. Trong mô hình hiện tại, các lớp đối tượng dùng chung
bao gồm:
− CColor: lớp đối tượng màu cho đồ hoạ, cho phép phối mầu ứng dụng trong các cách
của mọi đối tượng theo một trong các mô hình màu. Chúng tui xây dựng lớp này độc lập với
mục đích dễ dàng tạo và sửa đổi mầu sắc của đối tượng trong chương trình.
− CTexture & CMaterial: các lớp dùng để tạo mẫu cho bề măt, xác định vật liệu cho các đối
tượng hai chiều và ba chiều qua các tính chất của vật liệu đi lên từ các lớp cơ sở.
− CLight: lớp ánh sáng, nền tảng cho việc xây dựng các mô hình chiếu sáng khác nhau của thư
viện nhằm tăng chất lượng của phép tô trát bề mặt các vật thể.
− CBKFile: lớp file có định dạng ảnh, được xây dựng với mục đích phục vụ cho việc đọc và lưu
trữ các hình ảnh dưới các định dạng khác nhau. Hiện tại thư viện BKGraphics cho phép vào ra
dữ liệu ảnh theo các chuẩn: JPG, PCX, PNG, TIF, GIF, ICO, WMF, TGA, JBG.
− CBKImage: lớp đối tượng ảnh chung, dùng để lưu các bitmap cho các đối tượng đồ hoạ.
Hình 3. Mô hình của gói 3DGraphics
C3DObject
C3DPoint
C3DLine
C3DFace
CTexture
C3DShape C3DTriangle
C3DPlane
C3DBlock
C3DRectangle
C3DPolygon
C3DCycle
C3DArc
C3DGrid
CLight
C3DEllipse
C3DEllipsoid C3DRing C3DSphereC3DCylinder C3DDisk C3DPartialDiskC3DCube
C3DObject
Detail
III. MỘT SỐ PHẦN MỀM ỨNG DỤNG XÂY DỰNG TRÊN NỀN BKGRAPHICS
Tuy mới được phát triển và theo chúng tui còn có một số điểm cần sửa đổi, nhưng BKGraphics
đã đáp ứng được các yêu cầu cơ bản đặt ra và trên cơ sở đó thư viện đã được áp dụng trong một
số các ứng dụng minh hoạ .
1. Phần mềm BKFractal hỗ trợ bài giảng trực quan về fractal
a) Các giải thuật sinh fractal xây dựng trong phần mềm:
Ứng dụng các giải thuật sinh hình fractal, được xây dựng trong lớp CBKFractal, bao gồm [7]:
− Giải thuật sinh hình cây (Tree)
− Giải thuật sinh hình kim tự tháp (Sierpinski )
− Giải thuật sinh hình bọt (Sponge)
− Giải thuật sinh hình chữ thập (Cross)
− Giải thuật sinh núi (Mountains)
− Giải thuật sinh đảo (Islands)
− Giải thuật sinh lửa (Fire)
Trong phần mềm minh hoạ này chúng tui cũng cài đ