Khi xét đến sự phát triển của một tiến trình trong một khoảng thời gian, chúng ta sử dụng các thuật ngữ của lý thuyết hỗn độn, còn khi quan tâm nhiều hơn đến các dạng có cấu trúc mà một
Trang 1LỜI NÓI ĐẦU
Khoa học tự nhiên nói chung và toán học nói riêng trong nhiều thập kỷ qua đã đạt được nhiều thành tựu vô cùng to lớn Những thành công to lớn đó đã tạo điều kiện cho con người từng bước giải mã các quy luật của tự nhiên Một khi các quy luật đã được biết, người ta tin rằng sự tiến hoá hoặc phát triển của các sự vật sẽ được dự đoán trước chính xác hơn nhiều, ít ra là về mặt nguyên tắc Trong toán học, bên cạnh hình học Eucilide cổ điển với các tiên đề (định đề) về điểm, đường thẳng, mặt phẳng và hình học Lobachevsky (hình học hyperbolic) dựa trên cơ sở bác bỏ tiên đề về đường thẳng song song của hình học Euclide thì đến năm 1975 xuất hiện thêm hình học phân hình Các bạn thử nghĩ xem, chúng
ta đã học nhiều về Hình học Euclide như hình tròn, hình vuông, hình đa giác nhưng chúng đều là những hình lí tưởng, có mấy khi xuất hiện trong thực tế? Mandelbrot đã nói rằng: "Các đám mây không phải hình cầu, các ngọn núi không phải hình nón" Và chính ông đã đề xướng ra khái niệm Fractal để chỉ các đối tượng hình học có hình dáng gồ ghề, không lí tưởng trong tự nhiên Từ khi xuất hiện đến nay, hình học phân hình đã được đông đảo mọi người chú ý và thích thú nghiên cứu Các cấu trúc phân hình cơ sở và vẻ đẹp của những hình ảnh do chúng tạo nên thực sự lôi cuốn hơn nhiều so với các đối tượng toán học đã từng được biết đến Hình học phân hình đã cung cấp cho các nhà khoa học một môi trường phong phú cho sự khám phá và mô hình hoá tính phức tạp của tự nhiên
Hình học phân hình luôn đi đôi với lý thuyết hỗn độn Khi xét đến sự phát triển của một tiến trình trong một khoảng thời gian, chúng ta sử dụng các thuật ngữ của lý thuyết hỗn độn, còn khi quan tâm nhiều hơn đến các dạng có cấu trúc
mà một tiến trình hỗn độn để lại trên đường đi của nó, chúng ta dùng các thuật ngữ của hình học phân hình là bộ môn hình học cho phép “sắp xếp thứ tự” của sự hỗn độn đó Trong ngữ cảnh nào đó hình học phân hình là ngôn ngữ đầu tiên để
mô tả, mô hình hoá và phân tích các dạng phức tạp đã tìm thấy trong tự nhiên Nếu như các phần tử của ngôn ngữ truyền thống như đoạn thẳng, đường tròn và hình cầu được dùng để hiển thị hình học cổ điển thì các dạng và cấu trúc được dùng để hiển thị hình học phân hình nhờ sự biến đổi của máy tính
Việc nghiên cứu ngôn ngữ hình học tự nhiên này mở ra nhiều hướng mới cho khoa học cơ bản và ứng dụng Trong đề tài này, tôi chỉ mới thực hiện nghiên
Trang 2cứu một phần rất nhỏ về hình học phân hình và ứng dụng của nó Nội dung của
đề tài gồm có bốn chương được trình bày như sau:
Chương I: Trình bày các kiến thức tổng quan về lịch sử hình học phân hình, về các kết quả của cơ sở lý thuyết
Chương II: Trình bày các kỹ thuật cài đặt hình học phân hình thông qua
sự khảo sát các cấu trúc Fractal cơ sở, thuật toán chi tiết để tạo nên các cấu trúc này Trên cơ sở đó, minh họa một vài đối tượng trong tự nhiên
Chương III: Kết quả cài đặt chương trình
Chương IV: Kết luận và hướng phát triển
Nhân đây, em xin chân thành cảm ơn thầy Mai Cường Thọ đã tận tình hướng dẫn, giúp đỡ em trong suốt thời gian thực hiện đề tài này, chân thành cảm
ơn quý thầy cô khoa Công nghệ thông tin Trường Đại học Nha Trang đã tận tình giảng dạy, trang bị cho chúng em những kiến thức cần thiết trong suốt quá trình học tập Em cũng xin gởi lòng biết ơn đến gia đình, cha, mẹ, và bạn bè đã ủng
hộ, giúp đỡ và động viên em trong suốt quá trình thực tập
Đề tài được thực hiện trong một thời gian tương đối ngắn, nên dù đã hết sức cố gắng hoàn thành nhưng chắc chắn sẽ không thể tránh khỏi những thiếu sót nhất định Rất mong nhận được sự thông cảm và đóng góp ý kiến của các thầy
cô, bạn bè nhằm tạo tiền đề thuận lợi cho việc phát triển các đề tài ứng dụng liên quan trong tương lai
Nha Trang, ngày 8/12/2007
Sinh viên thực hiện
Lê Thị Đào
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 4
MỤC LỤC
CHƯƠNG I GIỚI THIỆU CHUNG VỀ HÌNH HỌC PHÂN HÌNH Trang 6
I.1 SỰ RA ĐỜI CỦA LÝ THUYẾT HÌNH HỌC PHÂN HÌNH 6
I.1.1 Tính hỗn độn của các quá trình phát triển có quy luật trong tự nhiên 6
I.1.2 Định nghĩa Fractal (Phân dạng) 10
I.1.3 Sự mở rộng khái niệm số chiều và độ đo trong lý thuyết hình học Eulide cổ điển 13
I.2 SỰ PHÁT TRIỂN CỦA LÝ THUYỂT HÌNH HỌC PHÂN HÌNH 14
I.3 CÁC ỨNG DỤNG TỔNG QUÁT CỦA HÌNH HỌC PHÂN HÌNH 15
I.3.1 Ứng dụng trong vấn đề tạo ảnh trên máy tính 15
I.3.2 Ứng dụng trong công nghệ nén ảnh 16
I.3.3 Ứng dụng trong khoa học cơ bản 21
I.4 CÁC KIẾN THỨC CƠ SỞ CỦA LÝ THUYẾT HÌNH HỌC PHÂN HÌNH 21 I.4.1 Độ đo Fractal 21
I.4.2 Các hệ hàm lặp IFS 25
CHƯƠNG II CƠ SỞ LÝ THUYẾT 30
II.1 ĐỒ HỌA CON RÙA (TURTLE GRAPHIC) 30
II.2 HỌ ĐƯỜNG VON KOCK 31
II.2.1 Đường hoa tuyết Von Kock-Nowflake 32
II.2.2 Đường Von Kock-Gosper 34
II.2.3 Đường Von Kock bậc hai 3-đoạn 35
II.2.4 Đường Von Kock bậc hai 8-đoạn 36
II.2.5 Đường Von Kock bậc hai 18-đoạn 37
II.2.6 Đường Von Kock bậc hai 32-đoạn 38
II.2.7 Đường Von Kock bậc hai 50-đoạn 39
II.3 HỌ ĐƯỜNG PEANO 41
II.3.1 Đường Peano nguyên thuỷ 41
II.3.2 Tam giác Cesaro 42
II.3.3 Tam giác Polya 43
II.3.4 Đường Peano-Gosper 44
II.4 HỌ ĐƯỜNG SIERPINSKI 45
II.4.1 Sierpinski Gasket (Tam giác Sierpinski) 45
Trang 5II.5 CÂY FRACTAL 46
II.5.1 Các cây thực tế 47
II.5.2 Biểu diễn toán học của cây .47
II.6 HỆ THỐNG HÀM LẶP (IFS) 50
II.6.1 Các phép biến đổi Affine trong không gian R2 50
II.6.2 IFS của các pháp biến đổi Affine trong không gian R2 51
II.6.3 Giải thuật lặp ngẫu nhiên 52
II.7 TẬP MANDELBROT 54
II.7.1 Đặt vấn đề .54
II.7.2 Công thức toán học 55
II.7.3 Thuật toán thể hiện tập Mandelbrot 56
II.8 TẬP JULIA 61
II.8.1 Đặt vấn đề .61
II.8.2 Công thức toán học 61
II.8.3 Thuật toán thể hiện tập Julia 62
II.9 HỌ CÁC ĐƯỜNG CONG PHOENIX 64
II.10 HỌ ĐƯỜNG CONG DRAGON 67
II.11 ĐƯỜNG CONG HILBERT 68
II.12 MỘT SỐ ĐƯỜNG FRACTAL KHÁC 69
CHƯƠNG III CÀI ĐẶT CHƯƠNG TRÌNH 74
III.1 Vấn đề đặt ra cho chương trình 74
III.2 Giải quyết chương trình 74
III.3 Thiết kế giao diện 74
III.4 Một số hàm đồ họa sử dụng trong chương trình 75
III.5 Cách sử dụng chương trình 77
CHƯƠNG IV KẾT LUẬN 80
TÀI LIỆU THAM KHẢO 81
Trang 6CHƯƠNG I
GIỚI THIỆU CHUNG VỀ HÌNH HỌC PHÂN HÌNH
I.1 SỰ RA ĐỜI CỦA LÝ THUYẾT HÌNH HỌC PHÂN HÌNH
Sự ra đời của lý thuyết hình học phân hình là kết quả của nhiều thập kỷ nổ lực giải quyết các vấn đề nan giải trong nhiều ngành khoa học chính xác, đặc biệt
là vật lý và toán học Một cách cụ thể, lý thuyết hình học phân hình được xây dựng dựa trên 2 vấn đề lớn được quan tâm ở những thập niên đầu thế kỷ 20 Các vấn đề đó bao gồm:
Tính hỗn độn của các quá trình phát triển có quy luật trong tự nhiên
Sự mở rộng khái niệm số chiều và độ đo trong lý thuyết hình học Euclide cổ điển
I.1.1 Tính hỗn độn của các quá trình phát triển có quy luật trong tự nhiên
Các công thức lặp có dạng:
Xn+1 = f(Xn) thường được sử dụng trong các ngành khoa học chính xác để mô tả các quá trình lặp đi lặp lại có tính xác định Các quá trình được xác định bởi công thức trên, trong đó f thể hiện mối liên hệ phi tuyến giữa hai trạng thái nối tiếp nhau Xn và
Xn+1, được quan tâm đặc biệt Các khảo sát trong những thập niên gần đây đã phát hiện ra các cư xử kỳ dị của các tiến trình lặp như vậy
Khảo sát chi tiết đầu tiên được nhà khí tượng học Edward N Lorenz tiến hành vào năm 1961 khi nghiên cứu hệ toán học mô phỏng dự báo thời tiết Về mặt lý thuyết, hệ này cho ra các kết quả dự đoán chính xác về thời tiết trong một khoảng thời gian dài Tuy nhiên, theo Lorenz quan sát, khi bắt đầu tính toán lại dựa vào dữ liệu cho bởi hệ tại một thời điểm tiếp sau đó không giống với các kết quả dự đoán ban đầu Hơn nữa sai số tính toán sẽ tăng lên nhanh chóng theo thời gian Điều này dẫn đến kết luận là nếu tiến trình dự đoán lại từ một thời điểm nào đó trong tiến trình dự báo, khoảng thời gian để các kết quả dự báo tiếp theo vẫn còn chính xác sẽ bị thu hẹp lại tức là không thể dự báo chính xác về thời tiết
Trang 7trong một khoảng thời gian khá lớn Vấn đề được Lorenz tìm thấy ở đây ngày
nay được gọi là sự hiện diện của tính chất hỗn độn trong các tiến trình lặp xác
định
Tiếp theo sau phát hiện của Lorenz, vào năm 1976 Robert May trong bài
viết với tựa đề “Các mô hình toán học đơn giản với các hệ động lực phức tạp” đã
đề cập đến một vấn đề tương tự Đó là sự hỗn độn của quá trình phát triển dân số
trong tự nhiên, vốn được xem là đã được xác định rất rõ ràng và chi tiết nhờ mô
hình dân số Verhulst xây dựng dưới đây
Nếu ký hiệu:
- R là tốc độ gia tăng dân số mỗi năm
- Po là lượng dân số khởi điểm (của một quốc gia, một thành phố,…)
- Pn là lượng dân số có được sau n năm phát triển
P P R
thực tế Vì vậy Verhulst đề nghị R thay đổi cùng với lượng dân số được khảo sát
Một cách cụ thể, Verhust cho R tỉ lệ với tốc độ phát triển dân số theo môi trường
(P-Pn) / N Trong đó N là lượng dân số tối đa có thể có ứng với điều kiện môi
trường cho trước Như vậy có thể biểu diễn R dưới dạng:
)2(
Với r là hệ số tỷ lệ gọi là tham số phát triển theo môi trường
Trang 8P N
P P
n n
n n
n n
P r P
P P
ra sự bất ổn định về tỉ lệ phát triển dân số theo môi trường Pk
Các kết quả quan sát chi tiết cho thấy khi số lần lặp n trở nên khá lớn ta có các trường hợp sau:
- Với 0 < r < 2: Dãy (Pn) tiến đến 1, tức là sự phát triển dân số đạt mức tối đa
- Với 2 < r < 2,449: Dãy (Pn) dao động tuần hoàn giữa hai giá trị, tức
là sự phát triển dân số biến động giữa hai mức xác định Hình vẽ dưới đây minh hoạ cho trường hợp r = 2.3 và Po
Dân số
Thời gian
Hình I.1 Với r = 2.3 và P 0 = 0.01
Trang 9- Với 2,449 < r < 2,570: Dãy (Pn) dao động ổn định với các giá trị được lặp lại theo chu kỳ lần lượt được nhân đôi khi giá trị r chạy từ 2,449 đến 2,570 Hình vẽ (I.2) minh hoạ trường hợp r = 2.5 và sự dao động ở đây có chu kỳ 4
- Với r > 2.570: Dãy (Pn) không còn tuần hoàn nữa mà trở nên hỗn độn, theo nghĩa các giá trị của dãy được chọn một cách hoàn toàn xác định nhưng không thể dự đoán chính xác Hình vẽ (I.3) minh hoạ trường hợp r = 3.0 và Po = 0.1
Một kết quả lý thuyết cũng đã được chứng minh bởi Jame York và Tiên Yien Li trong bài viết “Các chu kỳ 3 chứa đựng sự hỗn độn” vào tháng 12/1975 York và Li đã chỉ ra rằng mọi hàm số được xác định tương tự như phương trình dân số có một chu kỳ tuần hoàn 3 thì cũng có chu kỳ tuần hoàn n, với n là số tự nhiên khác 0 và 1 Điều này dẫn đến sự kiện là vô số các tập giá trị tuần hoàn khác nhau được sản sinh bởi loại phương trình này
Trang 10Vào năm 1976, Mitchell Feigenbaum đã nghiên cứu phương trình này một cách độc lập với May và York Feigenbaum xét phương trình dân số ở dạng đơn giản: y = x(1- x) và thể hiện nó trên sơ đồ phân nhánh Nếu gọi rn là giá trị tham số phát triển theo môi trường của mô hình Verhulst tại lần rẻ nhánh thứ n (là lúc ứng với rn đó, chu kỳ 2n trở nên không ổn định nữa và chu kỳ 2n+1 đạt được sự ổn định), thì tỷ số của các khoảng liên tiếp n xác định bởi:
n n
n n n
r r
r r
1
sẽ tiến về giá trị = 4.669 khi n Tính chất này cũng được tìm thấy trong các tiến trình có chu kỳ lần lượt được nhân đôi và khác với tiến trình Verhulst Do đó giá trị này ngày nay được gọi là hằng số phổ dụng Feigenbaum (trong lý thuyết hỗn độn)
I.1.2 Định nghĩa Fractal (Phân dạng)
Fractal là một hình hình học mà mỗi yếu tố con của nó lại đồng dạng với toàn hình đó hay fractal là một vật thể hình học thường có hình dạng gấp khúc trên mọi tỷ lệ phóng đại, và có thể được tách ra thành từng phần: Mỗi phần giống như hình tổng thể, nhưng ở tỷ lệ phóng đại nhỏ hơn Như vậy, fractal có vô tận các chi tiết, các chi tiết này có thể có cấu trúc tự đồng dạng ở các tỷ lệ phóng đại khác nhau Nhiều trường hợp, có thể tạo ra fractal bằng việc lặp lại một mẫu toán
học, theo phép hồi quy Từ fractal được nói đến lần đầu vào năm 1975 bởi Benoît Mandelbrot, lấy từ tiếng Latin fractus nghĩa là "đứt gãy" Trước đó, các
cấu trúc này (ví dụ bông tuyết Koch) được gọi là "đường cong quỷ": Lấy một
đoạn thẳng, bỏ 1/3 đoạn thẳng ở giữa để thay vào đó một chữ V lộn ngược với hai cạnh bằng đoạn thẳng bỏ đi Đối với mỗi đoạn thẳng, ta lại thực hiện tương
tự như đoạn thẳng gốc Và liên tiếp như thế – cuối cùng ta thu được một fractal
có hình đồng dạng với từng yếu tố con của nó
Phân dạng ban đầu được nghiên cứu như một vật thể toán học Hình học
Trang 11những tính chất không dễ gì giải thích được bằng hình học thông thường Ngành
này có ứng dụng trong khoa học, công nghệ, và nghệ thuật tạo từ máy tính Ý
niệm cơ bản của môn này là xây dựng phép đo đạc mới về kích thước của vật
thể, do các phép đo thông thường của hình học Euclide và giải tích thất bại khi
Một fractal của tập hợp Julia
Một fractal Mandelbrot khác
Vật thể tự nhiên có cấu trúc phân dạng
Kéo hai tấm nhựa
Các vết nứt có cấu trúc phân dạng trên bề mặt đĩa DVD, sau khi đưa đĩa này vào lò vi sóng
Xúp lơ xanh
Romanesco có những cấu trúc phân dạng tự nhiên
Việc định nghĩa các đặc tính của fractal, có vẻ dễ dàng với trực quan, lại
cực kỳ khó với đòi hỏi chính xác và cô đọng của toán học
Mandelbrot đã định nghĩa fractal là “một tập hợp mà trong đó chiều
Hausdorff-Besicovitch lớn hơn chiều tôpô học” Chiều Hausdorff là khái niệm
sinh ra để đo kích thước của fractal, thường không phải là một số tự nhiên Đây
là một đặc trưng quan trọng của fractal Một hình vẽ fractal trên tờ giấy 2 chiều
có thể bắt đầu có những tính chất của vật thể trong không gian 3 chiều, và có thể
Trang 12có chiều Hausdorff nằm giữa 2 và 3 Đối với một fractal hoàn toàn tự đồng dạng, chiều Hausdorff sẽ đúng bằng chiều Minkowski-Bouligand
Các vấn đề liên quan đến định nghĩa fractal gồm:
Không có ý nghĩa chính xác của “gấp khúc”
Không có định nghĩa duy nhất của "chiều”
cả xung thần kinh của một bệnh nhân tâm thần
Đám mây
Rừng cây
bông tuyết
Trang 13I.1.3 Sự mở rộng khái niệm số chiều và độ đo trong lý thuyết hình học Eulide cổ điển
Vào các năm 1890 & 1891, trong khi tìm kiếm các đặc trưng bất biến của các đối tượng hình học qua các phép biến đổi đồng phôi trong lý thuyết topô, các nhà toán học Peano & Hilbert đã phát minh ra các đường cong có tính chất rất đặc biệt Đó là các đường cong không tự cắt theo một quy luật được chỉ ra bởi Peano và Hilbert, chúng lấp đầy mọi miền hữu hạn của mặt phẳng Hình học Euclide cổ điển quan niệm các đường cong như vậy vẫn chỉ là các đối tượng một chiều như các đường thẳng Tuy nhiên trực quan cho thấy cách nhìn như vậy về
số chiều là rất gò bó Do đó người ta bắt đầu nghĩ đến một sự phân lớp mới, trong đó các đường có số chiều bằng 1 được đại diện bởi đường thẳng, các đối tượng hai chiều được đại diện bởi mặt phẳng, còn các đường cong lấp đầy mặt phẳng đại diện cho các đối tượng có số chiều giữa 1 và 2 Ý tưởng cách mạng này đã dẫn đến việc hình thành và giải quyết bài toán số chiều hữu tỷ gây ra nhiều tranh luận toán học trong các thập kỷ gần đây
Tiếp sau đó, vào năm 1904 nhà toán học Thụy Điển Helge Koch đã đưa ra một loại đường cong khác với những đường cong của Peano và Hilbert Các đường cong Von Koch không lấp đầy mặt phẳng nhưng lại có độ dài thay đổi một cách vô hạn mặc dù chúng được chứa trong một miền hữu hạn Những đường cong như vậy có rất nhiều trong tự nhiên và dường như thiên nhiên rất tiết kiệm cho nên sáng tạo nhiều đối tượng theo cùng một quy tắc như: Hình thái chia nhánh các cây, đường đi của không khí trong phế quản, hình dạng các đường bờ biển, các đám mây, các hoa, các núi, đường biên của một bông hoa tuyết, các đám mây,… Tất cả các đường cong này đều một tính chất đặc trưng là đồng dạng Nó được biểu hiện bởi sự giống nhau giữa một phần rất nhỏ của đường cong được phóng lớn với một phần khác lớn hơn của cùng một đường cong đó Tính chất này giữ một vị trí quan trọng trong việc hình thành nên các dạng cấu trúc vô cùng phức tạp của tự nhiên, nhưng vào thời Von Koch lại được hiểu biết rất sơ lược
Chỉ với sự giúp đỡ của máy tính điện tử, bản chất của tính đồng dạng mới được nghiên cứu đầy đủ và chi tiết trong tác phẩm “Hình học phân hình trong tự nhiên” của Benoit B Mandelbrot xuất bản năm 1982 Trong tác phẩm của mình, Mandelbrot đã phân rã các dạng cấu trúc phức tạp của tự nhiên thành các thành phần cơ bản gọi là fractal Các fractal này chứa đựng các hình dáng tự đồng dạng
Trang 14với nhiều kích thước khác nhau Mandelbrot đã tạo nên những bức tranh fractal trừu tượng đầu tiên và nhận thấy rằng đằng sau các đối tượng tự nhiên như các đám mây, các dãy núi, các khu rừng, vv… là các cấu trúc toán học tương tự nhau Chúng có khuynh hướng hài hòa về màu sắc và cân đối về hình thể Ngoài
ra, Mandelbrot cũng thiết lập cách xác định số chiều và độ dài của các dạng fractal cơ sở Chính với định nghĩa về số chiều này, bài toán số chiều không nguyên mới được giải quyết một cách hoàn chỉnh Có thể nói công trình của Benoit B.Mandelbrot đã chính thức khai sinh lý thuyết hình học phân hình sau hơn nửa thế kỷ nghiên cứu liên tục
I.2 SỰ PHÁT TRIỂN CỦA LÝ THUYỂT HÌNH HỌC PHÂN HÌNH
Kể từ khi ra đời một cách chính thức vào năm 1982 cho đến nay, lý thuyết hình học phân hình đã phát triển một cách nhanh chóng
Sau khi đặt nền móng cho lý thuyết phân hình, Mandelbrot cùng với các nhà toán học khác như A Douady và J.Hubbard đã phát triển lý thuyết về các mặt fractal Các kết quả đạt được chủ yếu tập trung ở các tính chất của các cấu trúc fractal cơ sở như tập Mandelbrot và tập Julia Ngoài ra, các nghiên cứu cũng
cố gắng tìm kiếm mối liên hệ giữa các cấu trúc này
Dựa trên các công trình của Mandelbrot (trong những năm 1976, 1979, 1982) và Hutchinson (1981), vào các năm 1986, 1988 Michael F.Barnsley và M.Begger đã phát triển lý thuyết biểu diễn các đối tượng tự nhiên dựa trên cơ sở
lý thuyết về các hệ hàm lặp (IFS) Các IFS này bao gồm một bộ hữu hạn các phép biến đổi affine cho phép với sự giúp đỡ của máy tính tạo nên hình ảnh các đối tượng trong tự nhiên Theo lý thuyết này, hình học Euclide cổ điển rất có hiệu lực trong việc biểu diễn các đối tượng nhân tạo như một toà nhà, một cổ máy nhưng lại hoàn toàn không thích hợp cho việc biểu diễn các đối tượng của thế giới thực vì đòi hỏi một lượng quá lớn các đặc tả cần có Nếu như trong hình học Euclide các yếu tố cơ sở là đường thẳng, đường tròn, hình vuông,… thì lý thuyết IFS mở rộng hình học cổ điển với các yếu tố cơ sở mới là vô số thuật toán
để vẽ nên các fractal của tự nhiên
Ngoài các công trình có tính chất lý thuyết, hình học phân hình còn được
bổ sung bởi nhiều nghiên cứu ứng dụng lý thuyết vào khoa học máy tính và các khoa học chính xác khác, như dựa trên lý thuyết IFS, Barnsley đã phát triển lý
Trang 15thuyết biến đổi phân hình áp dụng vào công nghệ nén ảnh tự động trên máy tính,
là một lĩnh vực đòi hỏi những kỹ thuật tiên tiến nhất của tin học hiện đại
Hiện nay nhiều vấn đề về lý thuyết phân hình vẫn đang được tiếp tục nghiên cứu Một trong những vấn đề lớn đang được quan tâm là bài toán về các
độ đo đa phân hình (multifractal measurement) có liên quan đến sự mở rộng các khái niệm số chiều fractal với đối tượng fractal trong tự nhiên, đồng thời cũng liên quan đến việc áp dụng các độ đo fractal trong các ngành khoa học tự nhiên
I.3 CÁC ỨNG DỤNG TỔNG QUÁT CỦA HÌNH HỌC PHÂN HÌNH
Hiện nay có 3 hướng ứng dụng lớn của lý thuyết hình học phân hình, bao gồm:
▪ Ứng dụng trong vấn đề tạo ảnh trên máy tính
▪ Ứng dụng trong công nghệ nén ảnh
▪ Ứng dụng trong nghiên cứu khoa học cơ bản
I.3.1 Ứng dụng trong vấn đề tạo ảnh trên máy tính
Cùng với sự phát triển vượt bậc của máy tính cá nhân trong những năm gần đây, công nghệ giải trí trên máy tính bao gồm các lĩnh vực như trò chơi, animation video,… nhanh chóng đạt đỉnh cao của nó Công nghệ này đòi hỏi sự
mô tả các hình ảnh của máy PC với sự phong phú về chi tiết và màu sắc với sự tốn kém rất lớn về thời gian và công sức Gánh nặng đó hiện nay đã được giảm nhẹ đáng kể nhờ các mô tả đơn giản nhưng đầy đủ của lý thuyết fractal về các đối tượng tự nhiên Với hình học phân hình, khoa học máy tính có trong tay một công cụ mô tả tự nhiên vô cùng mạnh mẽ
Ngoài các ứng dụng trong lĩnh vực giải trí, hình học phân hình còn có mặt trong các ứng dụng tạo ra các hệ đồ hoạ trên máy tính Các hệ này cho phép người sử dụng tạo lập và chỉnh sửa hình ảnh, đồng thời cho phép tạo các hiệu ứng vẽ rất tự nhiên hết sức hoàn hảo và phong phú như hệ phần mềm thương mại Fractal Design Painter của công ty Fractal Design Hệ này cho phép xem các hình ảnh dưới dạng hình họa vector cũng như sử dụng các ảnh bitmap như các đối tượng Như đã biết, các ảnh bitmap hiển thị hết sức nhanh chóng, thích hợp cho các ứng dụng mang tính tốc độ, các ảnh vector mất nhiều thời gian hơn để trình bày trên màn hình (vì phải được tạo ra bằng cách vẽ lại) nhưng đòi hỏi rất ít
Trang 16vùng nhớ làm việc Do đó ý tưởng kết hợp ưu điểm của hai loại đối tượng này sẽ giúp tiết kiệm nhiều thời gian cho người sử dụng các hệ phần mềm này trong việc tạo và hiển thị các ảnh có độ phức tạp cao
I.3.2 Ứng dụng trong công nghệ nén ảnh
Hiện nay, việc sử dụng ảnh số (ảnh hành không, ảnh viễn thám, ảnh mặt đất…) trong quản lý Nhà nước về tài nguyên và môi trường, điều tra cơ bản, thành lập bản đồ, theo dõi diễn biến thời tiết, tích hợp và phân phối thông tin … đã tương đối phổ biến Một trong những mục tiêu quan trọng hàng đầu của công nghệ xử lý hình ảnh hiện nay là sự thể hiện hình ảnh thế giới thực với đầy đủ tính phong phú và sống động trên máy tính Tuy nhiên do trong quá trình sử dụng vấp phải một số khó khăn trong việc lưu trữ (không gian lưu trữ thông tin vượt quá khả năng lưu trữ của các thiết bị thông thường), trao đổi, truyền trên mạng thông tin do dung lượng ảnh rất lớn, nhất là các ảnh màu, có độ phân giải cao Việc nghiên cứu và ứng dụng Fractal trong nén, giải nén ảnh số phục vụ xử lý, phân tích, đánh giá thông tin là hoàn toàn cần thiết và sẽ đem lại hiệu quả phục vụ thực tiễn
Các nhà sản xuất máy tính đang quảng cáo những sản phẩm mới nhất nhằm đáp ứng lĩnh vực đồ họa Trong khi đó các nhà lập trình thì biết rất rõ là những máy tính hiện nay chưa thể làm việc với các loại ảnh màu thực bởi lẽ lượng thông tin quá lớn của từng ảnh Chẳng hạn như 1 ảnh có chất lượng gần như chụp đòi hỏi vùng nhớ 24 bit cho 1 điểm ảnh, để hiện ảnh đó trên màn hình mày tính có độ phân giải tương đối cao như 1024x768 cần xấp xỉ 2.25Mb Với các ảnh “thực” 24 bit này, để thể hiện được một hoạt cảnh trong thời gian 10 giây đòi hỏi xấp xỉ 700Mb dữ liệu, tức là bằng sức chứa của một đĩa CD-ROM Như vậy khó có thể đưa công nghệ multimedia lên PC vì nó đòi hỏi một cơ sở dữ liệu ảnh và âm thanh khổng lồ hay để có bộ phim trên máy vi tính tương đương chất lượng với chương trình vô tuyến cần phải lưu một lượng thông tin là 22 MB trong 1 giây
Đứng trước bài toán này, khoa học máy tính đã giải quyết bằng những cải tiến vượt bậc cả về phần cứng lẫn phần mềm Tất cả các cải tiến đó dựa trên ý tưởng nén thông tin hình ảnh trùng lặp Những phương pháp thường (như Compress trong hệ UNIX) không đem lại hiệu quả: Tỷ lệ nén dữ liệu cho hình
Trang 17ảnh không quá 2:1 Nhưng với những phương pháp chuyên dụng có thể đạt tới 30:1 Hai phương pháp nén hình ảnh nổi tiếng nhất hiện nay là của nhóm chuyên gia về hình ảnh động (Motion Picture Experts Group - MPEG) và liên hiệp các nhóm chuyên gia về hình ảnh (Joint Photo Graphic Experts Group - JPEG) Những phương pháp này đã trở thành chuẩn công nghiệp Những yếu điểm cơ bản của các phương pháp này là sự mất mát thông tin và hiệu quả nén không cao đối với những hình ảnh phức tạp
Các phương pháp nén thông tin hình ảnh gần đây đều có 1 trong 2 yếu điểm sau:
● Cho tỉ lệ nén không cao Đây là trường hợp của các phương pháp nén không mất thông tin
● Cho tỉ lệ nén tương đối cao nhưng chất lượng ảnh nén quá kém so với ảnh ban đầu Đây là trường hợp của các phương pháp nén mất thông tin, ví dụ chuẩn nén JPEG
Các nghiên cứu lý thuyết cho thấy để đạt một tỷ lệ nén hiệu quả (kích thước dữ liệu nén giảm so với ban đầu ít nhất hàng trăm lần), phương pháp nén mất thông tin là bắt buộc Tuy nhiên một vấn đề đặt ra là làm thế nào có được một phương pháp nén kết hợp cả tính hiệu quả về tỷ lệ nén lẫn chất lượng ảnh so với ảnh ban đầu? Phương pháp nén ảnh phân hình được áp dụng gần đây bởi Iterated System đáp ứng được yêu cầu này
Như đã biết, với một ánh xạ co trên một không gian metric đầy đủ, luôn tồn tại một điểm bất động xr sao cho:
đề nghị xem ảnh cần nén là “điểm bất động” của một họ ánh xạ co Khi đó đối
Trang 18với mỗi ảnh chỉ cần lưu thông tin về họ ánh xạ thích hợp, điều này làm giảm đi rất nhiều dung lượng cần có để lưu trữ thông tin ảnh
Việc tìm ra các ảnh co thích hợp đã được thực hiện tự động hoá nhờ quá trình fractal một ảnh số hoá do công ty Iterated System đưa ra với sự tối ưu về thời gian thực hiện Kết quả nén cho bởi quá trình này rất cao, có thể đạt tỷ lệ 10000: 1 hoặc cao hơn Một ứng dụng thương mại cụ thể của kỹ thuật nén phân hình là bộ bách khoa toàn thư multimedia với tên gọi “Microsoft Encarta” được đưa ra vào tháng 12/1992 Bộ bách khoa này bao gồm hơn 7 giờ âm thanh, 100 hoạt cảnh, 800 bản đồ màu cùng với 7000 ảnh chụp cây cối, hoa quả, con người, phong cảnh, động vật,… Tất cả được mã hoá dưới dạng các dữ liệu fractal và chỉ chiếm xấp xỉ 600Mb trên một đĩa compact
Ngoài phương pháp nén phân hình của Barnsley, còn có một phương pháp khác cũng đang được phát triển Phương pháp đó do F.H.Preston, A.F.Lehar, R.J.Stevens đưa ra dựa trên tính chất của đường cong Hilbert Ý tưởng cơ sở của phương pháp là sự biến đổi thông tin n chiều về thông tin một chiều với sai số cực tiểu Ảnh cần nén có thể xem là một đối tượng 3 chiều, trong đó hai chiều dùng để thể hiện vị trí điểm ảnh, chiều thứ ba thể hiện màu sắc của nó Ảnh được quét theo thứ tự hình thành nên đường cong Hilbert chứ không theo hàng từ trái sang phải như thường lệ để đảm bảo các dữ liệu nén kế tiếp nhau đại diện cho các khối ảnh kế cạnh nhau về vị trí trong ảnh gốc Trong quá trình quét như vậy, thông tin về màu sắc của mỗi điểm ảnh được ghi nhận lại Kết quả cần nén sẽ được chuyển thành một tập tin có kích thước nhỏ hơn rất nhiều vì chỉ gồm các thông tin về màu sắc Phương pháp này thích hợp cho các ảnh có khối cùng tông màu lớn cũng như các ảnh dithering
Phương pháp nén ảnh Fractal (Fractal Image ompession): Đây là phương
pháp cho hiệu quả nén rất cao và hạn chế mất thông tin
Vài khái niệm trong lĩnh vực nén ảnh
Tất cả các phương pháp nén ảnh đều dựa trên một nguyên lý đơn giản: Trong dữ liệu có nhiều phần tử thừa và nén ảnh dựa trên cơ sở tìm ra những phần
tử đó và mã hóa chúng Ví dụ, như số 9999997777 có thể mã hóa thành 6947 Các hình ảnh trên màn hình máy vi tính đặc trưng bởi số điểm (pixel) và số bit dành cho mã màu của mỗi điểm (bit/pixel)
Trang 19Phần lớn các hình ảnh (nhất là có độ phân giải cao) không có quy luật giữa các điểm gần nhau, do đó các phương pháp thông dụng hiện nay như biến đổi cosin rời rạc, Wavelet Image Compession (WIC) (theo chuẩn JPEG và MPEG) phải dùng đến biến đổi toán học và xấp xỉ các mối tương quan giữa các pixel Với các phương pháp này bạn có thể nén ảnh tới tỷ lệ 20:1 - 30:1 Nhưng những ảnh này (vì bị mất thông tin) chỉ là những ảnh gần đúng với ảnh ban đầu, ngoài
ra còn có thể xuất hiện biến dạng hình ảnh như đối với phương pháp biến đổi cosin rời rạc
Hình học Fractal và biến đổi Fractal
Một cuộc cách mạng trong vấn đề xử lý ảnh "thế giới thực" đã xảy ra cùng với sự ra đời cuốn sách "Hình học Fractal của tự nhiên" (the Fractal Geometry of Nature) của tác giả Mandelbrot Theo tác giả, khái niệm Fractal là cấu trúc thể hiện sự gần giống nhau về hình dạng của các hình thể kích cỡ khác nhau Nếu bạn nghiền một củ khoai tây rán giòn bạn sẽ có vô số những mảnh vỏ lớn nhỏ, các mảnh này có thể gọi là Fractal Mandelbrot chỉ ra rằng, có thể tìm ra các cấu trúc và qui luật để tạo các hình dạng Fractal, do đó có thể coi Fractal như là các hình cơ bản của hình học phẳng Euclide cùng với đường thẳng, hình chữ nhật, hình tròn Fractal không phụ thuộc vào độ phân giải của hình, đó là những hình ảnh nhỏ, có thể vẽ được bằng một bộ hữu hạn thuật toán như quay hình, co dãn, biến đổi từ một hình nào đó Các phép toán trên thực hiện với các hệ số được gọi
là hệ số affin Một bức tranh có thể được fractal hóa và ta có thể khôi phục nó nhờ các hệ số affin Trên thực tế đối với các hình rất ngẫu nhiên thì các hệ số affin tìm được rất khó Trước kia tính bằng tay, người ta phải mất hàng ngày, hàng tuần Hiện nay công việc đó có thể làm trong 5 phút Quá trình Fractal hóa
đã được hãng Integrated Systems nghiên cứu và giữ bản quyền Sau đây là một
số bước của quá trình đó
Nén hình ảnh
o Chia ảnh thành những vùng không phủ nhau, còn gọi là domen (chẳng hạn bằng các đường thẳng ngang và đứng) Các vùng này phải phủ kín hình ảnh
o Lấy bộ các vùng cơ sở, các vùng này không nhất thiết phủ kín bề mặt bức tranh
Trang 20o Thực hiện biến đổi Fractal Với mỗi vùng domain ta tìm vùng cơ sở mà sau biến đổi affin xấp xỉ nhất với domen
o Lưu các hệ số affin vào file File này gồm 2 phần: Đầu file chứa thông tin
về vị trí các domen và vùng cơ sở sau đó là bảng các thông số affin cho từng domen
o Biến đổi giá trị của B vào A y như lần trước, chỉ có điều đổi vị trí chúng
o Thực hiện biến đổi trên nhiều lần cho đến khi A và B không khác gì nhau
o Quá trình này dẫn đến việc là ta khôi phục được bức tranh ban đầu mà độ chính xác phụ thuộc vào độ chính xác của các biến đổi affin
o Thuật toán quá trình nén và tời ảnh được công ty Integrated Systems đưa
ra sử dụng số học nguyên cùng các phương pháp làm giảm sự tăng dần của sai số trong các phép toán làm tròn Các thuật toán đã được tối ưu về mặt thời gian thực hiện Tuy thế quá trình nén ảnh do phải thực hiện một khối lượng tính toán lớn nên đòi hỏi khá nhiều thời gian so với việc tời ảnh Với máy 386, tốc độ 33 MHz và màn hình VGA các trình thí nghiệm
đã thử phim video màu với tốc độ 20 ảnh loại này trong một giây
Những ưu điểm của phương pháp Fractal
Trong quá trình Fractal hóa, bạn sẽ nhận được bộ các chữ số rất nhỏ thể hiện hình ảnh Do đó hệ số nén của phương pháp là rất lớn, tuy thế chất lượng ảnh sau khi nén được bảo đảm khá chính xác Phương pháp rất hiệu quả với những ảnh có độ phân giải cao Phương pháp này đã được áp dụng không những trong nén dữ liệu mà còn để thể hiện các mối quan hệ giữa các phần tử của các ánh xạ
Trang 21I.3.3 Ứng dụng trong khoa học cơ bản
Có thể nói cùng với lý thuyết topo, hình học phân hình đã cung cấp cho khoa học một công cụ khảo sát tự nhiên vô cùng mạnh mẽ như đã trình bày trong phần I.1, vật lý học và toán học thế kỷ XX đối đầu với sự xuất hiện của tính hỗn độn trong nhiều quá trình có tính quy luật của tự nhiên Từ sự đối đầu đó, trong những thập niên tiếp theo đã hình thành một lý thuyết mới chuyên nghiên cứu về các hệ phi tuyến, gọi là lý thuyết hỗn độn Sự khảo sát các bài toán phi tuyến đòi hỏi rất nhiều công sức trong việc tính toán và thể hiện các quan sát một cách trực quan, do đó sự phát triển của lý thuyết này bị hạn chế rất nhiều Chỉ gần đây với
sự ra đời của lý thuyết fractal và sự hỗ trợ đắt lực của máy tình, các nghiên cứu chi tiết về sự hỗn độn mới được đẩy mạnh Vai trò của hình học phân hình trong lĩnh vực này thể hiện một cách trực quan các cư xử kỳ dị của các tiến trình được khảo sát, qua đó tìm ra được các đặc trưng hoặc các cấu trúc tương tự nhau trong các ngành khoa học khác nhau Hình học phân hình đã được áp dụng vào nghiên cứu lý thuyết từ tính, lý thuyết các phức chất trong hoá học, lý thuyết tái định chuẩn và phương trình Yang & Lee của vật lý, các nghiệm của các hệ phương trình phi tuyến được giải dựa trên phương pháp xấp xỉ liên tiếp của Newton trong giải tích số,… Các kết quả thu được giữ vai trò rất quan trọng trong các lĩnh vực tương ứng
I.4 CÁC KIẾN THỨC CƠ SỞ CỦA LÝ THUYẾT HÌNH HỌC PHÂN HÌNH
I.4.1 Độ đo Fractal
□ Số chiều Hausdorff của một tập hợp A R n
Cho trước các số thực dương s và Gọi hs(A) là độ đo Hausdorff s-chiều của tập A thì hs (A) được xác định bởi:
Trang 22)(
A D s khi
A D s khi A
h
H
H s
Giá trị DH(A) được gọi là số chiều Hausdorff của tập A
Định nghĩa này giữ vai trò quan trọng trong lý thuyết hình học phân hình hiện đại nhưng không có tính thực tiễn vì việc xác định số chiều theo định nghĩa này rất phức tạp ngay cả với trường hợp tập A rất đơn giản Do đó, xuất phát từ định nghĩa này, Mandelbrot đã đưa ra khái niệm số chiều fractal tổng quát dễ xác định hơn với ba dạng đặc biệt áp dụng cho từng loại đối tượng (tập A) cụ thể Sau đây tôi sẽ trình bày các định nghĩa về các dạng đặc biệt đó, đồng thời chỉ ra mối liên hệ giữa chúng với định nghĩa số chiều của Hausdorff
□ Số chiều tự đồng dạng (Số chiều Hausdorff-Bescovitch)
Cho trước một cấu trúc tự đồng dạng được chia thành N phần, hệ số thu nhỏ của mỗi phần so với cấu trúc ban đầu là r Ký hiệu DS là đại lượng xác định bởi:
◊ Xét một khối lập phương được chia thành 27 khối lập phương nhỏ hơn với tỷ lệ đồng dạng 1/3 Ta có số chiều của tự đồng dạng của khối lập phương được xác định bởi:
log N
D S = log 1/r
D
3 log
2 3 log
3 1
1 log
9 log
D
3 log
3 log
3 1
1 log
27 log
Trang 23Hai ví dụ trên cho thấy định nghĩa số chiều tự đồng dạng phù hợp với định nghĩa thông thường của hình học Euclide
□ Số chiều Compa
Số chiều được xác định theo định nghĩa này được áp dụng cho các đường cong không phải là các đường cong tự đồng dạng hoàn toàn (như các đường bờ biển, các con sông,…), nhưng có thể sử dụng nhiều đơn vị khác nhau để xác định
Ở đây giá trị s càng nhỏ thì độ chính xác của phép đo càng lớn
- Trục tung: Thể hiện logarit của độ dài u đo được ứng với một đơn vị đo s
- d: Là hệ số góc của đường thẳng hồi qui dùng để xấp xỉ các giá trị đo u
đo được dựa trên phương pháp bình phương cực tiểu Ta có quan hệ:
log u = d log (1/s + b), b là hệ số tự do
Ví dụ:
Trang 24
Biểu diễn các đại lượng có liên quan trên hệ toạ độ log/log đã được trình bày ở trên với chú ý sau bước tạo sinh thứ k, đường cong gồm 8k đoạn, mỗi đoạn
có độ dài s = 1 / 4k nên độ dài của đường cong sẽ là 8k.1/4k = 2k
Khi đó giá trị trên trục hoành là log41 / 1 / 4k = k ứng với giá trị trên trục tung là: log42k = k / 2 Do đó ta xác định được d = 0.5
Vậy: DC = 1 + 0.5 = 1.5
□ Số chiều Box-Counting
Số chiều xác định theo định nghĩa này được áp dụng cho các đường cong fractal không thể xác định số chiều theo 2 cách vừa trình bày Cách tính số chiều này có thể áp dụng cho mọi cấu trúc trong mặt phẳng và mở rộng cho cấu trúc trong không gian
Định nghĩa
Xét một cấu trúc fractal bất kỳ Lần lượt đặt cấu trúc này lên một dãy các
lưới có kích thước ô lưới s giảm liên tiếp theo tỉ lệ ½ Gọi N(s) là các ô lưới có
kích thước s có chứa một phần cấu trúc Ta xây dựng hệ toạ độ log/log như sau:
- Trục hoành biểu thị giá trị của đại lượng log2 (1/s)
- Trục tung biểu thị giá trị của đại lượng log2 N((s))
- DB là hệ số góc của đường thẳng hồi qui đối với tập hữu hạn các
điểm (s, N(s)) của hệ toạ độ
Trang 25□ Số chiều Box-Counting trong mối liên hệ với số chiều Hausdorff
Khĩ khăn chủ yếu khi tính số chiều Hausdorff là việc xác định tổng vơ hạn
I.4.2 Các hệ hàm lặp IFS
□ Khơng gian ảnh Hausdorff
Giả sử (X, d) là một khơng gian metric đầy đủ Ở đây X được giới hạn bằng R2 và d là metric Euclide Ký hiệu H(X) là khơng gian các tập con compact khác rỗng của X Ta cĩ các định nghĩa sau:
i,)idiam(U
vàAcủa hạn hữumột phủ
là }
,2U,1U{
:đó
trong
}
s1i{infs (A)N
: vì hơngiảnđơn(A)BDđịnhxácnhiên
Tuy
(A)HDcủanghĩađịnhvới tựtương(A)BDcủanghĩađịnh ràng
rõ
Vậy
}s (A)N :s{sup}0s (A)N :s{inf(A)bD
(A)bDs khi0s
(A)N
: rằng rachỉtrênnghĩa
Định
1log
(A)Nlog0lim(A)
bD
δ
δδδ
δ
δδ
δ
δδ
Trang 26
Định nghĩa 1: Khoảng cách từ một điểm x X đến một tập B H(X) được
xác định bởi: d(x,B) = min {d(x,y):yB}
Định nghĩa 2: Khoảng cách từ một tập A H(X) đến một tập B H(B) được
xác định bởi: d(x,B) = max {d(x,B):xA}
Định nghĩa 3: Khoảng cách Hausdorff giữa hai điểm A và B H(H) được
xác định bởi: h(A,B) = max {d(A,B), d(B,A)}
Với các định nghĩa trên, ta có định lý về sự tồn tại của các IFS Fractal như sau: (H(X), h) là một không gian metric đầy đủ Nếu An H(X) với n = 1,2,… lập thành một dãy Cauchy thì tập hợp A xác định bởi:
0
A
cũng thuộc H(X)
A có thể được đặc tả như sau:
A = [ x X: một dãy Cauchy [ xn An] hội tụ về x]
□ Ánh xạ co trên không gian Hausdorff
Bổ đề 1: Giả sử w: X X là một ánh xạ co liên tục trên không gian metric (X, d) Khi đó w liên tục
Từ đó suy ra điều phải chứng minh
Bổ đề 2: Giả sử w: X X là một ánh xạ liên tục trên không gian
metric(X,d) Khi đó w ánh xạ không gian H(X) lên chính nó
Chứng minh:
Trang 27Giả sử S là một tập con compact khác rỗng của X Khi đó ta có: w(S) = [w(x) : x S] là một tập khác rỗng Ta chứng minh w(S) compact Xét [ yn = w(xn) ] là một dãy vô hạn điểm của w(S) Khi đó [xn] cũng là một dãy vô hạn điểm trong S Vì S compact nên tồn tại một dãy con [xn ] hội tụ về một điểm x’
S, nhưng do tính liên tục của w suy ra được [ yNn = f (xNn ) ] là một dãy con của [
yn ] hội tụ về y’ w(S) Vậy w(S) compact
d( w(B), w(C)) = max [ min [ d(w(x), w(y)): y C ] : x B ]
max [ min [ s.d(x,y) : y C ]: x B ] = s.d(B, C)
Từ đó suy ra điều phải chứng minh
Bổ đề 4 sau đây cung cấp một cách thức cơ bản để nối kết các ánh xạ co trên (H(X), h) thành các ánh xạ co mới trên (H(X), h)
Trang 28
C)}
.h(B,2s ,C).h(B,1s{max
(C))}
2w ,(B)2 h(w, (C))1w ,(B)1 h(w{max
(C))2w(C)1w ,(B)2w(B)1 h(w W(C)),
1 max
)1ks,Tmax(ss
cosố hệvớiH(X)trên
co xạánh là Wcócũngta ,2Nvớinạpquithuyết giả
donhưng
(B)1kwT(B) W(B)
:viết thểcóVậy n
skn
1maxT
scosố hệvớiH(X)trên
co xạánhmột làTcótanạpquithuyết
giảdothìnw
k1nTĐặt
(B)1kw(B)nw
k1n(B)nw 1k1nW(B)
Trang 29□ CÁC HỆ HÀM LẶP IFS (ITERATED FUNCTION SYSTEM)
Định nghĩa 1:
Một hệ hàm lặp gồm một khơng gian metric đầy đủ (X, d) và một bộ hữu hạn các ánh xạ co wn với hệ số co tương ứng sn, n = 1, 2,…, N Ta ký hiệu IFS thay cho cụm từ hàm lặp Một IFS được ký hiệu bởi [X; wn, n = 1, 2,…, N] và hệ
bất kỳvới
(B)n W
nlimA
bởitrướccho
được
và
(A)nw
N1nW(A)A
:vớiH(X)A
độngđiểm bấtmột
nhất duycónày
xạ
Ánh
H(X)C
B, ,C)B,s.h(
W(C)),
h(W(B)
:làtức ,scosố hệvớih(d))
,
(H(X)
đủđầymetricgian
khôngtrên
co xạánhmột làH(X)B
đó
trong
(B)nw
N1n W(B)
: bởiđịnhxácH(X)
H(X)
: Wđổi biến phépđóKhi scosố hệvớiN}
,
1,2,n,nw{X;
IFSmột
Trang 30CHƯƠNG II
CƠ SỞ LÝ THUYẾT II.1 ĐỒ HỌA CON RÙA (TURTLE GRAPHIC)
Để viết một đoạn mã cho việc phát sinh ra đường, chúng ta cần phải trình bày về đồ hoạ con rùa Loại đồ hoạ này gồm một số hàm thao tác chính sau:
II.1.1 Hàm Point (X1, Y1, X2, Y2)
Hàm này tính góc giữa con rùa và trục x (góc giữa đoạn thẳng có hai đầu mút có toạ độ (X1, Y1) và (X2, Y2) với trục x) theo độ đo góc thông thường
Code:
Temp=180/PI;
if((X2-X1) == 0) if(Y2 > Y1) Theta= 90;
else Theta = 270;
else Theta= atan((Y2 -Y1) / (X2 -X1)) * Temp;
if (X1 > X2) Theta += 180;
return Theta;
II.1.2 Hàm Turn (Angle, Turtle_Theta)
Hàm này cộng thêm vào Turtle_Theta một góc Angle (tức là quay con
rùa đi một góc theo chiều ngược chiều kim đồng hồ nếu Angle > 0, còn nếu Angle < 0 thì quay cùng chiều kim đồng hồ)
Code:
Turtle_Theta+=Angle;
II.1.3 Hàm MoveStep (Turtle_X, Turtle_Y, Turtle_R, Turtle_Theta)
Hàm này di chuyển con rùa đi một bước Chiều dài của mỗi bước là Turtle_R Ở đây hàm sử dụng vị trí con rùa hiện tại có toạ độ (Turtle_X,
Trang 31Turtle_Y) và góc định hướng là Turle-Theta để xác định vị trí toạ độ mới sau khi
II.2 HỌ ĐƯỜNG VONKOCK
Trong phần này, tôi xin trình bày về kỹ thuật phát sinh một fractal bằng cách sử dụng đệ qui initiator / generator với kết quả là các hình tự đồng dạng hoàn toàn Các hình này có số chiều tự đồng dạng, số chiều fractal và số chiều Hausdorff-Besicovitch bằng nhau và được tính theo công thức sau:
Trong đó:
N: Là số đoạn thẳng
R: Là số chiều dài của mỗi đoạn
Bắt đầu bằng một initiator, nó có thể là một đoạn thẳng hay một đa giác Mỗi cạnh của initiator được thay thế bởi một generator, mà là tập liên thông của các đoạn thẳng tạo nên bằng cách đi từ điểm bắt đầu đến điểm cuối của đường thay thế (thông thường các điểm của generator là một lưới vuông hay một lưới tạo bởi các tam giác đều) Sau đó mỗi đoạn thẳng của hình mới được thay thế bởi phiên bản nhỏ hơn của generator Quá trình này tiếp tục không xác định được
Sau đây là một số đường Von Kock quan trọng:
1log)log(
Trang 32II.2.1 ĐƯỜNG HOA TUYẾT VON KOCK-NOWFLAKE
Đường hoa tuyết này được xây dựng bởi nhà toán học Helge Von Kock vào năm 1904 Ở đây initiator là một đoạn thẳng, còn generator được phát sinh như sau:
Chúng ta chia đoạn thẳng thành ba phần bằng nhau Sau đó thay thế một phần ba đoạn giữa bằng tam giác đều và bỏ đi cạnh đáy của nó Sau đó chúng ta lặp lại quá trình này cho mỗi đoạn thẳng mới Nghĩa là chia đoạn thẳng mới thành ba phần bằng nhau và lặp lại các bước như trên
Ta thấy quá trình xây dựng là tự đồng dạng, nghĩa là mỗi phần trong 4 phần ở bước thứ k là phiên bản nhỏ hơn 3 lần của toàn bộ đường cong ở bước thứ (k–1)
Như vậy mỗi đoạn thẳng của generator có chiều dài R = 1/3 (giả sử chiều dài đoạn thẳng ban đầu là 1) và số đoạn thẳng của generator N = 4 Do vậy số chiều fractal của đường hoa tuyết là:
Lưu đồ để thực hiện vẽ đường cong trên như sau:
2618,13log
4log1
log
)log(
Thay Thế mỗi đoạn thẳng bằng Generator
Kết Thúc
Y
N Level >0
Trang 33Mỗi lúc chúng ta thay thế đoạn thẳng bởi generator, chúng ta dùng 2 mảng một chiều để tạo mảng các vị trí toạ độ và sau đó vẽ đoạn thẳng từ cặp tọa độ thứ nhất đến thứ hai, từ thứ hai đến thứ ba, v.v… cho đến khi chúng ta cần vẽ hết số
đoạn cần vẽ NumLines (trong trường hợp đường hoa tuyết thì NumLines = 4)
Để phát sinh ra các cặp tọa độ chúng ta sử dụng các lệnh đồ họa con rùa như đã
Kế tiếp hàm Generator kiểm tra xem mức Level có lớn hơn 0 chưa:
Nếu có hàm bắt đầu lặp, xác định các toạ độ các đầu mút của đoạn thẳng mới trong các mảng toạ độ vừa mới tạo thành và sau đó gọi đệ quy hàm –Generator để thay thế mỗi đoạn bằng một generator
Nếu Level bằng 0, hàm sẽ vẽ các đoạn thẳng được lưu trong các mảng toạ độ
Mức 3
Trang 34II.2.2 ĐƯỜNG VON KOCK-GOSPER
Một dạng khác của đường Von Kock được phát hiện bởi W.Gosper Trong đường mới này, initiator là một lục giác đều và generator chứa ba đoạn nằm trên một lưới của các tam giác đều Hình sau cho chúng ta thấy generator bố trí trên lưới:
Ta thấy đường này có chút khác biệt so với đường hoa tuyết ở chỗ đoạn thẳng được thay thế không nằm trên bất kỳ các đường nào của lưới Để tính số chiều fractal của đường Gosper trước hết ta tính chiều dài mỗi đoạn của generator Giả sử chiều dài từ đầu mút của generator đến đầu mút khác là 1
Đặt:
AC = R => AE = 3AC = 3R
AB2 = AE2 + EB2 – 2AE.EB.Cos(600)
Mà AB = 1, AE = 3R, EB = AC = R
Số chiều fractal của đường Gosper (N = 3):
Hình bên là mức đầu tiên của đường Gosper
'119
944910
14
757
167
1816
81132
912
cos
cos2
71
72/329
1
0
2 2
2 2
2 2
2 2 2
2 2
R R AEAB
EB AE AB
AEAB AB
AE EB
R
R R
R R
R
1291.17log
3log
D
Trang 35Đoạn mã vẽ đường Gosper giống như đoạn mã vẽ đường hoa tuyết, với:
NumLines = 3 Mảng Angle có giá trị sau: {19.1, -60.0 } Ngoài ra, đường Gosper có các mức khác nhau thì tương ứng với các hình dạng khác nhau
II.2.3 ĐƯỜNG VON KOCK BẬC HAI 3-ĐOẠN
Một vài đường cong kế tiếp được gọi là bậc hai (quadric) vì initiator là một hình vuông (nó có thể là một đa giác) Chúng ta sẽ tạo ra các generator trên lưới các hình vuông Đối với đường cong đầu tiên này, một generator của 3-đoạn
sẽ được sử dụng Hình sau sẽ cho chúng ta một generator:
Để tính số chiều fractal của đường này trước hết ta tính số chiều của mỗi đoạn của generator Giả sử chiều dài từ đầu mút của generator đến đầu mút khác
3log
D
' 56 25
894427
0 5
5 2
5
1 4 5
1 3 1
4
3 1 1 2 2
1 4 2
cos
0
2 2
2 2
2 2
R R
EAAB
EA AB EA
Trang 36Hình sau là mức đầu tiên của đường cong Von Kock bậc hai 3-đoạn:
Đoạn mã đối với đường 3-đoạn giống như đoạn mã của đường hoa tuyết Trong đó:
NumLines = 3 Mảng Angle có giá trị sau: {26.56, -90.0 } Ngoài ra, đường Von Kock 3-đoạn có các mức khác nhau thì tương ứng với các hình dạng khác nhau
II.2.4 ĐƯỜNG VON KOCK BẬC HAI 8-ĐOẠN
Một vài đường cong kế tiếp sẽ giúp sử dụng một lưới hình vuông và quay các góc đi 900 Chúng đều hơn một chút so với đường cong trước bởi vì đoạn thẳng được thay thế sẽ rơi vào đường nằm ngang ở giữa lưới Hình sau cho chúng ta thấy generator của nó:
Giả sử chiều dài từ đầu nút của generator đến đầu mút khác là 1, thì chiều dài mỗi đoạn thẳng của generator R = 1/4
Bây giờ chúng ta có thể vẽ các generator khác nhau, giới hạn duy nhất là đường cong không tự đè lên nhau và không tự giao nhau Nếu chúng ta muốn đường cong có số chiều lớn nhất có thể có, thì chúng ta cần tìm generator với N lớn nhất Mandelbrot đã định giá trị N lớn nhất có thể có là:
2 max
2
1
R R
N (với 1/R là số lẻ)
Trang 37Do vậy R = 1/4 nên Nmax = 8 Số chiều fractal là:
5.14log
8log
D
Hình bên là mức đầu tiên của đường cong:
Đoạn mã đối với đường cong 8-đoạn giống như đoạn mã của đường hoa tuyết, trong đó:
NumLine = 8
Mảng Angle có giá trị sau: {0, 90, -90, -90, 0, 90, 90, 0 }
Ngoài ra, đường Von Kock 8-đoạn có các mức khác nhau thì tương ứng với các hình dạng khác nhau
II.2.5 ĐƯỜNG VON KOCK BẬC HAI 18-ĐOẠN
Hình sau là generator của đường Von Kock bậc hai 18-đoạn:
Giả sử chiều dài từ đầu mút của generator đến đầu mút khác là 1, thì chiều dài mỗi đoạn thẳng của generator là R = 1/6 Khi đó Nmax= 18 Do đó số chiều fractal là:
Hình bên là mức đầu tiên của đường
cong Vonkock bậc hai 18 đoạn:
6131.16log
18log
D
Trang 38Đoạn mã đối với đường 18-đoạn giống như đoạn mã của đường hoa tuyết, trong đó:
II.2.6 ĐƯỜNG VON KOCK BẬC HAI 32-ĐOẠN
Hình sau là generator của đường Von Kock bậc hai 32-đoạn:
Giả sử chiều dài từ đầu mút của generator đến đầu mút khác là 1, thì chiều dài mỗi đoạn thẳng của generator là R = 1/8 Khi đó Nmax = 32 Do đó số chiều fractal là:
Hình bênlà mức đầu tiên
của đường cong:
6667.18log
32log
D
Trang 39Đoạn mã đối với đường 32-đoạn giống như đoạn mã của đường hoa tuyết, trong đó:
NumLine = 32
Mảng Angle có giá trị sau:
Ngoài ra, đường Von Kock 32-đoạn có các mức khác nhau thì tương ứng với hình dạng khác nhau
II.2.7 ĐƯỜNG VON KOCK BẬC HAI 50-ĐOẠN
Hình sau là generator của đường Von Kock bậc hai 50-đoạn:
Giả sử chiều dài từ đầu mút của generator đến đầu mút khác là 1, thì chiều dài mỗi đoạn thẳng của generator là R = 1/10 Khi đó Nmax = 50 Do đó số chiều fractal là:
Chúng ta thấy generator chứa nhiều đoạn thẳng hơn, do đó nó trở nên kém
rõ ràng hơn trong cách thức chứa đường Quá trình được sắp xếp và sửa sai
Nếu chúng ta sử dụng generator để thay thế các đoạn thẳng cắt nhau theo một góc 900, thì chúng ta không thể có bất cứ phần nào của generator vượt ra ngoài biên của ô vuông được tạo ra bởi các đường chấm chấm (Như ở hình vẽ trên) Điều này đủ để tránh tự đè lên nhau, nhưng không ngăn cản việc tự giao
,0,90,90,90,0,90,90,90,0,90,90,90,90,90,90
6990.110log
50log
D
Trang 40nhau Để đảm bảo ngăn chặn tự giao nhau, chúng ta nối một cách hình thức mỗi cặp cạnh song song của ô vuông Nếu generator tiếp xúc với cạnh của ô vuông ở cùng một điểm về cùng một bên của một cặp, thì sự tự giao nhau sẽ xảy ra Cuối cùng, cách dễ dàng để tạo ra generator là chia nó ra làm hai phần mà đối xứng với nhau, mỗi phần bắt đầu ở mút của đoạn được thay thế và kết thúc ở điểm giữa của điểm này Do đó sự ràng buộc ở đây là:
Tạo một nửa generaor từ một đầu mút của đoạn được thay thế và kết thúc ở điểm giữa của đoạn này, chứa Nmax/2 đoạn
Không đi ra ngoài ô vuông
Nếu generator giao với một điểm nằm trên một cặp cạnh song song với nhau của ô vuông, thì nó không thể giao nhau ở một điểm tương ứng của cặp cạnh khác
Khi nửa generator đã tạo, chúng ta có thể lật ngược lại đồ thị và vẽ generator giống như trên để hoàn tất quá trình.Hình bên là mức đầu tiên của đường cong Von Kock bậc hai 50 đoạn: