Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính (LV thạc sĩ)
Trang 2
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYÈN THÔNG
MAI THỊ BÍNH
BIEU DIEN MO HINH 3D BANG KY THUAT NURBS TRONG MAY TINH
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Trang 3Tơi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi, kết quả của luận văn hoàn toàn là kết qua của tự bản thân tôi tìm hiểu, nghiên
cứu dưới sự hướng dẫn của giáo viên hướng dẫn PGS.7S Dé Năng Tồn
Tơi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu
khoa học của luận văn này
Thái Nguyên, tháng 4 năm 2016
HỌC VIÊN
Mai Thị Bính
Trang 4il
LOI CAM ON
Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS TS Đỗ Năng
Toàn người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá
trình làm luận văn
Em cũng xin gửi lời cảm ơn đến các thầy cô giáo trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên, các thầy cô Viện Công nghệ thông tin đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá trình học của mình
Học viên cũng xin gửi lời cảm ơn tới Ban giám hiệu trường Trung cấp
Kinh tế Kỹ thuật Lạng sơn đã tạo điều kiện thuận lợi cho học viên tham gia khóa học vào quá trình hoàn thành luận văn
Và học viên cũng xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và
bạn bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ dé hoc
viên có được kết quả như ngày hôm nay
Thái Nguyên,l0 tháng 4 năm 2016 Học viên
Mai Thị Bính
Trang 5MUC LUC
LY do Chon dé tai .ccccccccccssssesssessssesssecssesssseessecssecssesesseesseceseesneeeee
CHƯƠNG 1 KHÁI QUÁT VỀ ĐÓI TƯỢNG 3D
VÀ BÀI TOÁN BIÊU DIỄN NURBS 2-2¿©z+2z2xzze 1.1 Khái quát về đối tượng 3D 2¿2+z+2x+zrxzzrxsrrred 1.1.1 Một số khái niệm về đồ họa 3D 1.1.2 Khái niệm về một số chỉ tiết trong mô hình 1.1.2.1 Các điểm (Points) -2-2¿©25z+2zevcrxrerxeerreerree 1¿l:2.2: Gãc đường cong(CUTV©S Ìrsnsinunniiixodisxabs1461001146886888 1.1.2.3 Các SUTAC€ - - c1 112311 231111231 11811112 111g re DU 0n ha -
1.1.2.5 Tổng quan về mô hình hóa ¿- 2222
1.1.2.6 Hệ tọa độ trong không gian 3 chiều -
1.1.2.7 Quá trình xử lý hiển thị trong đồ họa 3D
1.2 Biểu diễn đối tượng 3D ¿-cs+xcsrseee 1.2.1 Biểu diễn mặt lưới 3D 1.2.2 Biểu diễn bề mặt trơn tham sỐ 2 2 ++c++xxerxerxeẻ 1.2.3 Đường cong tham số NURBS -2¿25¿©5z+cszczxez 1.2.4.Thư viện xử lý đồ họa OpenGL -z+s2szz 1.3 Kết luận chương -2- 22 + E+EESEESEEE2EEE2EEEEEEEEEerrkrrkerrx 009) 6225 -::ạ.a
MOT SO VAN DE TRONG BIEU DIEN MO HINH 3D BOI KY THUAT NURBS 2.1 Đường cong tham số NURBS 2- 2£ ©++xe+cxzecred 2.1.1 Đường cong — CƯRVE - 55c SH ri, 2.1.2 Điểm biểu diễn đường cong (curve represents points ) 2.1.3 Đường cong đa thức bậc ba tham biến .-. +:
Trang 6IV
2.1.5 Đường cong B€ZI€T -.- G- << SH HTHn HH HH Hư 26 2.1.6 Đường cong B-SpÏn€s + + ni, 29 2.1.6.1 Đường cong bậc ba SpÏInes - se csxssseersresrxee 29 2¡0:1L22.ĐữỜñ8B SH sunaaeoaeaisbsassiisvESE514413005839484558055388/G18393 33
2.1.7 Đường cong tham số NURBS -2-2©£+2++£xzzrxzrred 40
2.2 Bề mặt NURBS
2.2.1 Mô hình bề mặt (Surface) và các phương pháp xây dựng 4I
2z2.1.1.;:Cc khái niệm cơ ĐẠN ssosessseoaacsostoiolillAESRRXEESEKESISNERRSsIASiSA 4I
2.2.1.2 Biểu diễn mảnh tứ giác . .-:-+©++22+++2cv++zcvsrrrrsee 41
2.2.1.3 Tam giác — TT1anØUÏAT- - xxx steitrirrreerre 43 2.2.2 Mặt từ các đường CONE - óc xxx HH ng re, 44
2:2.2.,1› Mặtcongbậc ba HETTG::¿-.s.csczszznssisscssix6400311480018531356589068865E 44
2:22.2.-Mat CONnP BO Z1GE crnissesososeeliooIEKEEEUAEESEESIEEEDDGSEXYEESSHESEESLUEESS 2.2.2.3 Mat cong B-spline
2.2.2.4 Bề mặt NURBS -cccc tre 2.2.2.5 Thuật toán NURBS biểu diễn bề mặt 52
CHƯƠNG 3 CHƯƠNG TRÌNH THỰC NGHIỆM - 54 3.1 Bal tO 54
3.2 Phan tich lura Chon CONG CU eeeeeseeseeseeeceeeeseeeaeeeeeseeseeeeeaeeeteeeneeeaees 55
3.3 Một số kết quả của chương trình -2- z2 +2sz+2zs+zzszz 57
0908.950097) 64 IV 108)9009°7)804 6 65
Trang 7Hình 1.1 Minh hoạ tham số của đường cong tại một điểm 9 Hin, 1.2 NOtmal secis.vesesesssersrinesnesnreesveonessvessevenscvostvesenenneseesvoussevnvocrenvenrerovenees 10 Hình 1.3 Các thành phần chính của một đường cong . -s 11
Hình 1.4 Một cảnh biêu diễn đối tượng 3 chiều -2- 2252 12
Hình 1.5 Hệ tọa độ Descartes ba chiều với HUẾ ŸtstcnteoiseseeesilES0GG/11745E0256E 14
có chiều chạy xa người quan sát 2- 22 ©s+2+2+EE+EEE+EEE+EEzExsrrsrrkerree 14
Hình 1.6 Hệ tọa độ Descartes ba chiều với trục x -. -:+-s+c+zszzszxcrx 14
có chiều chạy về phía người quan sát 2-2-2 z+£+z+rs+zxezrxezrxee 14 Hình 1.7 Quá trình xử lý và hiển thị 3D -. ¿- 2 22+cxccrssrxesrserrxee 15 Hinh 1.8 Biéu diễn các đường cong và mặt COng .- - -s-x+sc+sc<+ 16 Hình 1.9 Lưới tam giác và lưới tứ giác
Hình 1.10 Biểu diễn mặt đa giác ¿- 2c 2e Ec‡EEeEEEEEEEEEEEEerkerrkerkeee
Hình 1.11 Minh hoạ tiến trình dựng một chiếc cốc đơn giản bằng NURBS 18
Hình 2.1 Đường cong đa thức bậc ba - <5 Set Skseereerkrrerreeee 23 Hình 2.2 Đường cong Hermi€ ¿+ 5c Set svEererkeererrekrrerree 24 Hình 2.3 Đường cong TH6TImlÍ:;¿‹::s:¿:::::::sxz::6155663260)516456163165043844111855556563133165 26 Hình 2.4 Đường cong B€ZI€T - + St ST HH tiệc 27 Hình 2.5 Hàm hợp của đường cong B€ZI€T - 5 5< + + s+eeesseree 27
Hình 2.6 Kết nối hai đường cong - 2-2 2++E++x£+EE£EE+EEerrxezrxrrreee 30
Hình 2.7 Phân đoạn của đường cong Spline — Hermite - - 31 Hình 2:8: Đường:cong B-SDÌÌN ;ssszz:scczs23556666185611506486165116300515143185556655835188 35
Hình 2.9 Biểu diễn mảng tứ giác . -2¿ + ©++2x++£x++cxxzrxeersee 42 Hình 2.10 Kết nối mảng tứ giác -. -¿- +©+++2++22+++2zv+scrxrerres 43
Hình 2.11.Mảnh tam gláC - c5 + 3 9 ng ngư, 44
Hình 2.12 Mặt cong Hermite và các điểm dữ liệu -2- ¿5+ 46
Trang 8VI
Hình 2.13 Mặt cong B.€Z1eT ¿+ + nà ST HH HH HH HH Hit 47
Hình 2.14 Nối hai mảnh Bezier bậc ba -¿- 2 xxx 2EveEerkerxerkeree 49
Hình 2.15 Bề mặt NUR.BS 2¿22¿+++2EE+++EEE+tEEEeerEverrrrrrrree 51 Hinh 3.1 Biéu diễn mô hình bề mặt Nurbs . - -2- 222525252 57 Hình 3.2 Biểu diễn mô hình bề mặt Nurbs . - -¿- ¿2525252 58 Hình 3.3 Biểu diễn mô hình bề mặt Nurbs . 2- ¿25522 589
Trang 9DANH MUC TU VIET TAT
STT| Ký hiệu Tiếng Anh Tiếng Việt
1 2D Two- dimensional Không gian hai chiều 2 3D Three-dimensional Không gian ba chiều
3 CAD Computer-aided design mg - cue ee heir Gus máy tính
: Một điểm điều khiển hình
4 CP Control point dạng của một đối tượng,
5 CPU Central Processing Unit | Bộ xử lí trung tam
6 CT Computed Tomography | chụp quét cắt lớp điện toán Một điêm mà điêu khiên Ts CV Control vertex hình dạng của đường cong
NURBS hay bê mặt
Một điêm mà năm trên ¬- đường cong là điêm nôi của
Trang 10MO DAU
1 Lý do chọn đề tài
Trong những năm gần đây công nghệ thông tin đã đạt được những bước
phát triển nhảy vọt cả về phần cứng lẫn phần mềm Những ứng dụng của nó vào cuộc sống ngày càng phong phú, đa dạng và thiết thực hơn Từ các lĩnh vực cơ bản như khoa học cơ bản, kinh tế, kỹ thuật cho đến các lĩnh vực như giải trí, du lịch, không lĩnh vực nào không có sự ứng dụng thiết thực và hiệu quả của công nghệ thông tin Sự phát triển không ngừng của sức mạnh máy
tính đã làm cho một số lĩnh vực khó phát triển trước kia nay đã có khả năng phát triển và đã đạt được những thành tựu đáng kể Chúng ta có thê kể đến cả
các lĩnh vực như: các hệ chuyên gia, các hệ xử lý thời gian thực
Hiện nay, đồ họa máy tính đang là một lĩnh vực hết sức lý thú và được
ứng dụng rất nhiều trong cuộc sống, đặc biệt phương pháp mô hình hóa hình học các đối tượng 3 chiều dựa trên mặt cong NURBS đang được quan tâm nghiên cứu và triển khai trong đồ họa ba chiều Hơn thế, phương pháp này đang được ứng dụng để mô hình hóa các vật thể trong các hệ thống
CAD/CAM
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á Trong quá trình tìm hiểu và nghiên cứu về đồ họa máy tính cùng cùng với gợi ý của thầy hướng dẫn học viên đã lựa
chọn dé tài “Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính”
2 Đối tượng và phạm vi nghiên cứu + Đối tượng:
- Mô hình đối tượng 3D;
Trang 11- Biễu diễn bởi kỹ thuật NURBS để biểu diễn đường cong và bề mặt
mô hình 3D trong máy tính
3 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu:
- Hệ thống hóa kỹ thuật biểu diễn đối tượng 3D bởi đường cong NURBS và bề mặt NURBS
- Đề xuất hướng nghiên cứu hỗ trợ cho việc mô phỏng các đối tượng trong thế giới thực, mô phỏng hình học và đặc biệt trong thiết kế công nghiệp và tự động như sản xuất các hình dáng bên ngoài của tầu, của ô tô, tầu ngầm và máy bay và còn thiết kế phông chữ cho các ngôn ngữ khác nhau
4 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết: Tìm hiểu, tổng hợp tài liệu, phân tích, đánh giá các phương pháp
- Phương pháp trao đôi khoa học, lấy ý kiến chuyên gia
- Phương pháp thực nghiệm: xây dựng chương trình cụ thể để thử nghiệm, phân tích, đánh giá kết quả đạt được
5 Luận văn gồm ba phần chính:
Chương I Khái quát về đối tượng 3D và bài toán biểu diễn NURBS Chương 2 Một số vấn đề trong biểu diễn mô hình 3D bởi kỹ thuật
NURBS;
Chương 3 Chương trình thử nghiệm
Trang 12CHƯƠNG 1
KHAI QUAT VE DOI TƯỢNG 3D
VA BAI TOAN BIEU DIEN NURBS
Nội dung chính của chương sẽ trình bày những khái niệm cơ
bản về đồ họa ba chiếu theo định hướng của đê tài và các khái niệm
biểu diễn mô hình 3D, biểu diễn đường cong và bê mặt
1.1 Khái quát về đối tượng 3D 1.1.1 Một số khái niệm về đồ họa 3D
Đồ họa máy tính là một lĩnh vực khoa học nghiên cứu về các thuật toán
cũng như kĩ thuật cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính Đồ họa máy tính có liên quan đến đại số, hình học giải tích, hình
học họa hình, quang học, kĩ thuật máy tính và chế tạo phần cứng (các loại
màn hình, các thiết bị xuất, nhập, các vi mạch đồ hoa )[1]
Hệ đồ họa bao giờ cũng có hai thành phần chính đó là phần cứng và phần mềm Phần cứng gồm thiết bị hiển thị và nhập dữ liệu, Phần mềm gồm công cụ lập trình và các trình ứng dụng đồ họa Công cụ lập trình cung cấp tập các hàm đồ họa có thể được dùng trong các ngôn ngữ lập trình cấp
cao như C, Pascal, Các hàm cơ sở của đồ hoạ bao gồm việc tạo đối tượng cơ sở của hình ảnh như đoạn thẳng, đa giác, đường tròn, ., thay đổi màu sắc,
chọn khung nhìn, áp dụng các phép biến đổi, .Ứng dụng đồ họa được thiết
kế cho những người dùng không phải là lập trình viên tạo được đối tượng,
hình ảnh, mà không cần quan tâm tới việc chúng được tạo ra như thế nào
Ví dụ như 1a Photoshop, AutoCAD,
Việc thể hiện các đối tượng 3D trên máy tính là cần thiết vì phần
lớn các đối tượng trong thế giới thực là đối tượng 3D còn thiết bị hiển thị chỉ hiển thị ảnh 2 chiều Do vậy muốn có hình ảnh 3 chiều ta cần phải giả
lập Biểu diễn đối tượng 3D bằng máy tính phải tuân theo quy luật về phối
Trang 13ngày càng chỉ tiết hơn
Khi mô hình hóa và hiển thị một hình ảnh 3D chúng ta xét rất nhiều
khía cạnh và các vấn đề khác nhau không đơn giản là thêm một tọa độ thứ 3 cho các đối tượng Bề mặt đối tượng có thể được xây dựng bởi nhiều tổ hợp khác nhau của mặt phẳng và mặt cong, đôi khi chúng ta còn mô tả một số thông tin bên trong đối tượng Khi biểu diễn đối tượng 3 chiều bằng máy tính ta cần quan tâm các van dé sau:
— Phương pháp biểu diễn
Có 2 phương pháp biểu diễn đối tượng 3 chiều là phương pháp biểu
diễn bề mặt và biểu diễn theo phân hoạch không gian
Phương pháp biểu diễn bề mặt mô tả đối tượng bằng một tập hợp các bề mặt giới hạn phần bên trong của đối tượng với môi trường bên ngồi Thơng thường ta xấp xỉ các bề mặt phức tạp bởi các mảnh nhỏ hơn gọi là các patch (mặt vá) Các mảnh này có thể là các đa giác hoặc các mặt cong
Phương pháp phân hoạch không gian thường dùng đề mô tả các thuộc tính bên trong đối tượng
— Các phép biến đồi hình học
Khi áp dụng một dãy các phép biến đổi hình học có thể tạo ra nhiều
phiên bản của cùng một đối tượng Do đó có thể quan sát vật thể ở nhiều vị trí, nhiều góc độ khác nhau và cảm nhận về các hình ảnh vẽ ba chiều sẽ trực quan, sinh động hơn Các phép biến đổi thường được sử dụng là phép tịnh tiến, phép quy, phép biến dạng được mô tả bằng các ma trận Ma trận của mỗi phép biến đổi có các dạng khác nhau
— Van dé chiếu sáng
Tác dụng của việc chiếu sáng là làm cho các đối tượng hiển thị trong
Trang 14máy tính giống với vật thể trong thé giới thực Đề thực hiện công việc này cần phải có các mô hình tạo sáng
Vật thê được chiếu sáng nhờ vào ánh sáng đến từ khắp mọi hướng gọi
là ánh sáng xung quanh (ambient light) hay ánh sáng nền (background light) Trên bề mặt có 2 loại hiệu ứng phát sáng là khuếch tán (diffuse light) - ánh sáng đi theo mọi hướng và phản xạ gương (specular light)
— Van dé tạo bóng
Để tạo bóng ta ứng dụng các mô hình xác định cường độ sáng theo nhiều kiểu khác nhau tùy thuộc bài toán cụ thể Các vật có bề mặt phẳng
chỉ cần tính cường độ sáng chung cho một bề mặt là có thể hiển thị đối
tượng tương đối thật Các vật có bề mặt cong phải tính cường độ sáng cho từng pixel trên bề mặt Đề tăng tốc độ ta xấp xỉ các mặt cong bởi một tập hợp các mặt phẳng Với mỗi mặt phẳng sẽ áp dụng mô hình cường độ không đổi (flat shading) hoặc cường độ nội suy (Gouraud shading, Phong shading) để tạo bóng
Các ứng dụng cơ bản của đồ họa 3D
3D là công nghệ được xây dựng từ các phần mềm máy tính, giúp người sử dụng có thể quan sát hình ảnh trong không gian ba chiều Ứng dụng của công nghệ này được sử dụng trong một số lĩnh vực đạt hiệu quả cao như Y học, xây dựng, kiến trúc, phim, trò chơi Tại Việt Nam công nghệ này chỉ mới được sử dụng phần lớn trong quảng cáo và kiến trúc
— Ung dung dé hoa 3D trong y tế
Ứng dụng công nghệ hình ảnh 3D thu hút sự chú ý của nhiều người trong lĩnh vực y học Nhiều bác sĩ cũng tận dụng công nghệ mới này phục vụ điều trị bệnh nhân giúp tăng độ chính xác và hiệu quả
Với phương pháp chụp cắt lớp điện toán (CT) hay chụp cộng hưởng từ (MRI) Bac si phai theo dõi hình ảnh 2D trên màn hình, vừa phải tưởng tượng
Trang 15và tập trung hơn vào phẫu thuật
— Ứng dụng đồ hoạ 3D trong xây dựng kiến trúc
Đối với người thiết kế: có thể vẽ lên không gian 3 chiều, ứng dụng vật liệu thật vào không gian, phối trí và phân tích ánh sáng, thông gió hợp lý nhất cho công trình thiết kế xây dựng làm cho sự kết hợp giữa các yếu tố, bố trí các vật dụng trở nên hài hồ Tính tốn tải trọng kết cấu chính xác nhất, đưa ra giải pháp tiết kiệm vật tư và chỉ phí nhằm nâng cao năng lực cạnh tranh Đối với người khách hàng: ứng dụng 3D trong kiến trúc làm cho người xem như đứng ngay trong không gian trong thực tế
~ Ứng dụng đồ hoạ 3D trong phim, trò chơi
Công nghệ 3D trong phim ảnh đang là xu hướng phát triển của điện ảnh thế giới Ứng dụng tạo hình 3D mang đến cho người xem những trải nghiệm
thực sự, những hình ảnh sống động và hấp dẫn Nó cũng được sử dụng để tạo các hiệu ứng phim và thực tại ảo, khán giả sẽ trải nghiệm những hành động,
cử chỉ sống động như thật Trong game, ứng dụng công nghệ 3D để xây dựng mô hình, và chuyên động cho hình ảnh sắc nét giúp người chơi bao quát được
toàn bộ góc nhìn với chất lượng hình ảnh tốt nhất và không bị gián đoạn
— Ứng dụng đồ hoạ 3D trong mô phỏng, đào tạo
Hệ thống phần mềm mô phỏng các thí nghiệm bằng hình ảnh minh họa
sống động, giúp học sinh dễ nhận biết, tiếp thu và tạo sự hứng thú với môn
học Cho phép học sinh, sinh viên được quan sát trực quan các mô hình cụ thể, thấy được những hoạt động, chuyển động của các sự vật, sự kiện được giảng viên trình bày Học sinh được hình dung một cách rõ ràng và đầy đủ các khái niệm về hình học không gian, địa lý vũ trụ, mô hình sinh học hoặc các
khái niệm khó tưởng tượng ra trong thế giới hai chiều
Trang 16~ Ứng dụng đồ hoạ 3D trong lĩnh vực quốc phòng và an ninh
Những sản phẩm mô phỏng sẽ được áp dụng trong giảng dạy các môn khoa học như Giáo dục quốc phòng, quân sự Người học có thể quan sát chỉ
tiết các hoạt động của các bộ phận cơ khí, quy trình hoạt động và tương tác,
những hiện tượng xảy ra trong các hoạt động của vũ khí Công nghệ mô phỏng 3D mô tả chi tiết cụ thể hiện tượng bắn, quá trình chuyển vận của các bộ phận trong tương tác sự vật, hiện tượng giúp cho học sinh dễ nhận biết, tiếp thu tạo sự hứng thú với môn học
Có thể nói các ứng dụng tiềm năng của công nghệ hình ảnh 3D là
vô hạn và để làm được điều đó ta phải biết cách biểu diễn mô hình 3D
trong máy tính
1.1.2 Khái niệm về một số chỉ tiết trong mô hình
1.1.2.1 Cac dié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): Mot diém diéu khién hinh dạng của một đối tượng Ví dụ của CP là các điểm cia NURBS (control vertices - CVs), cdc
đỉ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 dung hinh, một điểm mà nằm trên đường
Trang 17Thê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 va CV Multiplicity: Multi-knot 1a nhiéu EP ở trong cùng một vi 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 [2]
1.1.2.2 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=arbt + c + dẺ+ y=g+ht + j + kẺ+
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é dé 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 cua cac doan tao ra
đường cong đó người ta gọi 1a edit points, cOn mỗi đoạn đó người ta gọi là segment hay 1a 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
Trang 18bớ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ự dong (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:
e Đường bậc | (linear): các đường cong chỉ việc đặt ở các vị liên tiếp nhau
e_ Đường bậc 2 (squadratic): các đường cong đặt tiếp xúc với nhau e Duong bac 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
e_ Đường bậc l: là các EP đặt thang hang
e_ Đườ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
parameter = 2.3
parameter = 0.0
Hình 1.1 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
« Déi véi surface can một tham số nữa để xác định theo bề rộng của surface, đó là tham số V
- Normail: Nó là đường trực giao tại một điểm nằm trên bề mặt hay
Trang 19đườ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
Hinh 1.2 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 phan: đầ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 Vi du như một đường cong bậc 3 thì cần đến 4 CV trên nó
= EP: CV va 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
Trang 2011
U Control Vertex ~,
Hull
6 Span
Hình 1.3 Các thành phần chính của một đường cong
Những thành phần này quyết định đến việc hién thị của đường cong: Curve direction : đường cong chỉ có một hướng U
Span : khoảng cách giữa 2 điểm Editpoint
Hull : đường nối giữa 2 điểm đã cho
Control Vertex(CV): điểm điều khiến
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
1.1.2.3 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
mau nao đó, 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ố
Trang 21- Đườ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
1.1.2.4 Mô hình 3D
Mô hình 3 chiều mô tả, biểu diễn một đối tượng trong thế giới thực
bao gồm hình dạng bề mặt và hoạt động của đối tượng
Ví dụ con chìm bay, bướm lượn, ô tô chạy trên đường, toà nhà, mọi hoạt động của thế giới thực mà con người có thể nhận biết được
Mức cao nhất của việc tạo mô hình là tạo ra cả một cảnh phim chứa
đựng không gian, thời gian với môi trường cảnh quan với nhiều đối tượng
khác nhau cùng tồn tại như động vật, rừng núi, sông nước,
‘ XS“ g1 Sen Sea 7 rR
Hình 1.4 Một cảnh biểu diễn đối tượng 3 chiêu
Trang 2213
Trong 3D đồ họa máy tính, mô hình 3D là quá trình phát triển một đại
diện toán học của bất kỳ ba chiều bề mặt của một đối tượng (hoặc là vô tri vô
giác, sinh sống) thông qua phần mềm chuyên dụng Sản phẩm này được gọi
là mô hình 3D
1.1.2.5 Tổng quan về mô hình hóa
Trong kỹ thuật biểu diễn, người ta phân thành hai nhóm: mô hình hóa vật thể và mô hình hóa hình học
Kỹ thuật mô hình hóa hình học được phát triển trong các ngành công nghiệp tự động hóa và chủ yếu được sử dụng để thiết kế các hình dạng của xe hơi Hiện nay, mô hình này còn được ứng dụng trong các ngành như công nghiệp hàng không, hải quân và một số lĩnh vực khác Mô hình này cũng hỗ trợ chính cho việc điều khiển về mặt hình dạng
Kỹ thuật mô hình hóa vật thể được xây dựng dựa trên các thông tin biểu diễn đầy đủ, chính xác, rõ ràng một đối tượng trong không gian chúng có thê tạo ra các mô hình trên máy tính với khả năng phân loại bat kỳ điểm nào trong không gian ba chiều: phía trong, phía ngoài, hoặc là trên bề mặt của đối tượng
1.1.2.6 Hệ tọa độ trong không gian 3 chiều
Không gian ba chiều là một mô hình hình học có ba thông số trong
đó bao gồm tất cả các vật chất được chúng ta biết đến Ba chiều được
nhắc đến ở đây thường là chiều dài, chiều rộng, chiều cao (hoặc chiều sâu) Ba hướng bất kì nào cũng có thể được chọn, miễn là chúng không nằm trong cùng một mặt phẳng
Là 3 trục vuông góc nhau từng đôi một x'Ox, y'Oy, z'\Oz mà trên đó đã chọn 3 véc-tơ đơn vị 1, J, k sao cho độ dài của 3 véc-tơ này bằng nhau
— Hệ tọa độ Descartes
Trang 23_ Ì T 15 ; 3 + 5 Lũ 5 >/n,0,0] aay Bắc toa dé
Hình 1.5 Hệ tọa độ Descartes ba chiều với trục y có chiêu chạy xa người quan sát Zz Z-CcCao dé ® mai x-hoanh dé y-tung dé x
Hình 1.6 Hé toa d6 Descartes ba chiéu với trục x
có chiều chạy về phía người quan sát — Hệ tọa độ cực
Hệ tọa độ cực là một hệ tọa độ hai chiều trong đó mỗi điểm M bất kỳ
trên một mặt phẳng được biểu diễn bằng 2 thành phần:
Trang 2415
— Khoảng cách từ điểm đó tới một điểm gốc O (gốc Cực) gọi là bán kính
— Góc tạo bởi đường thang OM với hướng gốc cho trước (trục Cực) Hệ tọa độ cực hữu ích trong những trường hợp trong đó quan hệ giữa hai điểm dễ được viết dưới dạng góc và khoảng cách Trong các hệ tọa độ thông thường như hệ tọa độ Descartes, quan hệ này chỉ có thể được biểu diễn dưới dạng công thức lượng giác
1.1.2.7 Quá trình xử lý hiển thị trong đô họa 3D
Biến đối mô hình Tối ưu hóa Chiếu sang đối tượng Đôi hệ quan sát Loại bỏ phần nằm ngồi khơng gian quan sát
Chiếu từ không gian quan sát
sang không gian màn “Chuyến đối tượng sang dạng điểm ảnh Hiến thị đối tượng Hình 1.7 Quá trình xử lý và hiển thị 3D 1.2 Biểu diễn đối tượng 3D
Khi biểu diễn một đối tượng ba chiều, ta cần phải xem xét nhiều khía
cạnh Cụ thể như đường cong, mặt cong của đối tượng Ngoài ra, cần thêm một số thông tin về thuộc tính của đối tượng
Có nhiều phương pháp khác nhau để mô tả các đối tượng 3D Tùy
thuộc vào từng đối tượng cụ thể, có thể dùng các phương pháp thích hợp với
thuộc tính của các loại đối tượng đó Chẳng hạn để biểu diễn các đối tượng
như mặt tròn xoay, các đối tượng dùng để thiết kế các mô hình máy bay, bánh răng thường được sử dụng thông qua mặt cong tham số
Trang 25Các đối tượng trong thế giới thực phần lớn là các đối tượng ba chiều
còn các thiết bị hiển thị chỉ biểu diễn hai chiều Do vậy muốn có hình ảnh ba chiều ta cần phải tiến hành giả lập Ngoài ra khi chúng ta mơ hình hố và hiển
thị một đối tượng ba chiều, ta cần phải xem xét rất nhiều khía cạnh khác nhau như mặt phẳng, mặt cong và một số thông tin về bên trong các đối tượng
Biểu diễn mô hình ta có thể biểu diễn dưới dạng mô hình khung dây,
mô hình lưới đa giác,
Biểu diễn mô hình dạng khung dây cho ta thấy được các chỉ tiết bên
trong của mô hình, sử dụng các phương pháp di chuyển, xoay, xoá đi các
đường khuất (đề thê hiện mô hình dạng mặt)
Hình 1.8 Biểu diễn các đường cong và mặt cong
1.2.1 Biểu diễn mặt lưới 3D
Việc sử dụng mô hình khung lưới cho phép ta hình dung được kết cấu bên trong của một mô hình 3D bằng cách xoay chuyên đối tượng và chọn lựa xóa các đường ấn (những đường mà thường khi người ta không thể trông thấy thông qua các mặt phẳng cắt ngang)
Khi thể hiện bằng mô hình này, các đối tượng này không giống thực tế
lắm Vì vậy người ta dùng các kỹ thuật tạo bóng và loại bỏ các đường và mặt khuất Mô hình này thường nhanh nên người ta thường dùng nó trong việc xem phác thảo (preview) các đối tượng, đặc biệt là trong các hệ CAD
Trang 2617
Một dạng thông thường của lưới đa giác là các dãy tam giác (triale
strip) Khi đa giác được mô tả bởi nhiều hơn ba đỉnh, các đỉnh của nó có thể
không đồng phẳng Điều này có thể dẫn đến các lỗi tính toán Một phương pháp đơn giản là phân đa giác này thành các tam giác
WY HEE Hình 1.9 Luoi tam giác và lưới tứ giác
Hình 1.10 Biểu diễn mặt ẩa giác
1.2.2 Biểu diễn bề mặt trơn tham số
Trong trường hợp các đối tượng thực sự phức tạp, người ta thường dùng một hay nhiều mặt cong trơn ghép nối lại với nhau Mỗi thành phần dùng đề ghép nối được gọi là mặt vá (patch)
1.2.3 Đường và mặt cong tham số 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)
Trang 27NURBS là một tập hợp rộng lớn các đường cong conic, splines va 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
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ình 1.11 Minh hoạ tiến trình dựng một chiếc cốc đơn giản bằng NURBS
Trang 2819
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á
Tóm lại NƯRBS là một mô hình toán học được sử dụng trong kĩ
thuật đồ họa máy tính đề biểu diễn đường cong và bê mặt
Việc phát triên NURBS được bắt đầu từ những năm 1950 bởi những
kĩ sư cần các biểu diễn toán học chính xác của các bề mặt tự do như vỏ
của tàu thủy, bề mặt bên ngồi của tàu khơng gian vũ trụ và vỏ ôtô, những
thứ mà có thể sản xuất lại một cách chính xác bất cứ khi nào bằng kĩ
thuật Trước đó, loại bề mặt như vậy chỉ được biểu diễn bởi một mô hình
tạo bởi một người thiết kế mỹ thuật công nghiệp
Những người tiên phong cho cuộc phát triển nay co Pierre Bézier,
ky su cua Renault va Paul de Casteljau làm việc cho Citroen, ca hai đều
ở Pháp Bézier đã làm việc gần như đồng thời với de Casteljau, không ai biết về công việc của người kia Nhưng bởi vì Bézier đã công bố thành quả của ông ta, những người sử dụng công nghệ đồ họa máy tính ngày này công nhận đường Spline được biểu diễn với các điểm điều khiển giữ cữ cho đường cong là đường cong Bézier splines, Trong khi tên tuổi của de Casteljau chỉ được biết và dùng cho thuật toán mà ông ấy phát triển để
ước định bề mặt toán học điều khiển tham số Vào những năm 1960 mọi
việc đã trở nên rõ ràng rằng non-uniform rational B-splines là sự khái quát hóa của đường cong BézIer splines
Lúc đầu NURBS chỉ được sử dụng trong thuộc tính của gói phần mềm
CAD của các công ty ôtô Sau này chúng trở thành một phần của chuẩn gói
chuân đồ họa máy tinh
Trang 29Quá trình dựng ảnh tương tác thời gian thực của đường cong và bề mặt
NURBS được tạo bởi máy trạm làm việc silicon vào năm 1989 Vào năm
1993 công cụ mô hình hóa tương tác NURBS cho máy tính cá nhân gọi là
NURBS, đã được phát triển bởi CAS Berlin, một công ty nhỏ mới hình thành
liên kết với trường đại học kĩ thuật Berlin Ngày nay hầu hết các ứng dụng đồ
họa máy tính chuyên nghiệp có sẵn cho máy tính để bàn đều sử dụng kỹ nghệ
NURBS, các ứng dụng này thông thường nhất được thực hiện bởi việc kết
hợp một công cụ NURBS từ một công ty chuyên sâu
Một đường cong NURBS được xác định bởi các thông số: bậc, tập
điểm điều khiển có trọng số và một vector knot Đường và mặt cong NURBS
là trường hợp tông quát của đường, mặt cong B-spline and Bézier, điểm khác
biệt cơ bản là các điểm điều khiển đã được gán trọng số, khiến cho đường
cong NURBS có tỉ lệ
1.2.4.Thựư viện xử lý do hoa OpenGL
OpenGL là một tiêu chuẩn kỹ thuật đồ họa nhằm mục đích tạo ra một
giao diện lập trình ứng dụng đồ họa 3D được phát triển dau tién boi Silicon
Graphic, Inc OpenGL đã trở thành một chuẩn công nghiệp và các đặc tính kỹ thuật của OpenGL do Uỷ ban kỹ thuật ARB OpenGL cho phép phát triển các ứng dụng đồ họa sử dụng nhiều ngôn ngữ lập trình khác nhau như C/C++, Java, Delphi, v.v , tuy nhiên OpenGL cũng có thể được dùng trong ứng dụng đồ họa 2D Giao diện lập trình này chứa khoảng 250 hàm đề vẽ các cảnh phức tạp từ những hàm đơn giản và được ứng dụng rộng rãi trong các trò chơi
điện tử Ngoài ra còn được dùng trong các ứng dụng CAD, thực tại ảo, mô
phỏng khoa học, mô phỏng thông tin, phát triển trò chơi OpenGL sử dụng hệ tọa độ theo quy tắc bàn tay phải
Trang 3021
1.3 Kết luận chương
Trong chương này trình bầy các khái niệm lý thuyết về đồ họa, mô
hình, đối tượng 3D và phương pháp biểu diễn đối tượng 3D, quy trình xử lý
và hiển thị đối tượng trong không gian 3D Đồng thời nêu cách xây dựng các đối tượng là đường cong, mặt cong được xây dựng bởi phương trình không tham số
Tuy nhiên trong các ứng dụng đồ họa máy tính, hầu hết các đối tượng
được biểu diễn dưới dạng phương trình không tham số chưa thể hiện ý tưởng người thiết kế Với những bề mặt có độ lồi lõm bắt kỳ thì đòi hỏi khi thay đổi vị trí của một điểm điều khiển thì yêu cầu phải có sự thay đổi cục bộ chứ
không phải toàn cục trên bề mặt Để đáp ứng yêu cầu trên ta sử dụng kiểu vectơ nut (vector knot) không đều và mặt cong NURBS cho việc biểu diễn các đối tượng phức hợp 3D Do vậy trong chương 2 sẽ đưa ra phương pháp tong thê về những mô hình toán học đề biểu diễn và xây dựng các loại đường và mặt cong phức hợp trong không gian 3D trên máy tính mà ta gọi là đường cong và mặt cong tham số NURBS
Trang 31CHƯƠNG 2
MOT SO VAN DE TRONG BIEU DIỄN
MƠ HÌNH 3D BỞI KỸ THUẬT NURBS
Nội dung chính của chương này hệ thống hóa một số vấn đề trong biểu diễn mô hình 3D bởi đường cong và mặt cong NURBS
2.1 Đường cong tham số NURBS 2.1.1 Đường cong - CURVE
Trong các ứng dụng của đồ hoạ máy tính, hầu như các thực thể là đường cong mềm và mặt cong, chúng dùng để mô tả thế giới thực: nhà cửa, xe cộ, núi non hay xây dựng nên các thực thể đang được thiết kế Nhưng ta thấy sử dụng các phương trình đường cong không thể hiện được hình ảnh thực hay ý tưởng của người thiết kế, còn nếu ta dùng tập hợp các điểm thì
thường cần nhiều dung lượng nhớ để lưu trữ cũng như tốc độ tính toán
2.1.2 Điểm biểu diễn dwong cong (curve represents points )
Ta thay qua hai điểm vẽ được một đường thăng Qua ba điểm vẽ được một đường cong trong mặt phẳng Qua bốn điểm vẽ được một đường cong trong không gian Dùng các phương trình đường cong như Hypebol, parabol, thi tinh toán phức tạp và không thê hiện được hình ảnh thực hay ý tưởng của người thiết kế
Chọn đường cong như thế nào để phù hợp với máy tính? Biểu diễn và điều khiển đường cong thông qua điểm điều khiển Đường cong là các đối
tượng cơ bản thường là kết quả của tiến trình thiết kế và các điểm đóng vai trò
là công cụ để kiểm sốt và mơ hình hoá đường cong Cách tiếp cận này là cơ
sở của lĩnh vực thiết kế mô hình hình học nhờ máy tính (Cømputer Aided
Geometric Design - CAGD)
Các cách để biểu diễn đường cong:
e Tường minh (Explicit functions): y = f(x), z = g(x)
Trang 3223
e Không tường minh (Implicit equations): f(x,y,z) = 0
e Biểu diễn các đường cong tham biến (Parametric representation) x =x(t), y = y(t), z = z(t) trong do t € [0 1]
Han ché:
— Hệ đồ hoạ ứng dụng chỉ mô tả bó hẹp trong đoạn nào đấy
— Đường cong bậc cao với mỗi giá trị của x ta luôn có 2 tập giá trị của
y (thực tế chỉ cần 1)
- Chúng ta cần biểu diễn đường cong mềm (chỉ biễu diễn đường
“cong gay”)
2.1.3 Đường cong đa thức bậc ba tham biến
Phải đảm bảo là đường cong không gian với 3 tọa độ x, y, z Tránh được những tính toán phức tạp và những phần nhấp nhơ ngồi ý muốn xuất
hiện ở những đa thức bậc cao Công thức mô tả: Tường minh : y = Ÿ{x), z = g”(x) Không tường minh: f(x,y,z) = Ö
Hình 2.]I Đường cong ẩa thức bac ba Biểu diễn các đường cong tham biến:
x =0), y=(u),z=(u) trong đó u e[0, 1]
Theo Lagrange:
x=ai +bịu +c¡uˆ + dịu
Trang 33y =a¿+ bạu + œuẺ + dạu?
z= a¿ + bạu + cau + dau” Ở đây ba phương trình với 12 ân số
Với bốn điểm Po, Pi, P2, p3 phuong trình xác định (vì bốn điểm thì xác
định một đường cong trong không gian)
Mỗi một điểm cho 3 cặp giá trị:
=|#a| B=|»| BE =|#: | =|2›
Zz = 24 23
Tất cả có 12 phương trình, thay vào 3 phương trình trên ta tính được 12 ấn ai đạ
Ghi chú: rõ ràng có sự thay đôi một chút về đường cong thì ta lại phải giải lại hệ phương trình để tính các tham số cho đường cong, dẫn đến tính
toán chậm
2.1.4 Dwong cong Hermite
Phuong phap Hermite dựa trên cơ sở của cách biểu diễn Ferguson hay Coons năm 60 Với phương pháp của Hermite đường bậc ba sẽ xác định bởi hai điểm đầu và cuối cùng với hai góc nghiêng tại hai điểm đó
P1
a
PO F1
Po
Hinh 2.2 Duong cong Hermite
Theo cơng thức tốn học hàm bậc ba được biểu diễn dưới dạng:
Trang 3425
D = p(1) = kạ + kạu+ k„u? + KzuŠ
p(u) = > kyu; i€n (uỡi k, là câc tham số chưa biết)
Độ dốc của đường cong được đo bằng p'(u)
p' =p' (uw) =k, + 2k,ut 3k,u?
Pọ và p¡ ta có hai dé déc po’ va p:’ voi u = 0 va u = 1 tại hai điểm đầu,
cuối của đoạn [0, 1]: Đạ( = 0) = kọ po(u= 0)=k, pi(m = 1) = Ko + kị + kạ + kạ plw= l= iy +t 2k, 5k, Hay E— py tak = ph
ky = 3(P1— Po) — 2p) — py vaks = 2(M — Pi) + Po + Pi
Trang 35
Hình 2.3 Đường cong Hermite 2.1.5 Dwong cong Bezier
Việc sử dụng điểm với các vector kiểm soát được độ dốc của đường cong tại những điểm mà nó đi qua Tuy nhiên không được thuận lợi cho việc thiết kế tương tác, không tiếp cận với các độ dốc của đường cong bằng các giá trị số (Hermite)
Paul Bezier, nhân viên hãng RENAULT vào năm 1970 đi đầu trong việc ứng dụng máy tính cho việc xây dựng các bề mặt Hệ thống UNISURF của ông được áp dụng trong thực tế vào năm 1972 được thiết kế và kiểm xe Mezesez hay Renaut
Bezier đã sử dụng đa giác kiểm soát cho đường cong tại những đỉnh của đa giác và tiếp tuyến tại đó (po, Pu Pa P3)
Ta có po, ps tương tác với po, p¡ trên đường Hermite, điểm trung gian pi, p› được xác định bằng 1/3 theo độ dài của vector tiếp tuyến tại điểm po và pa
Trang 3627 pl p2 po g3 Hình 2.4 Đường cong Bezier Độ = 3 — Dạ) Đi = 3Œ — D;) p = p(1) = pạ(1— 3u? + 2uŠ)+p;(3u? — 2u) + pạ (u — 2uˆ + uŠ +p{CHẺ + 2) p = p(w) = pạ(1— 3u + 3u? — u3) +p(3u — 6u”— 3uŠ) +p; (3u? — 3u? + pu? 1 0 0 0 Po ~ p(w) =Muu2wi| 3 3 9 «0 | | p=p(u) = [luv u*] ở củ 3 lbs —1 3-3 1! Ds Hình 2.5 Hàm hợp của đường cong Bezier Ưu điểm:
Dễ dàng kiểm soát hình dạng của đường cong hơn vector tiếp tuyến tại Po’ va p;’ cua Hermite;
Trang 37Nằm trong đa giác kiểm soát với số điểm trung gian tùy ý (số bậc tùy
ý), có số bậc = số điểm kiểm soát -l;
Đi qua điểm đầu và điểm cuối của đa giác kiểm soát, tiếp xúc với cặp hai vector của đầu cuối đó
Biểu thức Bezier — Bernstain
Đường Bezier cũng có thê được biết đến như biểu thức Bezier Bernstain bởi kỹ thuật mà Bezier sử dụng là áp dụng công thức hóa các vector trong phép tính đa giác xấp xi được Berstain phát triền gần đây Phép toán đại số được xác định như sau: 0<u<1 O!=1, u=1 khi i=0 n p(w) = ) Bin (WR i=0 B;„(u) = CQ@,i) wid — uw)? n! C(n,i) = ————— =F»! Trong do Po, , Pn: vector vi tri cua da giac (n+1) dinh Tinh chat:
— Pp va P, nằm trên đường cong
— Đường cong liên tục và có đạo hàm liên tục tất cả các bậc
Trang 3829
2.1.0 Đường cong B-Splines 2.1.6.1 Duong cong bac ba Splines
Trong công thức của Bezier, chúng ta sử dụng hàm hợp liên tục để xác định điểm kiểm soát tương đối Với các điểm nội suy thì mức độ tương đối sẽ khác nhau mà trong đó một chuỗi các phần tử nhỏ sẽ kết hợp với nhau tạo ra đường cong đa hợp Theo tính toán thì đường bậc ba sẽ đa thức bậc thấp nhất
có thể để biểu diễn một đường cong trong không gian và chuỗi điểm Hermite
sẽ phù hợp nhất đối với việc xây dựng nên đường cong đa hợp này
Việc yêu cầu người sử dụng đưa vào các vector tiếp tuyến tại mỗi điểm trong tập hợp các điềm là cực kỳ bat tiện cho nên thường trong các đường bậc
ba đa hợp ta sử dụng các điều kiện biên liên tục trong phép đạo hàm bậc một
và hai tại điểm nối giữa và đường cong được xác định như trên gọi là đường spline bậc ba với phép đạo hàm liên tục bậc hai Giá trị đạo hàm của đường
cong sẽ xác định độ cong tại mỗi điểm nút và nó cũng đưa ra điều kiện biên
cho mỗi đoạn trên đường cong
Vậy đường bậc ba spline có ưu điểm là không phải xác định độ dốc của
đường tại các nút nhưng nhược điểm của nó là chỉ tạo ra sự thay đổi toàn cục
khi ta thay đổi vị trí của điểm
Đường cong — Spline di qua n điểm cho trước mà mỗi đoạn là các đường cong bậc ba độc lập có độ dốc và độ cong liên tục tại mỗi điểm kiểm soát hay điểm nút Với n điểm ta có (n-1) đoạn với mỗi đoạn gốm bốn vector hệ số hay
A(n-1) cho n-1 doan, va 2(n-1) điều kiện biên và (n-2) điều kiện về độ dốc cùng
(n-2) về độ cong
Để xây dựng nên đường spline có tham số với n điểm nút ta có một dãy các giá trị tham số mà ta gọi là vector nút
Uo -.-Un-1 trong đó u0¡¿¡ >u¡
Trang 39Cần lựa chọn tại mỗi nút, cách lựa chọn đơn giản nhất là theo cách đơn
điệu có nghĩa là với giá trị 0 tại điểm đầu và tăng lên 1 tại những điểm kế tiếp
Tuy vậy phương pháp này dẫn đến độ cong không mong muốn tại các điểm vì
vậy việc tham số hoá sẽ đưa vào chiều dài, nhưng phương pháp này cũng
không được chính xác khi mà đường cong chưa xác định chiều dài Tuy nhiên thông thường người ta sử dụng việc tích luỹ của các dây cung với:
uọ =0 và u0¡¿¡ = u¡ + dị¿¡ trong đó đi: là khoảng cách giữa 2 điểm p¡-¡
va pi
Trong các trường hợp đường cong có bậc lớn hơn ba có thể dùng cho đường spline Thông thường đường spline bậc n sẽ được xây dựng trên các
phần nhỏ liên tục của các biến độc lập y(t)
a Z7
—>x(f)
Hình 2.6 Kết nối hai đường cong
Hình trên cho thấy hai đoạn cong có chung điểm nối mà đường cong
liên tục tại điểm đó, việc biểu diễn tính liên tục của đường cong thông qua
chữ cái C-Cuntinue Cọ để đảm bảo không có sự gián đoạn giữa hai đoạn
cong C¡ tính liên tục bậc nhất hay đạo hàm bậc nhất tại điểm nối Cạ đạo hàm
bậc hai liên tục của đường cong tai diém nôi
Trang 4031
Giả sử khi biểu diễn đường cong mềm thông qua các đoạn cong Q¡, Q›,
Q; (mỗi đoạn có 4 vector hệ số) cần thoả mãn:
Liên tục tại điểm nối hay Co! = Co?
Độ đốc (hay vector tiếp tuyến) tại điểm nối (điểm cuối của Q¡ và đầu
Q;) là như nhau: C¡! = C¡? (đạo hàm bậc nhất)
Thoả mãn liên tục trên tại điểm nối (đạo hàm bậc 2 liên tục tại điểm
nối) C2! = Cy
Việc kết hợp các đoạn cong Hermite bậc ba để mô tả một đường cong mềm theo kiểu phân đoạn spline là phương pháp đơn giản nhất hay còn gọi là phương pháp Hermite nội suy Với phương pháp này thì tham biến u¡ cho mỗi đoạn cong ¡ của tập các đoạn cong Hermite sẽ biến đổi trong khoảng từ 0 đến 1 và luôn tồn tại đạo hàm bậc nhất của các đoạn cong tại các điểm nối Phương trình cho mỗi đoạn cong được sử dụng lúc này là phương trình đường cong bậc ba Hermite: 1 00 0I1ỊP _ _ 2/0 0 1 Of {Ps p=?@)=[1ww la 3 2-1} |e 2 2 1 1! |p ¥ „ a / By " ' Py z x
Hình 2.7 Phân đoạn của đường cong Spline — Hermite
Theo Hermite các đoạn là các đường cong, tính liên tục của đạo hàm
bậc hai tại các điểm nối có thể dễ dàng đạt được bằng cách đặt Pˆ”;.¡(u¡.¡=1) là