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 80 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) 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 hiƯn : M· sè sinh viªn 101430 Nguyễn Tam Hùng Giáo viên h-ớng dẫn : PGS.TS Ngô Quc To : 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 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: 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 1.1 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 đó, “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 “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à tố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 HausdorffBesicovitch lớn so với miền trƣớc Ông ta minh họa định nghĩa toá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 1.2 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 □ Ứ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 = zn + 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 = z R Khi có trƣờng hợp sau: + z0 = : zn = 1, n + z0 < : zn n + z0 > : zn n Ở tốc độ tiến đến hay tiến đến dãy (z n) đƣợ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 z > 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: x n+1 = x +p n –y2 n 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ố k (Ký hiệu | z | modul hữu hạn có | zn | < 2, n 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 (z n) 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ó | z i | < 2, i = 1, 2, …, l, l ta chọn trƣớc Để ý giá trị l lớn tính hội tụ dãy (z n) 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 (z n) 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 toàn giá trị c cần khảo sát (đôi không cần khảo sát toàn mà khảo sát miền đƣợc yêu cầu mặt phẳng phức) Khi thuật toá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ạ độ nguyên hình máy tính đƣợc x thể hình 11.1 dƣới đây: 85 q (Xmax, Ymax) (0,0) Col Thể (Xmin, Ymin) hình (Max_Col,Max_Row) p Vùng khảo sát miền Row Hệ toạ độ nguyên máy mặt phẳng phức biểu biễn giá trị c 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ì: X X p max Max _ Col q Y max Y 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: 16/03/2019, 19:47

Từ khóa liên quan

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

Tài liệu liên quan