Tải bản đầy đủ (.doc) (61 trang)

Áp dụng các mô hình 3D vào trong tạo lập web

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 61 trang )

MỤC LỤC
B ng m t s kí t vi t t tả ộ ố ự ế ắ ......................................................................................2
Ph n m uầ ở đầ ...........................................................................................................3
T ng quan v Webổ ề ...................................................................................................5
Các k thu t d ng hình 3Dĩ ậ ự ....................................................................................13
2.2. Các công tác dựng hình chính............................................................................................14
2.3. Một số khái niệm................................................................................................................15
2.3.1. Tổng quan về các loại mô hình...................................................................................15
2.3.2 Khái niệm về một số chi tiết trong mô hình................................................................20
2.3.3 Khái niệm xây dựng từ phần mềm. .............................................................................24
2.4. Kĩ thuật xây dựng...............................................................................................................26
2.4.1 Vẽ đường cong............................................................................................................26
2.4.2 Tạo surface...................................................................................................................28
2.4.3 Các kĩ thuật tạo kết xuất ..............................................................................................34
S d ng mô hình 3Dử ụ .............................................................................................44
v o trong t o l p Webà ạ ậ ...........................................................................................44
3.1. Các vấn đề đặt ra khi sử dụng các mô hình 3D trong .......................................................44
tạo lập Web.........................................................................................................................44
3.2. Giải pháp ............................................................................................................................44
3.3.1 Tiến trình công việc......................................................................................................46
3.3.2 Sử dụng ngôn ngữ VRML............................................................................................47
3.3.3 Các node cần sử dụng cho hoạt hoá.............................................................................49
3.3.4 Đẩy mô hình lên trang Web.........................................................................................54
K t lu nế ậ ..................................................................................................................59
T i li u tham kh oà ệ ả ................................................................................................61
Bảng một số kí tự viết tắt
Kí hiệu viết tắt Giải thích
CP Control Point: Điểm điều khiển
CV Control Vertex: Điểm điều khiển
DAG Directed Acyclic Graph: Đồ thị mở có định hướng
DG Dependency Graph: Đồ họa phụ thuộc


EP Edit Point: Điểm nằm trên đường cong
Phần mở đầu
Cùng với sự bùng nổ của Internet, nhu cầu sử dụng Website và số lượng
Website ngày càng tăng cao. Website trở thành một công cụ để người ta quảng bá mọi
vấn đề, mọi lĩnh vực, đặc biệt là trong thương mại.
Các công nghệ mới luôn được áp dụng vào Website: công nghệ quản trị nội
dung, kiết xuất thông tin, tác tử v.v... Trong đó, sử dụng yếu tố đồ hoạ vào trong
Website là một công nghệ đang rất được quan tâm.
Công nghệ thiết kế đồ hoạ cho Website cũng có nhiều cách tiếp cận khác nhau.
Cách tiếp cận lâu đời và đang phổ biến hiện nay đó là Website sử dụng các hình ảnh 2
chiều. Các hình ảnh hai chiều chỉ thể hiện được các sự vật theo chiều dài và chiều rộng.
Điều này sẽ hạn chế khá nhiều khi muốn quan sát một vật nào đó một cách kĩ càng. Với
các trang Web giới thiệu sản phẩm, nếu giới thiệu một cách tỉ mỉ một sản phẩm nào đó
thì người ta phải trình bày các bức ảnh chụp sản phẩm ở các góc độ khác nhau sẽ tốn bộ
nhớ, tốn thời gian tải, tốn diện tích trang Web.
Một cách tiếp cận khác chính là sử dụng các hình ảnh 3 chiều. Trong đó, cũng
rẽ ra làm hai khuynh hướng. Đó là 3D giả lập và 3D.
3D giả lập chỉ mô phỏng các nguyên lý dựng hình 3 chiều. Tiêu biểu cho 3D giả
lập là flash. Quả thật dùng flash đã làm cho Website trông sống động hơn rất nhiều. Các
file này cũng khá nặng và đòi hỏi ở máy khách phải cài các phần mềm mới có thể đọc
được. Và nói chung, người xem vẫn ở thế bị động vì các flash chuyển động không phụ
thuộc vào ý muốn của người xem.
Để giải quyết các vấn đề trên, khoá luận của em được thực hiện nhằm hai
mục đích:
-Tìm hiểu các kĩ thuật dựng hình phổ biến hiện nay. Quá trình tìm hiểu này
nhằm phân tích các kĩ thuật dựng hình vốn rất phong phú hiện nay để tìm hiểu thế mạnh
của từng kĩ thuật và áp dụng kĩ thuật nào vào trường hợp dựng hình cụ thể nào thì cho
hiệu quả tốt nhất.
-Tìm hiểu các kĩ thuật tạo Web3D theo khuynh hướng thứ 2, tức là sử dụng các
mô hình 3D thực sự. Thực chất của mục đích này là muốn giới thiệu kĩ thuật đẩy các mô

hình 3D lên trang Web.
Bố cục của khóa luận gồm có 3 chương chính:
Chương 1: Tổng quan về Web
Chương này sẽ giới thiệu bối cảnh chung của sự phát triển của Website và 3D.
Đồng thời cũng giới thiệu qua một số công cụ để xây dựng các mô hình 3D hay sử dụng
hiện nay.
Chương 2: Kĩ thuật xây dựng mô hình 3D
Chương này sẽ giới thiệu một số kĩ thuật xây dựng mô hình 3D và tối ưu các mô
hình đó. Công đoạn xây dựng mô hình sẽ ảnh hưởng đến dung lượng và chất lượng của
mô hình
Chương 3: Áp dụng các mô hình 3D vào trong tạo lập Web
Chương cuối cùng này sẽ đề cập đến các vấn đề nảy sinh khi sử dụng các hình
ảnh 3D trong tạo lập Web và hướng giải quyết các vấn đề đó. Sau đó, sẽ đi sâu vào giới
thiệu cách để đẩy mô hình lên trang Web.
Em hi vọng đề tài này sẽ có giá trị thực tiễn và góp phần phát triển xu hướng xây
dựng các Web3D ở Việt Nam.
Chương 1:
Tổng quan về Web
Con người sáng tạo ra tiếng nói và chữ viết, con người đã trở thành một lực
lượng hùng mạnh thống trị thế giới và thoát ly khỏi cách sống của động vật. Chữ viết là
điều kì diệu để con người thể hiện ý nghĩ và lưu truyền cho nhau. Chữ viết có thể được
lưu trên đá, trên da thú, thanh tre và trên giấy.
Ngày nay, ngoài những văn bản bằng tre hay bằng giấy đó, con người còn có
một phương thức khác để lưu lại vết tích của mình. Đó là văn bản trên máy tính. Máy
tính được chế tạo đầu tiên là nhằm mục đích tính toán nhưng sau này nó còn có thể làm
được nhiều việc khác nữa. Thực ra, cũng như là đá, da thú, thanh tre hay là giấy, máy
tính cũng là chỉ là một phương tiện để con người viết ra những gì mình nghĩ và đề
truyền cho nhiều người khác cùng đọc và nghiên cứu.
Nhưng, sự phát triển của khoa học máy tính và công nghệ thông tin cho phép
cách viết, cách thể hiện thông tin của con người tiến triển thêm một bậc. Cùng với đó,

sự giao tiếp của con người ngày càng phong phú hơn. Con người bây giờ không cần
phải gặp gỡ với nhau vẫn có thể giao tiếp được với nhau. Và sự phát triển của Internet
chính là đỉnh cao của sự giao tiếp đó. Để có được sự giao tiếp rộng mở trên toàn cầu,
công đầu phải thuộc về WWW.
WWW là từ viết tắt của World Wide Web. Đây là một hệ thống cung cấp tài
liệu vô cùng quan trọng của Internet. Sự giao tiếp của con người lúc này là sự giao tiếp
của các trình duyệt Web với Web server. Không cần phải đi đâu xa, chỉ cần một phần
mềm trình duyệt trên máy tính, kết nối với Internet, là có thể tìm thấy bất cứ loại tài liệu
nào ở bất kì nơi nào trên toàn thế giới miễn là nơi đó cũng có Internet.
Tất cả các tài liệu được đem vào lưu thông trên WWW đều có một định dạng
chung đó là HTML.
HTML là cụm từ viết tắt của Hyper Text Markup Language – Ngôn ngữ
đánh dấu siêu văn bản. Đây là loại định dạng ngôn ngữ chủ yếu của thông tin mà các
máy tính trao đổi với nhau trong mạng WWW.
Lấy HTML làm căn bản, cùng với sự phát triển của network, đặc biệt là
Internet, cùng với nhu cầu trao đổi và quảng bá thông tin bùng phát trên phạm vi toàn
thế giới, con người đã tìm cách nâng cấp và phát triển để tạo ra một loại dịch vụ trao đổi
thông tin qua mạng là Website.
Web là gì? Cứ tưởng tượng Internet là một “ đường siêu tốc” thì Web giống
như là một dịch vụ chuyển phát đến tận nhà, đi trên con đường đó, đến gõ cửa nhà, trao
cho chủ nhà một loại tài liệu không những chứa các kí tự mà còn chứa cả hình ảnh, âm
thanh, video và có khả năng click vào các link để tới một tài liệu khác hoặc gọi tới một
Web site khác.
Như vậy, để tạo ra được một Website, đầu tiên phải có các trang Web (Web
pages) sau đó mua một mảnh đất trên Internet để mọi người có thể liên hệ với nó. Để có
được mảnh đất này, ta có một moderm kết nối tới ISP (Internet Service Provider ) để
thuê một vùng bộ nhớ trên Web server của ISP. Webserver là kho lưu trữ các trang Web
trên Internet, sẵn sàng đi đến bất cứ nơi nào cần chúng thông qua giao thức HTTP. Điều
đó có nghĩa là cùng với lúc Webserver bắt đầu hoạt động thì bất kì nơi nào trên thế giới
cũng có thể đi thăm các trang này. Mỗi một Website được cấp cho một địa chỉ ví dụ

như: cũng như là địa chỉ nhà để mọi người còn biết để tìm đến.
Địa chỉ như trên còn gọi là URL – Universal Resource Locator.
[4]Web lần đầu tiên được mang ra ngiên cứu vào năm 1980 tại CERN
(European Particle Physics Laboratory) bởi Tim Bernes – Lee viết bằng SGML (
Standard Generalized Markup Language).
Vào đầu những năm 90, World Wide Web phát triển một cách bình lặng. Một
vài trình duyệt UNIX 6 mới chỉ đang tìm hiểu một cách mò mẫm khi Marc Andreessen
của NCSA ( National Center for Supercomputing Applications at the University of
Illinois at Urbana-Champage) phát triển một trình duyệt rất sơ đẳng cho X-windows và
sau đó là Microsoft Windows vào năm 1993. Andreessen sau đó rời khỏi NCSA và mở
một công ty với trình duyệt riêng là Netscape. Web được thương mại hoá vào năm 1994
với chỉ 1500 site tồn tại.
[5][6]Sau đó, HTML đã cho ra khá nhiều các phiên bản nhưng sự phát triển
giữa các phiên bản quả thật là chậm chạp. Năm 1995, HTML 2.0 được phát triển dưới
sự bảo trợ của IETF ( Internet Engineering Task Force) để hệ thống hoá những thành
tựu chung nhất đã đạt được vào cuối năm 1994 của HTML. Tuy không thể nào có một
chuẩn chung cho tất cả các phiên bản của HTML, nhưng từ đó cũng đã tạo ra một hiệu
ứng nho nhỏ trong sự thống nhất giữa các tính năng mới. Và sau đó, với sự cố gắng của
HTML Working Group của WWW Consortium đã thống nhất các thành tựu chung vào
năm 1996 của HTML bằng phiên bản HTML 3.2. Phiên bản mới nhất của HTML đó là
các version của HTML 4. HTML 4 là sự mở rộng của HTML với các hỗ trợ thêm về
nhúng các đối tượng, các kịch bản, các frame v...v
Cái quan trọng để một Website có ý nghĩa chính là các trang Web. Một trang
Web có hai phần là giao diện và mã nguồn. Giao diện là cái để thể hiện thông tin cho
người xem. Còn mã nguồn là một thứ ngôn ngữ có các phương thức để có thể đẩy các
thông tin đó lên. Để xem mã nguồn có thể vào View -> Source.
Ví dụ về giao diện của một trang Web :
Hình 1.1 : Giao diện của trang Web
Ví dụ tiếp theo trình bày về phần mã nguồn của nó.
Hình 1.2: Mã nguồn của trang Web

Mã nguồn của trang Web chính là ngôn ngữ HTML đã giới thiệu ở trên. Trình
duyệt theo code HTML đã được viết để thể hiện giao diện của trang Web.
Ngôn ngữ HTML sử dụng các thẻ có dạng <tag>...</tag> hoặc <tag> để mã hoá
thông tin. Các thẻ này cũng có tập các thuộc tính riêng qui định thông tin được thể hiện
sẽ như thế nào.
Ví dụ: một trang HTML đơn giản
<html>
<header>
<title> Welcome to my Web
</title>
</header>
<body>
Hello World
</body>
</html>
Sử dụng HTML, có thể tạo ra các kiểu text khác nhau, các bảng biểu, chèn các
hình ảnh, âm thanh và link tới các các trang Web khác hoặc là các site khác. Các thẻ
HTML chỉ tạo ra trang tĩnh. Muốn có thêm các tính năng cao cấp hơn như: ảnh động,
tích hợp CSDL v.v.. thì cần phải nhúng thêm các kịch bản hoặc các đối tượng v..v Ngày
nay có rất nhiều ngôn ngữ kịch bản để nhúng vào một trang HTML như PHP, ASP,
JSP.. cũng như có rất nhiều cách thể hiện một Website sao cho hấp dẫn. Một Website có
thể là nơi mua bán, quảng cáo cho môt doanh nghiệp, nơi để cung cấp thông tin về một
lĩnh vực nào đó như âm nhạc, thể thao hoặc là nơi để mọi người có thể viết bài, tán gẫu.
Các thông tin có thể được lưu trữ lâu dài trong CSDL của Website để tiện cho việc truy
xuất, tìm kiếm, cập nhật và trích rút thông tin. Hơn nữa, vì Website trở thành một nơi
lưu trữ thông tin, nhiều thông tin quí giá chỉ được phép lưu hành cho một nhóm người
có quyền truy nhập, do đó tính năng bảo mật cũng được cung cấp và được quan tâm.
Tóm lại, các Website càng ngày càng được phát triển cả về chất lượng và số
lượng. Khả năng phục vụ và khả năng hấp dẫn người xem đều được đòi hỏi ngang nhau
để một Website tồn tại được lâu dài và có thể thu lợi nhuận được từ nó.

Vì mục đích sử dụng Website phong phú, mà số lượng Website ngày càng
nhiều, nên yếu tố giao diện bắt mắt là một yếu tố quan trọng hàng đầu. Bởi vì thu hút cái
nhìn của người xem đầu tiên đó chính là diện mạo của một Website như thế nào, sau
mới là chất lượng của nó. Vì thế, thiết kế giao diện đã trở thành môt nghề.
Một Website thông thường, ngoài thể hiện các dòng text theo nhiều kiểu khác
nhau thì phải có xen vào các hình ảnh và âm thanh. Để nhớ một trang thuần văn bản,
hiếm ai nhớ được, nhưng có thêm các hình ảnh để nhận dạng thì ấn tượng để lại mạnh
hơn một bậc. Đó là sức mạnh, là hiệu quả của đồ hoạ
mang lại.
Giá trị của thông tin nằm ở nội dung của Website. Nhưng để người xem tiếp
cận được với các thông tin đó, yếu tố diện mạo của trang Web là vô cùng quan trọng để
giữ chân người xem. Trong một thế giới bùng phát về Website như hiện nay thì làm thế
nào để thu hút được nhiều người đầu tiên phải kể đến diện mạo của Website.
Các yếu tố ảnh hưởng đến diện mạo của Website có thể kể ra đây như sau:
-Màu sắc chủ đạo của Website: Đó là màu nền, màu của các banner, của các
mục trên trang Web. Màu sắc của Website quả thật rất phong phú. Có trang Web chỉ sử
dụng những màu nhạt và sáng như trắng, xanh da trời, hồng nhạt nhưng có những trang
Web lại sử dụng toàn một màu tối như nền đen, nền vàng sậm v..v Thật khó để đánh giá
cái nào đẹp hơn cái nào vì mỗi một người có một gu về màu sắc riêng. Nhưng các nhà
thiết kế giao diện chuyên nghiệp khi sử dụng yếu tố đồ hoạ vào trong trang Web đều
phải luôn quan tâm đến đối tượng phục vụ của Website, mục đích hoạt động của trang
Web, bố cục của trang Web để sử dụng màu sắc cho phù hợp.
-Logo của trang Web: Điều này là cực kì quan trọng, nhất là trong thương mại.
Bởi vì logo là biểu trưng của họ, là cái để khẳng định thương hiệu của họ. Chính vì tầm
quan trọng của nó nên logo của nhà đại diện luôn được đặt ở đầu mỗi trang Web trong
Website, luôn là hình ảnh đầu tiên người xem được nhìn thấy. Thiết kế logo cho trang
Web cũng rất khó để nó vừa độc đáo vừa thể hiện ý nghĩa của trang Web và vừa tránh
sự trùng lặp.
-Các banner, biểu tượng của các mục trong trang Web: Chúng góp phần làm
nên vẻ đẹp của trang Web và đánh dấu để người xem có thể theo dõi các mục, các chủ

