Tìm hiểu phương pháp sinh ảnh fractal bằng hệ hàm lặp IFS và hệ thống l system

97 35 0
Tìm hiểu phương pháp sinh ảnh fractal bằng hệ hàm lặp IFS và hệ thống l system

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bộ giáo dục đào tạo Tr-ờng đại học dân lập hải phòng -o0o Tìm hiểu ph-ơng pháp sinh ảnh Fractal BằNG Hệ HàM LặP (IFS) Và Hệ ThốNG L-SYSTEM đồ án tốt nghiệp đại học hệ quy Ngành: Công Nghệ Thông Tin Sinh viên thực : Nguyễn Tam Hùng Giáo viên h-íng dÉn : PGS.TS Ng« Quốc Tạo M· sè sinh viên : 101430 Hải Phòng - 2010 Bộ giáo dục đào tạo Tr-ờng đại học dân lập hải phòng -o0o - đồ án tốt nghiệp Ngành công nghệ thông tin Hải Phòng 2010 giáo dục đào tạo cộng hoà xà hội chủ nghĩa việt nam tr-ờng đại học dân lập hải phòng §éc lËp - Tù - H¹nh -o0o - nhiƯm vơ thiÕt kÕ tèt nghiƯp Sinh viªn : Ngun Tam Hïng Líp : CT1001 Mà số: 101430 Ngành: Công nghệ Thông tin Tên đề tài: Tìm hiểu ph-ơng pháp sinh ảnh Fractal hệ hàm lặp (IFS) hệ thống L-System nhiệm vụ đề tài Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp a Nội dung: b Các yêu cầu cần giải Các số liệu cần thiết để thiết kế, tính toán Địa điểm thực tập Phần nhận xét đánh giá cán chấm phản biện đề tài tốt nghiệp Đánh giá chất l-ợng đề tài tốt nghiệp (về mặt nh- sở lý luận, thuyết minh ch-ơng trình, giá trị thực tế, ) Cho điểm cán phản biện ( Điểm ghi số chữ ) Ngày .tháng .năm 2010 Cán chấm phản biện ( Ký, ghi rõ họ tªn ) LỜI CẢM ƠN Trƣớc hết, em xin chân thành cảm ơn thầy giáo PGS.TS Ngô Quốc Tạo tận tình hƣớng dẫn, dạy giúp đỡ tận tình tạo điều thuận lợi để em hồn thành báo cáo tốt nghiệp Em xin chân thành cảm ơn trung tâm nghiên cứu phát triển công nghệ phần mêm, nơi tạo điều kiện tốt suốt thời gian thực tập Em xin chân thành cảm ơn quý thầy cô khoa công nghệ thơng tin trƣờng đại học dân lập Hải Phịng tận tình giảng dạy, trang bị cho chúng em kiến thức cần thiết suốt trình học tập Và em xin gởi lòng biết ơn đến gia đình, cha, mẹ,bạn bè ủng hộ, giúp đỡ động viên em lúc khó khăn Đề tài đƣợc thực thời gian tƣơng đối ngắn, nên dù cố gắng hoàn thành đề tài nhƣng chắn tránh khỏi thiếu sót định Rất mong nhận đƣợc thơng cảm đóng góp ý kiến vơ q báu thầy cô, bạn bè, nhằm tạo tiền đề thuận lợi cho việc phát triển đề tài tƣơng lai Hải Phòng, tháng 07 năm 2010 Sinh viên Nguyễn Tam Hùng LỜI NĨI ĐẦU Tại mơn hình học đƣợc xem "khơ cứng" "lạnh lẽo"? Một lý mô tả đƣợc giới tự nhiên xung quanh Những đám mây trôi lơ lững cầu, núi nhấp nhô khơng phải chóp nón, bờ biển thơ mộng khơng phải đƣờng trịn Từ cảm nhận trực quan này, năm 1982, nhà toán học thiên tài Mandelbrot nảy sinh ý tƣởng tồn mơn "Hình học tự nhiên", Fractal Geometry Từ đây, tơi bạn mơ tả đám mây cách xác nhƣ kiến trúc sƣ thiết kế nhà họ Trong năm gần đây, toán học khoa học tự nhiên bƣớc lên bậc thềm mới, mở rộng sáng tạo khoa học trở Với ngƣời quan sát tình cờ màu sắc cấu trúc Fractal sở vẽ đẹp chúng tạo nên lơi hình thức nhiều lần so với đối tƣợng toán học đƣợc biết đến Những nguyên nhân lôi hình học Fractal tạo chỉnh sửa đƣợc khái niệm lỗi thời giới thực thông qua tập hợp tranh mạnh mẽ Việc nghiên cứu ngơn ngữ hình học tự nhiên mở nhiều hƣớng cho khoa học ứng dụng Trong đề tài thực nghiên cứu phần nhỏ hình học phân hình ứng dụng Nội dung đề tài gồm có ba chƣơng đƣợc trình bày nhƣ sau: .6 CHƯƠNG I TÌM HIỂU VỀ FRACTAL 1.2 Các ứng dụng tổng quát hình học Fractal .10 1.3 Các kiến thức toán học 14 1.4 Số chiều Fractal 19 CHƯƠNG II PHƯƠNG PHÁP SINH ẢNH BẰNG FRACTAL .22 II.1 Họ đƣờng Vonkock .22 II.2 Họ đƣờng peano 38 II Đƣờng sierpinski 64 II.4 Cây fractal 68 II.5 Phong cảnh fractal .71 II.6 Hệ thống hàm lặp (IFS) .78 II.7 Tập Mandelbrot 82 II.8 Tập Julia 88 II.9 Họ đƣờng cong Phonenix 91 KẾT LUẬN CHƢƠNG 95 96 CHƯƠNG I TÌM HIỂU VỀ FRACTAL VÀ PHÁT TRIỂN CỦA FRACTAL “Khoa học đại” vốn đƣợc phát triển từ kỷ nguyên Khai sáng (Enlightenment) kỷ 17, khởi đầu phát minh Kepler, Galilei Newton định luật vận động vật chất thúc đẩy mạnh mẽ cách mạng công nghiệp Với phát minh đó, lần ngƣời tìm đƣợc cách nhận thức giới “phƣơng pháp khoa học” mà không cần dựa vào sức mạnh thần thánh hay phải viện đến liên cảm huyền bí trí tuệ ngƣời với tinh thần hay linh hồn tự nhiên Và đó, “khoa học” đƣợc phát triển trƣớc hết mạnh mẽ lĩnh vực nghiên cứu tự nhiên nhƣ học, vật lý học, thiên văn học, v.v 1.1 “tự nhiên không đến với ta nhƣ ta nghĩ nó”, khoa học, tinh thần qui giản giới luận, với việc làm tự nhiên “hất đổ đứa bé với chậu nƣớc tắm” Ta trở lại đối mặt với tự nhiên đời nhƣ vốn có, đầy cát bụi trần gian, lơ nhơ khúc khuỷu, gãy vỡ quanh co, đâu có thẳng băng, trịn trịa nhƣ hình vẽ khoa học hình thức Ta nhận điều từ thân phần cốt lõi tri thức khoa học, từ lĩnh vực ứng dụng khoa học có nhiều hứa hẹn thành cơng Nền tảng Fractal đƣợc nhà toán học vật lí học Leibniz đƣa khoảng thời gian self-similarity (tính tự tƣơng tự) chƣa hoàn chỉnh nhƣng mở bƣớc tiến Nhƣng đƣợc biết đến với tên hình học Fractal vào năm 1872 Karl Weierstrass đƣa ví dụ với chức khơng trực quan thuộc tính thân khắp nơi liên tục mà không phụ thuộc vào không gian Vào 1904, volt Helge Koch khơng hài lịng với kết luận Weierstrass, đƣa định nghĩa hình học cao chức tƣơng tự, mà đƣợc gọi đường cong Koch Dựa thành , Waclaw Sierpinski xây dựng với tam giác vào năm 1915 mà sau gọi tam giác Sierpinski Ban đầu Fractal hình học đƣợc mơ tả nhƣ đƣờng cong hình 2D mà ta đƣợc biết đến nhƣ cơng trình đại ngày Vào 1918, Bertrand Russell đoán nhận " vẻ đẹp tối cao " bên nẩy sinh toán học Fractal.Ý tƣởng đƣờng đồng dạng đƣợc cầm xa Pierre Lévy Paul, ngƣời mà, 1938 đƣa kiến giả đƣờng cong fractal mới, đường cong C Lévy Georg Cantor cung cấp ví dụ tập cảu thuộc tính bất thƣờng thực phù hợp – tập Cantor đƣợc công nhận fractals Những hàm lặp mặt phẳng phức đƣợc điều tra vào cuối kỉ 19 - đầu kỉ 20 Henry Poincaré, Felix Klein, Pierre Fatou Gaston Julian Tuy nhiên, khơng có giúp đỡ đồ họa máy tính đại, họ thiếu phƣơng tiện để làm cho trực quan vẻ đẹp nhiều đối tƣợng mà họ khám phá Vào năm 1960, Benoit Mandelbrot bắt đầu điều tra self-similarity (tính tự tƣơng tự), mà trƣớc đƣợc xây dựng cơng việc Lewis Fry Richardson Cuối cùng, vào 1975 Mandelbrot đƣa từ "Fractal" để biểu thị đối tƣợng mà có miền Hausdorff- Besicovitch lớn so với miền trƣớc Ông ta minh họa định nghĩa tốn học máy tính trực quan hóa Những ảnh bắt đầu trở lên tiếng dựa vào phép đệ quy, dẫn tới hình thành thuật ngữ "Fractal" ngày CÁC ỨNG DỤNG TỔNG QUÁT CỦA HÌNH HỌC FRACTAL Hiện có hƣớng ứng dụng lớn lý thuyết hình học phân hình, bao gồm: ▪ Ứng dụng vấn đề tạo ảnh máy tính ▪ Ứng dụng công nghệ nén ảnh ▪ Ứng dụng nghiên cứu khoa học 1.2 □ ỨNG DỤNG TRONG VẤN ĐỀ TẠO ẢNH TRÊN MÁY TÍNH: Cùng với phát triển vƣợt bậc máy tính cá nhân năm gần đây, công nghệ giải trí máy tính bao gồm lĩnh vực nhƣ trị chơi, anmation video… nhanh chóng đạt đỉnh cao Cơng nghệ địi hỏi mơ tả hình ảnh máy PC với phong phú chi tiết màu sắc với tốn lớn thời gian cơng sức Gánh nặng đƣợc giảm nhẹ đáng kể nhờ mô tả đơn giản nhƣng đầy đủ lý thuyết fractal đối tƣợng tự nhiên Với hình học phân hình khoa học máy tính có tay công cụ mô tả tự nhiên vô mạnh mẽ 10 Sau hình vẽ minh hoạ giải thuật lặp ngẫu nhiên tƣơng ứng với bảng mã IFS đƣợc trình bày phần trƣớc: Lá dƣơng xỉ chiều Lá dƣơng xỉ chiều II.7 TẬP MANDELBROT □ Đặt vấn đề: Trong nhiều thập niên kỷ XX, nhà toán học để tâm nghiên cứu đến loại biểu thức phức tạp xác định bởi: zn+1 = zn2 + c, zi C, i N &c C (1) Để đơn giản hoá vấn đề, trƣớc hết ta xét trƣờng hợp c = z0 có trƣờng hợp sau: + z0 = : zn = 1, n + z0 < : zn n + z0 > : zn n R Khi Ở tốc độ tiến đến hay tiến đến dãy (zn) đƣợc định giá trị ban đầu z0 dãy Trong trƣờng hợp z0 < 1, giá trị z0 nhỏ dãy (zn) tiến đến nhanh Ngƣợc lại z0 > 1, giá trị z0 lớn dãy (zn) tiến nhanh Trong trƣờng hợp tổng quát, dãy (zn) đƣợc xác định công thức (1) khó khảo sát mặt lý thuyết Chỉ đến năm 1979, Mandelbrot thành công việc quan sát dãy với hỗ trợ máy tính điện tử Kết đƣợc Mandelbrot quan sát thấy cấu trúc fractal phức tạp đẹp Nó đƣợc đặt tên Mandelbrot để ghi nhớ công lao tác giả, ngƣời khai sinh lý thuyết hình học phân hình □ CƠNG THỨC TỐN HỌC: Ký hiệu zn = ( xn , yn), c = (p,q), đó: 83 xn = Re(zn), p = Re(c), yn = Im(zn), q = Im(c), n hệ thức truy hồi xác định (1) đƣợc viết lại theo dạng đơn giản nhƣ sau: xn+1 = xn2 – yn2 + p yn+1 = 2xn yn + q (2) Ngoài khảo sát dãy (zn) ta tìm đƣợc tính chất sau: Tính chất hội tụ dãy (zn): - Nếu tồn k N cho | zk | > dãy (zn) hội tụ đến vô cực - Nếu tồn k N cho | zt | < 2, t : k t 1, với số hữu hạn có | zn | < 2, n k (Ký hiệu | z | modul số phức z) □ THUẬT TOÁN THỂ HIỆN TẬP MANDELBROT: Xây dựng thuật tốn: Tập Mandelbrot hình ảnh dãy (zn), với giá trị khởi đầu z0 = Khi hình máy tính chuyển đổi thành mặt phẳng phức thu hẹp với: + Trục x biểu diễn phần thực số phức c (giá trị p đƣợc nêu phần 2/) + Trục y biểu diễn phần ảo số phức c (giá trị q đƣợc nêu phần 2/) Từ tính chất hội tụ dãy (zn) phần chia tập giá trị c mặt phẳng phức thành lớp: Lớp 1: Gồm giá trị c làm cho dãy (zn) không tiến vơ cực mà đƣợc giới hạn vịng trịn bán kính Một cách cụ thể, giá trị c cho xuất phát từ chúng, ta ln có | zi | < 2, i = 1, 2, …, l, l ta chọn trƣớc Để ý giá trị l lớn tính hội tụ dãy (zn) tƣơng ứng với giá trị cụ thể đƣợc kiểm tra chặt chẽ xác Tuy nhiên thời gian tính tốn để xác định tính hội tụ tăng lên gấp nhiều lần Lớp 2: Gồm giá trị phức c làm cho dãy (zn) hội tụ vô cực Cụ thể giá trị c khởi đầu dẫn đến | zn | > ngƣỡng k hữu hạn Vấn đề đặt cần quan sát tính hỗn độn dãy (zn) Do tập trung quan sát vào giá trị c thuộc lớp Muốn nhƣ 84 giá trị phải đƣợc thực cách bật hình máy tính màu khác Chúng ta tô màu mặt phẳng phức hình theo qui tắc sau: + Các giá trị c thuộc lớp đƣợc tô màu đen khơng có tính chất đáng ý + Các giá trị c thuộc lớp đƣợc tô màu khác ứng với ngƣỡng tiến vô hạn k khác Do số lƣợng màu hiển thị hình đồ hoạ hữu hạn, việc tô màu giá trị đƣợc thực theo kỹ thuật tô màu xoay vòng đƣợc phần tiếp sau Thuật toán tổng quát để thể tập Mandelbrot: Thuật toán gồm bƣớc sau: - Bƣớc 1: Xuất phát với giá trị khởi đầu c = (p,q) - Bƣớc 2: Kiểm tra c thuộc lớp hay lớp - Bƣớc 3: Nếu c thuộc lớp tơ điểm ảnh tƣơng ứng với c hình màu đen, ngƣợc lại tơ điểm ảnh màu tƣơng ứng xác định từ kỹ thuật tô xoay vòng - Bƣớc 4: Chọn giá trị c trở lại bƣớc quét hết tồn giá trị c cần khảo sát (đơi khơng cần khảo sát tồn mà khảo sát miền đƣợc yêu cầu mặt phẳng phức) Khi thuật tốn kết thúc Bây ta ký hiệu: + Max_Iterations số lần lặp tối đa cần có để kiểm tra giá trị c thuộc lớp hay lớp (chính giá trị đƣợc đề cập định nghĩa lớp 1) + Count số lần lặp thực (giá trị tƣơng ứng với ngƣỡng tiến vô hạn k đƣợc nêu định nghĩa lớp 2) + Miền mặt phẳng phức cần khảo sát cửa sổ hình chữ nhật đƣợc mơ tả toạ độ góc trái bên dƣới (Xmin , Ymin) toạ độ góc phải (Xmax , Ymax) (theo hệ trục toạ độ thơng thƣờng) Khi mối liên hệ hệ trục toạ độ phức thực tế với hệ toạ độ ngun hình máy tính đƣợc x thể hình 11.1 dƣới đây: 85 q (Xmax, Ymax) Thể (Xmin, Ymin) hình (0,0) Col (Max_Col,Max_Row) p Vùng khảo sát miền máy mặt phẳng phức biểu biễn giá trị c Row Hệ toạ độ nguyên tính với chiều dƣơng ngƣợc chiều thực tế Hình 11.1 Theo hình này, điểm bắt đầu (0, 0) hình máy tính tƣơng ứng với giá trị c = (Xmin , Ymax), điểm kết thúc (Max_Col, Max_Row), Max_Col x Max_Row thể độ phân giải mode đồ hoạ thời hình (ví dụ với mode VGA 16 màu ta có Max_Col = 604, Max_Row = 480), tƣơng ứng với điểm c = (Xmax , Ymax) Do ký hiệu: p lƣợng gia tăng theo theo trục thực giá trị p ứng với cột hình q lƣợng gia tăng theo trục ảo giá trị q ứng với hàng hình thì: p q X max X Max _ Col Ymax Ymin Max _ Row Khi số phức c = (p, q) ứng với điểm ảnh có toạ độ hình (Col, Row) đƣợc xác định bởi: p = Xmin + Col p q = Ymax – Row q Có thể kiểm tra Col, Row biến thiên theo chiều tăng đến giá trị tƣơng ứng Max_Col, Max_Row, có p biến thiên từ Xmin đến Xmax q biến thiên từ Ymax xuống Ymin , nhƣ yêu cầu quan hệ hệ 86 toạ độ phức sử dụng toán học với hệ toạ độ hiển thị hình đƣợc nêu Hình 11.1 Việc kiểm tra c thuộc lớp hay đƣợc viết dƣới dạng: if (Count > Max_Iterations) & (Modul (Zcount) < )) c thuộc lớp if (Count < Max_Iterations) & (Modul (Zcount) > )) c thuộc lớp Đồng thời màu tô cho điểm c = (p, q) thuộc lớp đƣợc tính tốn theo công thức: Màu tô (p, q) = Count(p, q) mod Max_Colors Với: Màu tô (p, q): số hiệu màu gán cho điểm ảnh tƣơng ứng với giá trị (p, q) Count(p, q): ngƣỡng tiến vô hạn dãy (zn) tƣơng ứng với (p, q) Max_Colors: số lƣợng màu tối đa có palette màu đƣợc sử dụng Trong thuật toán này, để thể cách chi tiết, quét giá trị c cửa sổ giới hạn (Xmin , Ymin) (Xmax , Ymax) theo thứ tự từ xuống dƣới từ trái sang phải, tức ứng với cột Col, ta kiểm tra tô màu tất điểm ảnh cột theo giá trị phức tƣơng ứng, sau chuyển sang cột Nhƣ có đƣợc thuật tốn chi tiết sau: for(Col = 0; Col < Max_Col; ++Col) { for(Row = 0; Row

Ngày đăng: 06/04/2021, 18:27

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan