Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
97
Dung lượng
2,74 MB
Nội dung
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ô Quc To 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 phúc -o0o - nhiệm vụ thiết kế tốt nghiệp Sinh viên : Nguyễn 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 ) LI CM N Trc ht, em xin chõn thnh cm n thy giỏo PGS.TS Ngụ Quc To ó tn tỡnh hng dn, ch dy giỳp tn tỡnh v to mi iu thun li em hon thnh bỏo cỏo tt nghip ca mỡnh Em cng xin chõn thnh cm n trung tõm nghiờn cu v phỏt trin cụng ngh phn mờm, ni ó to iu kin tt sut thi gian thc Em cng xin chõn thnh cm n quý thy cụ khoa cụng ngh thụng tin trng i hc dõn lp Hi Phũng ó tn tỡnh ging dy, trang b cho chỳng em nhng kin thc cn thit sut quỏ trỡnh hc V em cng xin gi lũng bit n n gia ỡnh, cha, m,bn bố ó ng h, giỳp v ng viờn em nhng lỳc khú khn ti c thc hin mt thi gian tng i ngn, nờn dự ó ht sc c gng hon thnh ti nhng chc chn s khụng th trỏnh nhng thiu sút nht nh Rt mong nhn c s thụng cm v úng gúp nhng ý kin vụ cựng quý bỏu ca cỏc thy cụ, bn bố, nhm to tin thun li cho vic phỏt trin ti tng lai Hi Phũng, thỏng 07 nm 2010 Sinh viờn Nguyn Tam Hựng LI NểI U Ti mụn hỡnh hc c xem l "khụ cng" v "lnh lo"? Mt lý c bn nht l vỡ nú khụng th mụ t c th gii t nhiờn xung quanh chỳng ta Nhng ỏm mõy trụi l lng khụng phi l nhng qu cu, nhng ngn nỳi nhp nhụ khụng phi l nhng chúp nún, nhng b bin th mng khụng phi l nhng ng trũn T cm nhn trc quan ny, nm 1982, nh toỏn hc thiờn ti Mandelbrot ny sinh ý tng v s tn ti ca mt mụn "Hỡnh hc ca t nhiờn", Fractal Geometry T õy, tụi v bn cú th mụ t mt ỏm mõy mt cỏch chớnh xỏc nh mt kin trỳc s thit k cn nh ca h Trong nhng nm gn õy, toỏn hc v khoa hc t nhiờn ó bc lờn mt bc thm mi, s m rng v sỏng to khoa hc tr th Vi mt ngi quan sỏt tỡnh c mu sc ca cỏc cu trỳc Fractal c s v v p ca chỳng to nờn mt s lụi cun hỡnh thc hn nhiu ln so vi cỏc i tng toỏn hc ó tng c bit n Nhng nguyờn nhõn ca s lụi cun hỡnh hc Fractal to l nú ó chnh sa c khỏi nim li thi v th gii thc thụng qua hp cỏc bc tranh mnh m v nht ca nú Vic nghiờn cu ngụn ng hỡnh hc t nhiờn ny m nhiu hng mi cho khoa hc c bn v ng dng Trong ti ny ch mi thc hin nghiờn cu mt phn rt nh v hỡnh hc phõn hỡnh v ng dng ca nú Ni dung ca ti gm cú ba chng c trỡnh by nh sau: .6 CHNG I TèM HIU V FRACTAL 1.2 Cỏc ng dng tng quỏt ca hỡnh hc Fractal .10 1.3 Cỏc kin thc toỏn hc c bn 14 1.4 S chiu Fractal 19 CHNG II PHNG PHP SINH NH BNG 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 cnh fractal .71 II.6 H thng hm lp (IFS) .78 II.7 Tp Mandelbrot 82 II.8 Tp Julia 88 II.9 H cỏc ng cong Phonenix 91 KT LUN CHNG 95 96 CHNG I TèM HIU V FRACTAL V PHT TRIN CA FRACTAL Khoa hc hin i c phỏt trin t k nguyờn Khai sỏng (Enlightenment) th k 17, u bi nhng phỏt minh ca Kepler, Galilei v Newton v cỏc nh lut ca ng vt cht v bi s thỳc y mnh m ca cuc cỏch mng cụng nghip Vi nhng phỏt minh ú, ln u tiờn ngi tỡm c mt cỏch nhn thc th gii bng phng phỏp khoa hc m khụng cn da vo mt sc mnh thn thỏnh no hay phi vin n nhng liờn cm huyn no gia trớ tu ngi vi mt tinh thn hay linh hn ca t nhiờn V cng ú, khoa hc ó c phỏt trin trc ht v mnh m cỏc lnh vc nghiờn cu t nhiờn nh c hc, vt lý hc, thiờn hc, v.v 1.1 t nhiờn khụng n vi ta sch s nh ta ngh v nú, v khoa hc, tinh thn qui gin ca c gii lun, vi vic lm sch t nhiờn ú ó ht c a cựng vi chu nc tm Ta tr li i mt vi mt t nhiờn v cuc i nh nú cú, y cỏt bi trn gian, lụ nhụ khỳc khuu, góy v quanh co, ch õu cú thng bng, trũn tra nh cỏc hỡnh v ca khoa hc hỡnh thc Ta nhn iu ú c t chớnh bn thõn phn ct lừi tri thc ca khoa hc, c t nhng lnh vc ng dng khoa hc ang cú nhiu hn thnh cụng Nn tng u tiờn ca Fractal ó c nh toỏn hc v vt lớ hc Leibniz a cựng khong thi gian ú l self-similarity (tớnh t tng t) mc dự cha hon chnh nhng ó m bc tin u tiờn Nhng nú ch c bit n vi cỏi tờn hỡnh hc Fractal u tiờn vo nm 1872 Karl Weierstrass a mt vớ d vi chc nng khụng trc quan ca thuc tớnh hin thõn khp ni liờn tc m khụng ph thuc vo khụng gian Vo 1904, volt Helge Koch khụng hi lũng vi kt lun ca Weierstrass, a mt nh ngha hỡnh hc cao hn v chc nng tng t, m bõy gi c gi l ng cong Koch Da trờn thnh qu ú , Waclaw Sierpinski ó xõy dng vi tam giỏc vo nm 1915 m sau gi l tam giỏc Sierpinski Ban u cỏc Fractal hỡnh hc ó c mụ t nh l nhng ng cong hn l hỡnh 2D m ta c bit n nh l cỏc cụng trỡnh hin i ngy Vo 1918, Bertrand Russell ó oỏn nhn v mt " v p ti cao " bờn ny sinh toỏn hc Fractal.í tng ca cỏc ng ng dng c cm xa hn na bi Pierre Lộvy Paul, ngi m, 1938 ó a kin gi v mt ng cong fractal mi, ng cong C Lộvy Georg Cantor cng ó cung cp cỏc vớ d v cỏc cu thuc tớnh bt thng thc s phự hp Cantor bõy gi cng c cụng nhn l fractals Nhng hm lp mt phng phc c iu tra vo cui th k 19 - u th k 20 bi Henry Poincarộ, Felix Klein, Pierre Fatou v Gaston Julian Tuy nhiờn, khụng cú s giỳp ca mỏy tớnh hin i, h thiu nhng phng tin lm cho trc quan v p ca nhiu i tng m h khỏm phỏ Vo nhng nm 1960, Benoit Mandelbrot bt u iu tra self-similarity (tớnh t tng t), m trc ú c xõy dng trờn cụng vic ca Lewis Fry Richardson Cui cựng, vo 1975 Mandelbrot a t "Fractal" biu th mt i tng m cú Hausdorff- Besicovitch l ln hn so vi cỏc trc õy ễng ta minh nh ngha toỏn hc ny bi mỏy tớnh nhng trc quan húa Nhng nh ny bt u tr lờn ni ting da vo phộp quy, dn ti hỡnh thnh thut ng "Fractal" ngy CC NG DNG TNG QUT CA HèNH HC FRACTAL Hin cú hng ng dng ln ca lý thuyt hỡnh hc phõn hỡnh, bao gm: ng dng to nh trờn mỏy tớnh ng dng cụng ngh nộn nh ng dng nghiờn cu khoa hc c bn 1.2 NG DNG TRONG VN TO NH TRấN MY TNH: Cựng vi s phỏt trin vt bc ca mỏy tớnh cỏ nhõn nhng nm gn õy, cụng ngh gii trớ trờn mỏy tớnh bao gm cỏc lnh vc nh trũ chi, anmation video nhanh chúng t nh cao ca nú Cụng ngh ny ũi hi s mụ t cỏc hỡnh nh ca mỏy PC vi s phong phỳ v chi tit v mu sc vi s tn kộm rt ln v thi gian v cụng sc Gỏnh nng ú hin ó c gim nh ỏng k nh cỏc mụ t n gin nhng y ca lý thuyt fractal v cỏc i tng t nhiờn Vi hỡnh hc phõn hỡnh khoa hc mỏy tớnh cú tay mt cụng c mụ t t nhiờn vụ cựng mnh m 10 Sau õy l cỏc hỡnh v minh ho gii thut lp ngu nhiờn tng ng vi bng mó IFS c trỡnh by phn trc: Lỏ dng x chiu Lỏ dng x chiu II.7 TP MANDELBROT t : Trong nhiu thp niờn ca th k XX, cỏc nh toỏn hc ó tõm nghiờn cu n mt loi biu thc phc xỏc nh bi: zn+1 = zn2 + c, ú zi C, i N &c C (1) n gin hoỏ , trc ht ta xột trng hp c = v z0 ú cú trng hp sau: + z0 = : ú zn = 1, n + z0 < : ú zn n + z0 > : ú zn n R Khi õy tc tin n hay tin n ca dóy (zn) c quyt nh bi giỏ tr ban u z0 ca dóy Trong trng hp z0 < 1, giỏ tr z0 cng nh thỡ dóy (zn) tin n cng nhanh Ngc li z0 > 1, giỏ tr z0 cng ln thỡ dóy (zn) cng tin nhanh Trong trng hp tng quỏt, dóy (zn) c xỏc nh bi cụng thc (1) trờn rt khú kho sỏt v mt lý thuyt Ch n nm 1979, Mandelbrot mi thnh cụng vic quan sỏt dóy ny vi s h tr ca mỏy tớnh in t Kt qu c Mandelbrot quan sỏt thy l mt nhng cu trỳc fractal phc v p Nú ó c t tờn Mandelbrot ghi nh cụng lao ca tỏc gi, ngi ó khai sinh lý thuyt hỡnh hc phõn hỡnh CễNG THC TON HC: Ký hiu zn = ( xn , yn), c = (p,q), ú: 83 xn = Re(zn), p = Re(c), yn = Im(zn), q = Im(c), n thỡ h thc truy hi xỏc nh (1) cú th c vit li theo dng n gin hn nh sau: xn+1 = xn2 yn2 + p yn+1 = 2xn yn + q (2) Ngoi kho sỏt dóy (zn) ta tỡm c tớnh cht sau: Tớnh cht v s hi t ca dóy (zn): - Nu tn ti k N cho | zk | > thỡ dóy (zn) hi t n vụ cc - Nu tn ti k N cho | zt | < 2, t : k t 1, vi l hng s hu hn thỡ cng cú | zn | < 2, n k (Ký hiu | z | ch modul ca s phc z) THUT TON TH HIN TP MANDELBROT: Xõy dng thut toỏn: Tp Mandelbrot l hỡnh nh ca dóy (zn), vi giỏ tr u z0 = Khi ú mn hỡnh mỏy tớnh s chuyn i thnh mt mt phng phc thu hp vi: + Trc x biu din phn thc ca s phc c (giỏ tr p c nờu phn 2/) + Trc y biu din phn o ca s phc c (giỏ tr q c nờu phn 2/) T tớnh cht v s hi t ca dóy (zn) phn chỳng ta cú th chia cỏc giỏ tr ca c trờn mt phng phc thnh lp: Lp 1: Gm cỏc giỏ tr c lm cho dóy (zn) khụng tin vụ cc m c gii hn mt vũng trũn bỏn kớnh Mt cỏch c th, ú l cỏc giỏ tr c cho xut phỏt t chỳng, ta luụn cú | zi | < 2, i = 1, 2, , l, ú l ta chn trc ý l giỏ tr l cng ln thỡ tớnh hi t ca dóy (zn) tng ng vi mt giỏ tr c th cng c kim tra cht ch v chớnh xỏc Tuy nhiờn ú thi gian tớnh toỏn xỏc nh tớnh hi t s tng lờn gp nhiu ln Lp 2: Gm cỏc giỏ tr phc c lm cho dóy (zn) hi t v vụ cc C th ú l cỏc giỏ tr c u dn n | zn | > mt ngng k hu hn no ú Vn t õy l cn quan sỏt tớnh hn n ca dóy (zn) Do ú chỳng ta trung cỏc quan sỏt vo cỏc giỏ tr c thuc lp Mun nh vy cỏc 84 giỏ tr ny phi c thc hin mt cỏch ni bt trờn mn hỡnh mỏy tớnh bi cỏc mu khỏc Chỳng ta s tụ mu mt phng phc mn hỡnh theo qui tc sau: + Cỏc giỏ tr c thuc lp c tụ mu en vỡ khụng cú tớnh cht gỡ ỏng chỳ ý + Cỏc giỏ tr c thuc lp c tụ bng cỏc mu khỏc ng vi cỏc ngng tin vụ hn k khỏc Do s lng mu cú th hin th trờn mt mn hỡnh ho l hu hn, vic tụ mu cỏc giỏ tr ny s c thc hin theo k thut tụ mu xoay vũng c ch cỏc phn tip sau õy Thut toỏn tng quỏt th hin Mandelbrot: Thut toỏn gm cỏc bc sau: - Bc 1: Xut phỏt vi mt giỏ tr u c = (p,q) - Bc 2: Kim tra c thuc lp hay lp - Bc 3: Nu c thuc lp thỡ tụ im nh tng ng vi c trờn mn hỡnh bng mu en, ngc li tụ im nh ny bi mu tng ng xỏc nh t k thut tụ xoay vũng - Bc 4: Chn mt giỏ tr c mi v tr li bc cho n quột ht ton b giỏ tr c cn kho sỏt (ụi chỳng ta khụng cn kho sỏt ton b m ch kho sỏt mt c yờu cu ca mt phng phc) Khi ú thut toỏn kt thỳc Bõy gi ta ký hiu: + Max_Iterations l s ln lp ti a cn cú kim tra giỏ tr c thuc lp hay lp (chớnh l giỏ tr c cp nh ngha ca lp 1) + Count l s ln lp ó thc hin (giỏ tr ny tng ng vi mt ngng tin vụ hn k c nờu nh ngha lp 2) + Min ca mt phng phc cn kho sỏt l mt ca s hỡnh ch nht c mụ t bi to gúc trỏi bờn di (Xmin , Ymin) v to gúc phi trờn (Xmax , Ymax) (theo h trc to thụng thng) Khi ú mi liờn h gia h trc to phc thc t vi h to nguyờn trờn mn hỡnh mỏy tớnh c x th hin bi hỡnh 11.1 di õy: 85 q (Xmax, Ymax) Th hin trờn (Xmin, Ymin) mn hỡnh (0,0) Col (Max_Col,Max_Row) p Vựng kho sỏt l ca mỏy mt phng phc biu bin giỏ tr c Row H to nguyờn trờn tớnh vi chiu dng ngc chiu thc t Hỡnh 11.1 Theo hỡnh ny, im bt u (0, 0) trờn mn hỡnh mỏy tớnh s tng ng vi giỏ tr c = (Xmin , Ymax), im kt thỳc (Max_Col, Max_Row), ú Max_Col x Max_Row th hin phõn gii ca mode ho hin thi ca mn hỡnh (vớ d vi mode VGA 16 mu ta cú Max_Col = 604, Max_Row = 480), s tng ng vi im c = (Xmax , Ymax) Do ú nu ký hiu: p l lng gia tng theo theo trc thc ca giỏ tr p ng vi mi ct trờn mn hỡnh q l lng gia tng theo trc o ca giỏ tr q ng vi mi hng trờn mn hỡnh thỡ: p q X max X Max _ Col Ymax Ymin Max _ Row Khi ú mt s phc c = (p, q) ng vi mt im nh cú to mn hỡnh l (Col, Row) s c xỏc nh bi: p = Xmin + Col p q = Ymax Row q Cú th kim tra l Col, Row bin thiờn theo chiu tng n cỏc giỏ tr tng ng Max_Col, Max_Row, chỳng ta cng cú p bin thiờn t Xmin n Xmax v q bin thiờn t Ymax xung Ymin , ỳng nh yờu cu v quan h gia h 86 to phc s dng toỏn hc vi h to hin th ca mn hỡnh ó c nờu Hỡnh 11.1 Vic kim tra c thuc lp hay c vit di dng: if (Count > Max_Iterations) & (Modul (Zcount) < )) c thuc lp if (Count < Max_Iterations) & (Modul (Zcount) > )) c thuc lp ng thi mu tụ cho mt im c = (p, q) thuc lp c tớnh toỏn theo cụng thc: Mu tụ (p, q) = Count(p, q) mod Max_Colors Vi: Mu tụ (p, q): s hiu mu gỏn cho im nh tng ng vi giỏ tr (p, q) Count(p, q): ngng tin vụ hn ca dóy (zn) tng ng vi (p, q) Max_Colors: s lng mu ti a cú palette mu ang c s dng Trong thut toỏn ny, th hin mt cỏch chi tit, chỳng ta quột cỏc giỏ tr c ca s gii hn bi (Xmin , Ymin) v (Xmax , Ymax) theo th t t trờn xung di v t trỏi sang phi, tc l ng vi mi ct Col, ta kim tra v tụ mu tt c cỏc im nh trờn ct ny theo cỏc giỏ tr phc tng ng, sau ú mi chuyn sang ct mi k tip ú Nh vy chỳng ta cú c thut toỏn chi tit sau: for(Col = 0; Col < Max_Col; ++Col) { for(Row = 0; Row