đề trên trang Web một cách có hệ thống.
-Phần text của trang Web cũng rất phong phú. Phong phú cả về kiểu chữ, kích
cỡ, màu sắc. Nhiệm vụ của phần text là mang thông tin của trang Web nên phần text thứ
nhất là phải nổi bật trên nền màu sắc của trang Web, thứ hai phải phân biệt rõ từng mục
lớn, mục nhỏ, mục quan trọng và thứ ba là phải thống nhất trên các trang Web của
Website.
-Không chỉ phần text, mà nói chung các yếu tố đồ họa được sử dụng trên mỗi
trang Web của Website là phải thống nhất. Người xem sẽ rất phản cảm và khó chịu khi
mỗi một trang Web lại mang một màu sắc khác nhau, trang màu đậm, trang màu nhạt,
trang toàn hình ảnh còn trang lại toàn text.
-Cuối cùng và cũng cực kì quan trọng đó là các ảnh minh hoạ. Các ảnh được sử
dụng để minh hoạ, giải thích thêm cho phần text kèm theo. Sử dụng các hình ảnh minh
hoạ, đặc biệt là trong quảng cáo làm cho trang Web thêm phần sống động và thu hút
người xem hơn. Ví dụ: trong một trang giới thiệu điện thoại di động, nếu chỉ dùng ngôn
ngữ để mô tả thì không thể nào mô tả nổi kiểu dáng của từng mẫu sản phẩm như thế
nào, màu sắc độc đáo ra sao, kích thước nhỏ gọn như thế nào v..v. Một file ảnh thôi là
có thể thay thế được cả một đoạn mô tả dài dằng dặc về sản phẩm đó. Đó là chưa kể nó
còn loại bớt tính nhập nhằng do ngôn ngữ tự nhiên mang lại. Thay vào đó, bên cạnh ảnh
chụp chiếc điện thoại, người ta chỉ cần nói đến các chỉ số về cấu hình, về giá cả ngắn
gọn và dễ hiểu hơn rất nhiều.
Từ đó cho thấy ứng dụng của đồ hoạ, đặc biệt là trong thiết kế Website là mảnh
đất rất tiềm năng. Để phục vụ cho thiết kế đồ hoạ, các công cụ đồ hoạ hiện nay cũng
khá phong phú như: Paint, Sketchup, Photoshop, Soft images, 3D painter….làm việc với
cả 2D và 3D.
Điều mà em muốn giới thiệu kĩ ở đây chính là đồ hoạ 3 chiều.
Mặc dù có nhiều phần mềm đồ hoạ 3 chiều như vậy và mỗi một phần mềm có
một bộ công cụ riêng nhưng chúng đều phát triển trên nền tảng kĩ thuật chung. Mục tiêu
của chúng vẫn là để dựng lên các mô hình có chiều dài, chiều rộng và chiều sâu; có sự
thể hiện giống như thật nhất các đối tượng và khung cảnh đặt đối tượng.
Chắc hẳn chúng ta còn nhớ bộ phim “Trận chiến thành Troy” với dàn diễn viên

nổi tiếng như: Orlando Bloom, BradPitt, EricBana…Bên cạnh những diễn viên chuyên
nghiệp đó là một lực lượng khổng lồ các diễn viên phụ. Với hàng trăm trận chiến, với
hàng nghìn nhân vật và rất nhiều các cảnh quay, nếu đòi hỏi phải “người thật việc thật”
thì sẽ tốn kém rất nhiều. Nhưng các nhà làm phim đã thuê 500 lập trình viên làm việc
liên tục để tạo ra những kĩ xảo tuyệt vời cho bộ phim. Bộ phim quá thành công bởi vì
chi phí không quá lớn nhưng doanh thu thu được thì thực sự là một con số khổng lồ.
Người xem không những cảm nhận được mức độ hoành tráng mà còn thấy thật sự cuốn
hút theo từng phút giây cho những cảm giác rất thực.
Một số các tác phẩm điện ảnh khác như “Chủa tể chiếc nhẫn” , “Chiến tranh
giữa các vì sao”, “Người nhện”… cũng sử dụng các mô hình 3D hỗ trợ trong dàn cảnh.
Một loạt các sản phẩm nổi tiếng khác như: Games và phim “Final Fantasy ”, “Tìm kiếm
Nemo” hay “Gia đình siêu nhân”...cũng góp phần chứng minh mô hình 3D hấp dẫn như
thế nào.
Mô hình 3D đã hiện diện ở khắp nơi: điện ảnh, game, y tế, hàng không v...v và
nay nó đang lan sang một lĩnh vực khác là thiết kế Website. Trên thế giới, ý tưởng
Web3D đã có từ lâu. Từ những năm 1995 người ta đã đề xuất ra ý tưởng này. Nhưng vì
nhiều lý do mà Web3D vẫn chưa thực sự có một chỗ đứng xứng với khả năng mà nó
mang lại. Chỉ gần đây, Web3D mới lại được tìm hiểu rầm rộ. Các thông tin chi tiết hơn
về Web3D được đề cập đến ở Website www.x3d.org
Trên thế giới, Web3D đã là cái tên quen thuộc của nhiều quốc gia như Pháp,
Thuỵ Điển, Mĩ, Nhật Bản. Ví dụ như ở Paris, người ta còn có ý tưởng đưa lên trang
Web những góc phố nổi tiếng để quảng bá cho quê hương họ. Một số hãng lớn như
Toyota, IBM, Samsung đã sử dụng mô hình 3D để quảng cáo. Có thể tham quan một số
Web3D như sau: www.samsung.com ; www.toyota.com
Còn ở Việt Nam, chưa có một Website nào là Web3D thực sự. Nhưng trong
tương lai không xa, sự phát triển các ứng dụng của 3D ở Việt Nam nói chung và Web3D
nói riêng chắc chắn sẽ rất mạnh mẽ. Nếu một ngày nào đó, một Web3D của người Việt
Nam giới thiệu cho cả thế giới biết đến một Hà Nội ngàn năm văn hiến; một cố đô Huế
cổ kính trầm mặc bên dòng sông Hương, bên núi Ngự Bình; một Thánh địa Mỹ Sơn
hoang sơ hùng vĩ, như người Pháp đã dự định làm với Paris của họ thì ý nghĩa sẽ vô

cùng lớn lao về văn hoá tinh thần. Cũng như thế, nếu từng chiếc dép, từng tấm lụa Hà
Đông, từng chiếc bình ghép từ tre nứa của những thương gia Việt Nam xuất hiện trên
các trang Web3D để người mua trên toàn thế giới được “sờ”, được “ngắm”, được chiêm
ngưỡng, được đánh giá sẽ tạo nhiều cơ hội để xuất khẩu các mặt hàng sang các nước
khác, thu hút nhiều người mua hơn. Đó là ý nghĩa về mặt kinh tế.
Web3D có nhiều ý nghĩa trong cuộc sống, vì thế đề tài này được đặt ra để tìm
hiểu về các kĩ thuật dựng hình 3D và áp dụng vào trong tạo lập Web với một mong
muốn Web3D thực sự sẽ được mọi người quan tâm và ở Việt Nam Web3D sẽ phát triển
trong một tương lai gần.
Chương 2:
Các kĩ thuật dựng hình 3D
2.1. Giới thiệu chung
Để tìm hiểu về Web3D, trước tiên phải xây dựng được các mô hình 3D. Yêu
cầu đặt ra với các mô hình 3D là:
-Dung lượng không quá lớn: Bởi vì yếu tố thời gian tải và không gian lưu trữ
trên Website có hạn cho nên các mô hình 3D dựng được phải có dung lượng càng nhỏ
càng tốt.
-Chất lượng có thể chấp nhận được: Bởi vì mô hình xây dựng lên là để phục vụ
cho Website nên mô hình phải bắt mắt.
-Lựa chọn cách tạo kết xuất: Bởi vì các cách tạo kết xuất khác nhau cũng ảnh
hưởng tới chất lượng và dung lượng của mô hình sau này. Hơn nữa, để phục vụ cho
Website thì đây là yêu cầu cực kì quan trọng.
Dung lượng không lớn mà vẫn đảm bảo chất lượng là bài toán khó. Để giải
quyết bài toán này không có cách nào khác là phải nắm vững kĩ thuật dựng hình 3D. Vì
thế chương 2 sẽ đi vào giới thiệu các kĩ thuật dựng hình 3D và cách sử dụng các kĩ thuật
này một cách tốt nhất. Tất nhiên các kĩ thuật này chỉ dừng lại ở mức phổ quát nhất,
chung nhất vì như đã nói, mỗi một phần mềm dựng hình có một hệ thống công cụ riêng
để hỗ trợ người dựng.
Phần mềm dựng hình hiện nay có rất nhiều, nhưng được đánh giá mạnh nhất và
hay sử dụng nhất là hai phần mềm : 3DStudioMax và Maya. Bởi vì bên cạnh việc cung

cấp một bộ công cụ và một tập các hành động (tool and action) thì hai phần mềm này
cũng hỗ trợ rất tốt việc giảm dung lượng mô hình bằng nhiều kĩ thuật khác nhau. Các kĩ
thuật này dựa trên việc tính toán lại các điểm điều khiển để giảm dung lượng
dữ liệu.
Với phạm vi của đề tài này, việc thể hiện các công tác dựng hình sẽ được minh
hoạ trên phần mềm Maya ver 7.0. Maya là phần mềm thuộc hãng Alias
(www.Alias.com ). Đây là một phần mềm ra đời sau so với 3D Studio Max nhưng đã
vượt lên ngang tầm bởi một số ưu việt trong hỗ trợ dựng hình 3D và đặc biệt là trong
hoạt hoá các nhân vật.
Trong báo cáo này, để đảm bảo tính chính xác của các thuật ngữ thì một số từ
hay cụm từ như: surface, face, node, isoparm v.v... sẽ không dịch sang tiếng Việt.
2.2. Các công tác dựng hình chính
Qua nghiên cứu các phần mềm dựng mô hình khác nhau cho thấy, nói chung
làm việc trong môi trường 3D có các công tác chính sau:
- Công tác dựng hình (modelling): Đây là phần sử dụng các công cụ dựng hình
để tạo ra các mô hình, chỉnh sửa chúng theo ý muốn. Từ đó các vật thể 3D được định
hình.
- Công tác hoạt hoá nhân vật (animation): gồm những thao tác để gắn nhân
vật vào một tập các khoá (key). Mỗi một khoá đại diện cho vị trí, hình dạng của nhân
vật tại những thời điểm khác nhau. Sự chuyển động của nhân vật là sự thể hiện nhân vật
tại mỗi vị trí khoá này.
- Công tác kết xuất (rendering): Đây là phần để gán vật liệu lên các nhân vật
và tạo kết xuất
Với đề tài này, phạm vi khai thác dừng lại ở tìm hiểu các kĩ thuật dựng hình,
phối hình, phối cảnh và kết xuất. Nên phần việc chính hay sử dụng là modelling và
rendering.
Với phần modelling, khoá luận này sẽ phân tích một số kĩ thuật dựng hình, ứng
dụng của các kiểu dựng hình đó vào thực tế và hiệu quả của nó đem lại.
Với phần rendering, các kĩ thuật tạo ánh sáng (lighting), đổ bóng (shading),
mài nhẵn (smoothing) và áp vật liệu (texturing).v.v sẽ được giới thiệu

2.3. Một số khái niệm
2.3.1. Tổng quan về các loại mô hình
Mô hình là một sự mô tả và trình diễn dựa vào máy tinh của một đối tượng 3
chiều. Các mẫu có thể được tạo với các phần mềm dựng hình, các thiết bị số hoá 3D
v..v. Có 3 kiểu mô hình hay sử dụng. Đó là: Polygon, NURBS và Subdiv.
2.3.1.1. Polygon
Polygon [1] là một khối gồm có n mặt và được tạo thành từ các đỉnh (vertices)
và các đường thẳng giữa các đỉnh gọi là các cạnh (edges).
Hình2.1: điểm, cạnh, mặt
Khi dựng polygon, nên sử dụng các tam giác hay tứ giác vì chúng dễ dàng để
dựng và dung lượng tốn rất ít. Một polygon đơn giản nhất còn gọi là face, và nó giống
như là một vùng phủ kín được tạo từ các đỉnh và các cạnh.bao lấy nó.
Có thể hình dung ra Polygon một cách sơ lược qua hình ảnh dưới đây:

Hình 2.2: Quá trình xây dựng một đối tượng bằng Polygon
Một số loại Polygon:
• Mesh: Là tập hợp nhiều polygon có thể khác kiểu (tam giác, tứ giác, đa giác)
kết nối với nhau .
• Shell: Một tập các mặt chỉ kết nối với nhau tại một điểm duy nhất.
Lợi ích của Polygon:
• Polygon là kiểu dựng hình lâu đời nhất của đồ hoạ 3D. Vì vậy, nó là cội rễ cho
mọi kiểu dựng hình khác.
• Polygon là hình đơn giản nhất và vì thế nó dễ dàng chuyển đối giữa các file
của các platform khác nhau.
• Với Polygon, sẽ mất ít dữ liệu để mô tả các surface đơn giản. Ví dụ như một
mặt phẳng thì polygon 4 điểm sẽ đơn giản hơn rất nhiều so với một mảng ráp
b-spline (b-spline patch )phẳng cần ít nhất 16 CVs.
• Làm việc với Polygon cho phép có thể mở rộng hình từ một mặt, một cạnh
hay thậm chí là một đỉnh.
• Polygon cho phép có thể hợp nhất nhiều điểm, nhiều cạnh, nhiều mặt hoặc là

tất cả các thứ đó vào với nhau.
Hạn chế của Polygon:
• Trong việc tăng độ phân giải của mô hình, nếu với NURBS thì sẽ tốn một
lượng CVs ít hơn rất nhiều khi ta phải tăng mức chi tiết của một Polygon. Ví
dụ: Một hình cầu NURBS mất 56 CVs, một hình cầu Polygon phải mất 600
đỉnh mới được như NURBS.
• Trong dựng hình, có thể phải liên kết nhiều mesh lại với nhau (polymesh).
Nhưng có thể hành động này lại làm cho một trong các mesh ban đầu bị xoá
đi. Điều đó đòi hỏi phải có sự sao chép các mesh dự phòng trước khi thực hiện
liên kết.
2.3.1.2 NURBS
NURBS là từ viết tắt của Non-Uniform Rational B-Spline. Đây là một kiểu
hình khối bao gồm các đường cong (curves), các mảng ráp (patches), các bề mặt
(surfaces).
NURBS là một tập hợp rộng lớn các đường cong conic, splines và Bezier.
Chúng có khả năng phù hợp đặc biệt trong 3D bởi vì chúng cung cấp tính liên tục rất
hoàn hảo với một lượng tối thiểu các điểm điều khiển (control points).
• Non-Uniform là phần tham số hoá của đường cong. .
• Rational là phương trình hữu tỉ của đường cong. Tính chất này cho phép
NURBS có thể thể hiện các đường conic cũng như các đường cong đa dạng
khác một cách chính xác.
• B-splines là các đường cong đa thức có thể hiện theo tham số.
Điều đặc biệt của NURBS chính là sử dụng các phương trình tham số để biểu
diễn đường cong và các phương trình này phù hợp cho biểu diễn trong 3D.
Sử dụng các mô hình kiểu NURBS khi muốn dựng các bề mặt có độ trơn nhẵn
cao. Ví dụ: hình cầu.
Các đường cong và các surface NURBS có rất nhiều các ứng dụng và được ưa
dùng trong thiết kế công nghiệp và tự động. Đây là những nơi các hình dạng trơn tru với
lượng dữ liệu tối thiểu là yêu cầu đặt ra. Các đường cong NURBS phát huy hiệu quả
trong việc tạo ra đường chuyển động liên tục của một đối tượng được hoạt hoá.

Rất nhiều ứng dụng của CAD/CAM, VR, animation và kĩ thuật hình ảnh, các
đối tượng được dựng từ các NURBS surfaces.
[2]Với tầm quan trọng của mình, NURBS đã được tập trung nghiên cứu trong 3
thập kỉ gần đây.
Khi dựng hình, thường dựng những phần đơn giản bằng Polygon còn những
phần có nhiều đường cong, đòi hỏi độ nhẵn mịn cao thì thường người ta sử dụng
NURBS
Hình2.3: minh hoạ tiến trình dựng một chiếc cốc đơn giản bằng NURBS
Trên đây đã trình bày khá rõ về NURBS, qua đó ta có thể thấy được NURBS có
vai trò như thế nào trong việc dựng hình.

2.3.1.3 Subdivision Surface (Subdiv)
Subdivision surface là một kiểu surface lai mà xử lý các đặc tính của cả
NURBS và Polygon. Giống như NURBS, các subdivision surface có khả năng tạo ra các
dạng có độ trơn và có thể định hình khối nhờ sử dụng tương đối ít các điểm điều khiển.
Giống như các surface Polygon, subdivision surface cho phép có thể mở rộng các vùng
xác định và tạo cho surface nhiều chi tiết hơn.
Dựng hình với subdivision surface là một cách dễ dàng để tạo ra các đối tượng
phức tạp ví dụ như là bàn tay con người. Nó liên kết các chức năng tốt nhất của NURBS
và Polygon. Subdivision surface cho phép sử dụng một surface để dựng lên cả một khối
hình phức tạp. Một subdivision có thể có các mức chi tiết khác nhau ở các khu vực khác
nhau. Có nghĩa là một khu vực mà có hình thù phức tạp có thể có nhiều điểm điều khiển
hơn để có được một mức độ tinh xảo hơn trong khi một số vùng khác đơn giản hơn thì
chỉ cần ít các điểm điều khiển.
Cái tên subdivision là lấy từ “dividing into regions of greater detail” có nghĩa
là phân chia thành các miền nhỏ hơn với nhiều chi tiết hơn. Bắt đầu với một mesh cơ sở
và phân chia thành các miền càng chi tiết càng tốt để làm việc với từng miền đó.
Hình 2.4: Minh hoạ một quá trình tạo một bàn tay bằng subdivision surface
Lợi ích của subdivision:
• Subdivision cho phép điều khiển ở mức cao hơn so với hình tạo bởi Polygon.

• Với subdivision, có thể tạo ra một đối tượng trơn tru chỉ từ một hình cơ sở ban
đầu và không phải gắn nhiều surface lại với nhau như là đã làm với NURBS.
• Nó cho phép chỉ phải sử dụng các dạng hình học phức tạp ở những vùng đòi
hỏi phải có sự phức tạp.
• Cho phép tồn tại các nếp gấp (các cạnh nhọn) và các hình dạng bất kì không
chỉ các hình 4 mặt.
• Tính liên tục của subdivision còn hạn chế được một số các vấn đề hay xảy ra
khi hoạt hoá với NURBS.
• Có thể liên kết các bề mặt subdivision với phần khung xương(skeleton) ở mức
thô và các hiệu ứng có thể giúp chuyển tiếp lên mức tốt hơn.
Hạn chế của Subdivision:
• Các subivision surface được căn chỉnh không cân xứng có thể cho kết quả
không giống với mong đợi.
• Khi chuyển từ một NURBS surface sang một Subdivision surface có thể tạo ra
các normal không chính xác tại các đầu mút.
• Độ phức tạp và dung lượng dữ liệu có thể sẽ phình to và khó
kiểm soát.
2.3.1.4 Hình không hợp lệ
Hình không hợp lệ là hình mà có các điểm không thuộc một cạnh nào và có các
cạnh không thuộc một mặt nào. Một vài gói phần mềm không chấp nhận một hình
không hợp lệ vì thế cần lưu ý để loại bỏ nó.
2-manifold là một khối hình mà khi ta trải nó trên mặt phẳng thì không có phần
nào nằm chồng chéo lên nhau. Ngược lại với nó là non-manifold. Đó là những hình
không thể nào trải các mặt của nó trên mặt phẳng được.
Hình 2.5: Các kiểu non-manifold
Hình chữ «T « : Đây là 2 mặt chia sẻ một cạnh chung. Đó là một khối hình đa
kết nối.
Hình thứ 2 là hai mặt cùng chia sẻ một điểm duy nhất nhưng không có cạnh
chung.
Hình thứ 3 là hai mặt nối tiếp nhau nhưng có vector trực giao ngược chiều nhau.

Non-planar : Là các hình mà có các điểm trong đó không có 3 điểm nào nằm
trên một mặt phẳng.
2.3.2 Khái niệm về một số chi tiết trong mô hình
a. Các điểm (Points)
Trong dựng hình, có nhiều thuật ngữ để nói về điểm. Mỗi một thuật ngữ lại
được áp dụng trong các trường hợp khác nhau.
- Control point (CP): Một điểm điều khiển hình dạng của một đối tượng. Ví
dụ của CP là các điểm của NURBS (control vertices - CVs), các đỉnh của Polygon
(polygonal vertices).
Một đối tượng phải có các điểm điều khiển để biến đổi hình dạng.
- Control vertex (CV): Trong dựng hình, một điểm mà điều khiển hình dạng
của đường cong NURBS hay bề mặt thì gọi là control vertex.
- Vertex: là một đỉnh. Nhiều Vertex thì người ta sử dụng từ vertices.
Nó là:
 Một điểm trong không gian 3D.
 Trong dựng đa giác, nó là một góc giao của hai hoặc nhiều face của đa
giác..
- Edit point (EP): Trong dựng hình, một điểm mà nằm trên đường cong mà là
điểm nối của các đa thức biểu diễn đường cong thì được gọi là các Edit point .
Thêm các EP đối với một đường cong không ảnh hưởng tới hình dạng của
đường cong nhưng tạo ra thêm đoạn (segment) cho đường cong và thêm phần (span)
cho bề mặt.
EP còn được gọi là các knot.
- Multi-knot và CV Multiplicity : Multi-knot là nhiều EP ở trong cùng một vị
trí trong không gian. CV multiplicity là nhiều CV ở trong cùng một ví trí trong không
gian.
Multi-knot và CV muliplicity thường không được mong muốn. Vì lý do: thứ
nhất là làm tăng dung lượng, thứ hai là không có tác dụng gì cho đường cong và thứ 3 là
nhiều công cụ sẽ không làm việc chính xác khi có chúng.
b. Các đường cong(Curves)

Đường cong để biểu diễn cho một biểu thức toán học.Phương trình biểu diễn
đường cong dễ tính toán và biểu diễn trên đồ thị nhất là có dạng:
x = a+bt + ct
2
+ dt
3
+…
y = g+ht + jt
2
+ kt
3
+…
Dạng biểu diễn này tiện lợi và phù hợp với tính chất 3 chiều của mô hình.
Các đường cong bậc càng cao thì càng phức tạp và càng đòi hỏi nhiều khối lượng
tính toán. Vì thế để biểu diễn các đường này thì người ta đã nghĩ ra cách phân đoạn. Có
nghĩa là đường cong phức tạp được phân ra thành từng đoạn. Mỗi đoạn lại là một đường
cong nhưng có bậc nhỏ hơn. Điểm giao của các đoạn tạo ra đường cong đó người ta gọi
là edit points, còn mỗi đoạn đó người ta gọi là segment hay là span.
Tuy nhiên không phải lúc nào các đường cong bậc cao cũng phải giảm bớt bậc
của nó đi. Những đường cong bậc tầm 5 đến 7 có lợi là cho đường cong có vẻ trơn tru
hơn và có độ căng. Chúng thường được sử dụng trong thiết kế tự động (automotive
design).
Bậc của đường cong cũng xác định độ trơn của các điểm nối giữa các span:
 Đường bậc 1 (linear): các đường cong chỉ việc đặt ở các vị liên tiếp nhau.
 Đường bậc 2 (squadratic): các đường cong đặt tiếp xúc với nhau
 Đường bậc 3 (cubic): các độ cong liên tiếp với nhau.
-Bậc(degree): Đây là khái niệm để chỉ một span thì có bao nhiêu CV.
 Đường bậc 1: là các EP đặt thẳng hàng
 Đường bậc 2: Có một phần cong giữa các EP.
 Các bề mặt thì có nhiều bậc theo chiều dài và chiều rộng. Có thể chiều

rộng bậc 3 nhưng chiều dài lại bậc 4.
-Parameter (tham số): Các tham số là các giá trị bằng số duy nhất của các
điểm (giống như là toạ độ) nằm trên đường cong hay surface.
Hình2.6: minh hoạ tham số của đường cong tại một điểm
 Tham số mà càng lớn thì điểm nằm càng cao trên đường cong
 Đối với đường cong, cần một tham số xác định dọc theo chiều dài đường
cong, đó là tham số U.
 Đối với surface cần môt tham số nữa để xác định theo bề rộng của surface,
đó là tham số V.
-Normal: Nó là đường trực giao tại một điểm nằm trên bề mặt hay đường cong.
Nó dùng để xác định xem một mặt đang xét là mặt trong (inside) hay mặt ngoài
(outside) của bề mặt.
Hình 2.7: Normal
-Có thể chia đường cong thành 3 loại: khép kín, đóng, mở (periodic, closed,
open).
 Khép kín: Có 2 phần đầu và cuối nằm gối lên nhau
 Đóng: Có 2 phần: đầu và cuối chung nhau tại một điểm
 Mở: Phần đầu và cuối không giao nhau.
 Đối với đường khép kín, khi dịch chuyển EP đầu thì EP cuối dịch theo.
Một số đường cong cơ bản là theo kiểu này
 Đối với đường cong đóng, khi dịch chuyển EP thì tính đóng bị mất.
 Nên tạo ra đường cong khép kín hơn là đường cong đóng.
-Các thành phần của một đường cong:
 CV: Số CV trên một đoạn sẽ bằng bậc của đường cong tạo đoạn đó cộng
với 1. Ví dụ như một đường cong bậc 3 thì cần đến 4 CV trên nó.
 EP: CV và EP cho biết có bao nhiêu đoạn tạo ra đường cong đó.
 Hull: khi vẽ một số đường cong thì có đường nối giữa các CV để thể hiện
vết của hình đường cong, đó là hull
Hình 2.8: Các thành phần chính của một đường cong
Biên tập một đường cong nên làm việc với các CV hơn là các EP vì các EP

không làm thay đổi hình dạng của đường cong bằng các CV, dễ gây đổ vỡ hình khối và
tăng dung lượng.
c Các Surface
Tạm dịch là bề mặt. Trong dựng hình, surface là một tập các đường cong liên
kết với nhau.
Trong tạo kết xuất, surface là một lớp bao phủ đối tượng để xác định xem đối
tượng đó sẽ phản xạ ánh sáng như thế nào. Có thể bề mặt chỉ có một màu nào đó, hoặc
có thể là một mẫu vật liệu, một vỏ xù xì, hoặc trơn nhẵn.
Một số thành phần của surface:
- Isoparm: viết tắt từ cụm từ isoparametric curve. Đó là một đường cong
nằm trên surface hay ở một EP có giá trị U hoặc V là hằng số.
- Đường cong trên bề mặt (curve-on-surface): Là một loại đường cong nằm
trong một vùng tham số nào đó của đường cong. Curve-on-surface thường được sử dụng
để cắt tỉa surface.
Một đối tượng đồ hoạ là một tập các surface. Có hai kĩ thuật hiển thị của surface
là dạng đổ bóng (shaded surface)và dạng khung (wireframe).
- Shaded surface: Một kĩ thuật hiển thị cho phép một đối tượng hình học được
trình bày ở dạng đổ bóng kín một bề mặt.
- Wireframe: Một kĩ thuật hiển thị cho phép một đối tượng hình học được trình
bày ở dạng là một tập các đường là khung của mô hình.
2.3.3 Khái niệm xây dựng từ phần mềm.
a. Node
Chương trình được trình được tạo từ các node. Để có được một khung cảnh,
một hệ thống các node được sinh ra và tương tác với nhau. Các node này có các tập
thuộc tính (attribute) tạo ra tính chất riêng của node. Tập thuộc tính của node này có
thể làm đầu vào cho một node khác, tạo ra mối quan hệ giữa các node. Từ mối quan hệ
này mà các đối tượng trong khung cảnh được xây dựng lên
b. Các phương pháp đồ hoạ
• Đồ hoạ phụ thuộc – Dependency Graph:
Tạm dịch là đồ hoạ phụ thuộc.Đồ hoạ phụ thuộc là một trong 2 cách thể hiện

khung cảnh (cách còn lại là phân cấp khung cảnh -scene hierarchy ).
[1] Dependency graph giống như một dãy các công việc xây dựng để làm thế
nào có được khung cảnh bắt đầu từ một tập các công việc sơ đẳng chẳng hạn như: “ tạo
một hình cầu A, di chuyển những CV, tạo đường cong B làm project curve ( đường
cong định hướng ) trên A để tạo ra một curve-on-surface (đường cong nằm trên
surface), cắt tỉa hình cầu A sử dụng đường cong trên surface C ” và cứ như thế.
DG lấy tên của nó từ sự liên kết giữa các node. Node sau lấy output của node
trước để làm input. Các node liên kết với nhau thông qua sự truyền giá trị của tập thuộc
tính của từng node.
• Đồ thị mở có định hướng – Directed Acyclic Graph:
Tạm dịch là đồ thị mở có định hướng. Trình bày theo DAG cho phép tăng sự
trực quan khi làm việc phân cấp các thành phần của khung cảnh (scene hierachy) qua sự
phân cấp các node (node cha – node con).
Để tạo ra DAG, có thể tạo ra hai node quan trọng để làm việc với vị trí của các
thành phần trong khung cảnh và hình dạng của sự vật là:
Transform nodes – bảo đảm các thông tin dịch chuyển (vị trí, quay, căn
chỉnh..). Ví dụ: Nếu dựng một bàn tay, dùng một transform node để quay bàn tay và
ngón tay, hơn là quay từng phần một.
Shape nodes – Chỉ liên quan tới hình dạng và không cung cấp thông tin biến
đổi hay thông tin gốc.
c. Các khung nhìn-view
Cho phép hình dung khung cảnh, thể hiện sự vật trong thế giới 3D. Trong đó có
hai khung nhìn chính là Perspective và Orthographic.
 Perspective là khung nhìn phối cảnh, nó thể hiện cảnh vật như là ta đang
nhìn trực tiếp.
 Orthographic là khung nhìn trực giao với cảnh vật, nó tập trung thể hiện
cảnh vật trên hai trục toạ độ nào đó.
Hình 2.9: Các kiểu khung nhìn
d.Hệ toạ độ
Hệ toạ độ sử dụng là Oxyz. Các trục Ox, Oy, Oz lần lượt thường được gán theo

màu RGB (Red, Green, Blue) để phân biệt các trục này.
Hệ toạ độ thường được gắn vào bộ công cụ dịch chuyển của phần mềm để làm
việc với các thuộc tính của transform-node.

×