¸H§Î
¡]¥»³æ¤¸½d¨Òµ{¦¡¥þ¥Ñ§õ©ú¾Ë¦Ñ®v¼¶¼g¡A¨Ñ¦U¦ì¦P¾Ç°Ñ¦Ò¡^
¸H§Î¬O¤°»ò¡H
¸H§Î¬O¥Î¨ÓºÙ¤@ºØ¯S®íªº´X¦ó¹Ï§Î¡A¥¦³B³Bªº§½³¡³£¦³µÛ¤@¼Ëªº¯S¼xµ²ºc©Î¹Ï®×¡C¥Ñ©ó¹q¸£ªº»²§U¡C
¸H§Î±`¨£©ó¤£Â_«ÂС¥N¤@Ó¦¬ÁY©Êªº¨ç¼Æªº·¥ÂI¶°¡A¥s°µ§l¤l (attractor)¡A¤@Ó²³æ¡]¦ý¤£¬O¸H§Î¡^ªº¨Ò¤l¬O f(x) = x2¡AY±q x = [0,1) ¥Xµo¡A§â xn+1 = xn2 ¤@ª½¥N¤U¥hªº¸Ü¡A³Ì«áªºÈ·|Áͪñ©ó 0¡Ax=0 ³oÓÂI´N¬O f(x) = x2 ³oÓ¤ÏÂС¥N¬M®gªº§l¤l¡A¤S¦p¥t¤@Ó¨Ò¤l¬O f(x) = x/2¡A¥¦³Ì«á·íµM¬O¶]¨ì x = 0 ¤W¡CY¬O f(x) = -x¡A«h¬O¤@ª½¦b¨âÓÂI¤§¶¡¸õ°Ê¡A¥¦Ìªº§l¤l³£«D±`²³æ¡C
¦³¨Ç¤ÏÂС¥N¬M®gªº§l¤l´N½ÆÂø±o¦h¡A¤£¬O¤@¨âÓ©T©wÂI¦Ó¤v¡A¥s©_²§§l¤l (strange attractor)¡A¦Ó¥¦¬J¬Oº¡¨¬«ù©w¨ç¼Æ¤£Â_¬M®gªºµ²ªG¡A·íµM´N¦³¨ä¤@©wªº³W«ß©Ê¡A¤×¨ä¬O¦¬ÁY©Êªº¬M®g¡A´N¬O§âÂI§ë®g¨ì¤ñì¨Ó§ó¤pªº¹v½d³ò¤º¡AµM¦Ó³oÓ§l¤l¤Wªº©Ò¦³ÂI¨Ì©w¸q¤£·|¦A¨ü¬M®g¹ïÀ³¨ì·sªºÂI¡A¥i¥H·Q¹³¥¦´N·|«O¦³§½³¡µ²ºc¤U³£¤´¤@¦A¨ã¦³¦¹³W«ß©Ê¡C±q³oùؤj®a¥i¥HÅé·|¬°¤°»ò¸g¹L¤£Â_ªº©ñ¤j¥h¬Ý§óºë²Óªººc³y®É¡A¨ä¯S¼xªº¹Ï¼ËÁ`·|¤£Â_¥X²{¡A´N¬On³o¼Ë¤~¯àº¡¨¬§l¤lªº©w¸q¡C
¥t¥~¡A¥Ñ©ó¸H§Î©Ò¨ã¦³ªº³oºØ¯S®í©Ê½è¡A¤]¤Þµo¤F¤@ºØ©w¸qºû«×ªº·sÆ[ÂI¡Cºû«×¥i¥H¬Ý§@¬O¤@ÓªF¦è¨äªø«×ªº¤j¤p»P«¶qªºÃö«Y¡C¦pªG¨ä«¶qÀHªø«×ªº¥¤èÅܤơA«h³oӥ󪫬O¤Gºûªº¡GY¬OÀHªø«×ªº¥ß¤èÅܤơA«h¬O¤Tºûªº¡C¦Ó¥H¸H§Îªº¼Ë¦¡¥X²{ªºª«¥ó¡A¨ä«¶q»Pªø«×Åܤƪº¤ñ¨Ò¨Ã¤£¬O¾ã¼Æ¡A¥s°µ¬O¸H§Îºû«×¡C
¤j®a¥i¥H³z¹L¦Û¤v°Ê¤â¼gµ{¦¡¡A¨Óµe¥X¦³½ì¤S¦nª±ªº¸H§Î¡C
¸H§Îµ{¦¡¼g§@nÂI
(1) ¹Bºâ¡¥N
½Æ¼Æªº¨Ï¥Î
«Å§iªº¤èªk¬° complex a ©Î complex z(10,10) ¡C
½Æ¼Æªº±`¼Æ¦b Fortran ùجO¼g¦¨ (1.23, 4.56) ³oºØ¼Ë¤l
¦pªG»Ýn¨ú¥X¨ä¹ê³¡©Îµê³¡¡A¥i¥Î real(c_num) ©Î imag(c_num) ³o¨âÓ¤º«Ø¨ç¼Æ¡F ¤Ï¤§¡AYn±N¤@Ó¹ê¼Æ¶ñ¤J½Æ¼Æ¤¤¡A«h¥i¥Î c_num = (1.0,0.0)*r_num ³oºØ¤èªk ¡C
ºtºâªk
«ö¦UºØ¸H§Î¨ä¬J©wªº³W«h¡¥N¦Ó¤v¡A¨Ã«D¨D¸Ñ¼Æ¾Ç°ÝÃD¡C
¦¬ÀīקPÂ_
°ò©ó°j°é¦¸¼Æ
¦b§P©w¬°¤£¦¬ÀĤ§«á¡A°O¿ý¤w°õ¦æªº°j°é¦¸¼Æ¡C
°ò©óºë½T«×
¨Ï¥Î¤º«Øªº¹ï¼Æ¨ç¼Æ log( ) ¨ÓÀò±o¦¸¤è
exit «ü¥O
·í§PÂ_¦¨¥ß¡A¨Ã¥B§@¤F¾A·íªº³B²z¤§«á¡A§ÚÌ·|¦³»Ýn¸õ¥X¥¼¶]§¹ªº°j°é¡]©ñ±ó³Ñ¤Uªº´`Àô¤£¥²°µ¡^¡A³o®ÉÔ¡A¥i¥H¨Ï¥Î exit «ü¥O¨Ó¸õ¥X¤@¼hªº°j°é¡C¥¦ªº»yªk·¥Â²³æ¡A¥u¦³ exit ¦Ó¤v¡C
¶Ã¼Æ
IFS Ãþ«¬ªº¸H§Î·|»Ýn¥Î¨ì¶Ã¼Æ²£¥Í¾¹¡A ´¶¹M¦Ó¨¥¤@ӶüƲ£¥Í¾¹¨C¦¸³Q©I¥s´N·|µ¹¥X¤@Ó 0 ¨ì 1 ¤§¶¡ªº¤£¦P¹ê¼Æ¡A¨ä¥X²{ªº¾÷²v¬O¬Û·í¥§¡ªº¡C§Ú̳oùبϥΠNumerical Recipes ®Ñ¤¤«Øij´£¨Ñªº ran2¡A¥¦§¡¤Ã«×ªº«~½è¬O³Ì¦nªº¡C¥t¦³¤@Ó ran3¡A¨ä³t«×¤ñ ran2 §Ö«Ü¦h¡C¡]¦pªG§A¨Ï¥Îªº¬O Fortran90 ©Î§ó·sªºª©¥»¡A´N¦³¤º«Øªº¶Ã¼Æ¨ç¦¡¥i¥Î¡C¡^
»¼°j¦¡ªº (recursive) °Æµ{¦¡©I¥s
¦³¤@¨Ç¸H§Î¡A¹³¬O Koch ³·ªá³oºØ³Q¥s°µ¬O regular fractal ªÌ¡A¦pªG¯à¥Î»¼°j¦¡ªº°Æµ{¦¡©I¥s¡A´N¯à§âµ{¦¡¼g±o«D±`²±¶¡C¨Ï¥ÎªÌn§ä·sª©¥»ªº Fortran ½sĶ¾¹¡A´N·|¤ä´©¤F¡]¹ê²ßÀô¹Ò¤¤ªº gfortran ¬O¦³¤ä´©ªº¡A¨Æ¹ê¤W¥¦¬O fortran 95¡^¡C
(2) ¹Ï§Î
paper and graph setting
¯È±i¡]¹Ï±¡^¤j¤p
¹Ï®Ø¡B®y¼Ð»P¼Ðñ¤å¦r
point symbol type
a. coloring
cyclic index
user defined shading
b. magnification
repeating
(3) Repeating
A simple "GOTO" application
rease graph without asking
Mandelbrot ¶°¦X
³Ì¨ã¥Nªí©Ê¤]¬O«Ü¦h¤H¤½³Ì»{¬üÄRªº¸H§Î¡A¬O¼Æ¾Ç®a Mandelbrot ¤Î¨ä¥L¤Hªº§V¤O¬ã¨s¤~¤Þ°_¤j®aªº«µø¡C¥¦¬O½Æ¼Æ¥±¤WªºÂI¶°¦X¡A¥s Mandelbrot Set¡AM¡A¨ä©w¸q¬O©Ò¦³½Æ¼Æ¥±¤W·|¨Ï¤ÏÂС¥N¬M®g zn+1 = zn2 + c ¤£·|³y¦¨ | zn | µo´²ªº¨º¨Ç c È¡C( z ªºªì©lÈn¥Î (0,0) )
¹ê§@¥Ü½d¡G¤@¨B¤@¨B°Ê¤â¼gµ{¦¡¡]²³æ½d¨Òª©¡A¤£§t©ñ¤j¤Î«ÂС^
ºtºâªk¤Î§P©w¡]¤U±½d¨Òµ{¦¡¤¤ªº¬õ¦â³¡¤À¡^
³]©wªì©l z È¡]¤@«ß¬°¹s¡^¡B³]©w·sªº c È¡]¨C¦¸³£¤£¦P¡^ ¡B¤ÏÂС¥N¬M®g¡]¨C¦¸³£Àˬd¬O§_µo´²¡AY¬O«h c ÂI¼Ð¦¨¥Õ¦â¡A¨Ã¥B¸õ¥X¡¥N°j°é¡^
ø¹Ï¡]¤U±½d¨Òµ{¦¡¤¤ªºÂŦⳡ¤À¡^
pgopen »P pgclos¡G¶}±Ò¤ÎÃö³¬Ã¸¹Ï¸Ë¸m
papap »P pgenv¡G±±¨î¹Ï±ªº¤j¤p¥H¤ÎÃä®Ø½d³ò
pgpt¡GµeÂI
pgbbuf »P pgebuf¡G¶}±Ò¤ÎÃö³¬Ã¸¹Ï½w½Ä°Ï
¥H¤U¬°½d¨Òµ{¦¡¡G mandel_simple.f mandel_simple.x
program mandelbrot_simple
implicit none
complex c,z_ini,z
integer pgopen,i,j,k,isymbol,n_gen
real c_x_min,c_x_max,c_y_min,c_y_max,c_x,c_y,abs_zisymbol = -1
write (*,*) 'The program plot Mandelbrot set in a simple way.'
write (*,*)
z_ini = (0.0,0.0)if ( pgopen('/xwin') .le. 0 ) stop
call pgpap(5.0,1.0)write (*,*) 'What is the numer of iteration for the mapping ?'
read (*,*) n_genc_x_min = -2.0
c_x_max = 0.5
c_y_min = -1.25
c_y_max = 1.25call pgenv(c_x_min, c_x_max, c_y_min, c_y_max, 1, 0)
do j=1,500
¡@c_x = c_x_min + j*(c_x_max-c_x_min)/500
¡@call pgbbuf
¡@do k=1,500
¡@¡@c_y = c_y_min + k*(c_y_max-c_y_min)/500
¡@¡@c = (1.0,0.0)*c_x + (0.0,1.0)*c_y
¡@¡@z = z_ini
¡@¡@do i=1,n_gen
¡@¡@¡@z = z*z + c
¡@¡@¡@abs_z = conjg(z)*z
¡@¡@¡@if (abs_z.gt.10e+10) then
¡@¡@¡@¡@call pgpt(1,c_x,c_y,isymbol)
¡@¡@¡@¡@exit
¡@¡@¡@endif
¡@¡@end do
¡@end do
¡@call pgebuf
end docall pgclos
end
¥H¤U¬O§¹¾ãªºµ{¦¡¡A¨ã¦³©ñ¤j¤Î¸ß°Ý¨Ï¥ÎªÌ¦h¦¸«µeªº¥\¯à¡A½Ð¤j®a¤ñ¸û°Ñ¦Ò¡G
mandelbrot.f mandelbrot.x mandelbrot.f.txt
¥[¤J¤Fº¥¼h¦â±m«ü¼Ð³]©wªº¶i¶¥¥\¯à¡G
mandel_shade.f mandel_shade.x mandel_shade.f.txt
ºû°ò¦Ê¬ì¤Wªººëªö¸ê®Æ
http://en.wikipedia.org/wiki/Mandelbrot_set
Julia Set
Julia Set ²£¥Íªº¤èªk©M Mandelblort Set ¤@¼Ë¬OÀËÅç¡¥N f(z) = z*z + c ªºµo´²©Ê¡A¦ý¬O¬O±½¹M¤£¦Pªº z ¦Ó¤£¬O c¡C¤U¹Ï¥ª¥k¤À§O¬O c = (0.2,0.6) ¤Î c = (0.0,1.0) ªºµ²ªG¡G
julia_shade.f julia_shade.f.txt
¤û¹yªk
¤û¹yªk¬O¤@ºØ§Q¥Î±×²v¤è¦Vªº¤Þ¾É¨Ó¨D¨ç¼Æ®Úªº¤èªk¡A³oºØ¤èªk¦b²q´úÂIÂ÷®Ú°÷ªñ¡]¨ãÅé¦a»¡¬O¦b®Ú¤§³Bªº±×²v»P²q´úÂI³Bªº±×²v¶¡ªºÅܤƬO³æ½Õ©Êªº¡^®É¬O«Ü¦³®Ä²vªº¡AµM¦Ó¹ï©ó¤£¦Pªº²q´úÂI¡A±q¨ºùØ¥Xµo¨Ì±×²v¤è¦V¥h§ä®Ú©Ò·|»Ýn¥Î¨ìªº¡¥N¨B¼Æ·|¤ñ§Oªº°_©lÂI¦h¡A¦b¦³¨Ç¨ç¼Æ¬Æ¦Ü·|¶V°lÂ÷®Ú¶V»·¡C¤û¹yªk¥Ñ©ó¨ã¦³©T©wªººtºâ¤½¦¡¡A¦]¦¹Y¬Oªì©l²q´ú¦ì¸m©T©w¡A³B²zªº¨ç¼Æ¤]¤@¼Ëªº¸Ü¡A
¥H¤û¹yªk¨D½Æ¼Æ¨ç¼Æ f(z) = z3 - 1 ªº®Ú¡A´N¬O¬Û·í©ó¬O¶i¦æ
ªº¤ÏÂС¥N°ÝÃD
z3 - 1 = 0 n¨Dº¡¨¬³oÓ¤èµ{¦¡ªº¸Ñ¡A¤@©w¬O¨ã¦³ 2π/3 ¹ïºÙ©Êªº¡C
newton.f newton.x newton.f.txt
newton_shade.f newton_shade.x newton_shade.f.txt
Koch ¦±½u
koch_snow.f koch_snow.f.txt koch_snow.x
½Ð¦Û¤v°µ°µ¬Ý¥H¤Uªº¹Ï§Î¡]¥i§Q¥Î PGPLOT µe¦hÃä§Î»P¶ñ¦âªº¥\¯à¡^
¿¹¸ (Fern Leaf)
¥t¤@ºØ²£¥Í¸H§Îªº¤èªk¬O©Ò¿×ªº IFS (Iterated Function Systems) ¡A¥¦ªº§l¤l©Òºc¦¨ªºÂI¶°¡A¥iÅý§Ú̳]p¦¨Ãþ¦ü¿¹¸ªº§ÎºA¡A¨äºtºâªk¦p¤U¡G
xn+1 = axn + byn + e
yn+1 = cxn + dyn + f
a b c d e f p 0.00 0.00 0.00 0.16 0.00 0.00 0.01 0.85 0.04 -0.04 0.85 0.00 1.60 0.85 0.20 -0.26 0.23 0.22 0.00 1.60 0.07 -0.15 0.28 0.26 0.24 0.00 0.44 0.07 ¤Wªí¦@¦³¥|²Õ¡A³Ì«á¤@¦Cªº p ¬O¥Nªín¨Ï¥Î¸Ó²Õºtºâ¦¡ªº¾÷²v¡C¤]¥i¥Hªí¥Ü¦¨¤U¦¡¡G
µe¥X¨Óªºµ²ªG¬O³oӼˤl¡G
fern.f fern.x fern.f.txt ran2.f
¥t¤@ºØ¡A«Ü¹³¬O¸ôÃ䤣ª¾¦WÂø¯óªø¥X¨ÓªºÁJªº³¡¤À¡G
weed.f weed.x weed.f.txt ran2.f
¥t¦³·¬¸ªº IFS¡]½Ð¦Û¤v°µ°µ¬Ý¡^
a b c d e f p 0.14 0.01 0.00 0.51 -0.08 -1.31 0.10 0.43 0.52 -0.45 0.50 1.49 -0.75 0.35 0.45 -0.49 0.47 0.47 -1.62 -0.74 0.35 0.49 0.00 0.00 0.51 0.02 1.62 0.20
¬°¤°»ò·|¦³¦p¹Ï¤¤³o¯ëªº¦Û§ÚÃþ¦ü¡H¦]¬°³o¨ÇÂI³£¬Oº¡¨¬¡¥N¨ç¼Æ¨t²Îªº§l¤l¡A¤]´N¬O»¡¡A³o¨ÇÂI³£º¡¨¬ "¥N¤F«Ü¦h¦¸¤]¤£·|¶]±¼ªº¯S©Ê"¡C¯à°÷¦b³o¼Ëªº±ø¥ó³Q¿z¿ï¥X¨ÓªºÂI¡A§e²{¦bµe±¤W¡A§Î¦¨¤F½à¤ß®®¥Øªº®ÄªG¡C
¥H¿¹¸ÂI¶°¬°¨Ò¡A¥¦¬O¥Ñ¥|Ó¦¬ÁY©Êªº¬M®g©Òºc¦¨¡A·í¤@Ó°_©lÂI³Q¬YÓ¬M®g¨ç¼Æ³B²z¤§«á¡A´N¸¨¤J¸û¤pªº¯S©w½d³ò¤§¤¤¡A¦ý¦Aºò±µ¤U¨Ó¡A¥¦¦³¥i¯à³Q¥t¤@Ó¬M®g¨ç¼Æ³B²z¡A©ó¬O¸¨¤J¦bì½d³ò¤§¤Uªº§ó¤pªº¥t¤@ºØÂI¤À§G±Æ¦C¼Ò¦¡ªº½d³ò¡C§A¥i¥H·Q¹³¦p¦¹Ä~Äò¡¥N¤U¥h¡]¹Lµ{¤¤¤£¦Pªº¥|Ó¨ç¼Æ³£¦³¥Î¨ì <°Ý¡A¨º¾÷²v¬O°µ¤°»ò¥Îªº¡H>¡^¡A«h¨C¤@Ó·L¤p§½³¡¤@©w³£¨ã¦³Ãþ¦üªº¹Ï§Î¡A¤]´N¬O¦P®É¨ã¦³º¡¨¬¥|ºØ¨ç¼Æ¤§§l¤lªººc³y¡C
¾÷²v¥i¥H¤£¦P
¨Ó·½¡Ghttp://zeuscat.com/andrew/chaos/spleenwort.fern.html
The Collage Theorem
http://www.cut-the-knot.org/ctk/ifs.shtmlFern Functions
http://mathworld.wolfram.com/BarnsleysFern.html¸¤lªº§Îª¬
http://www.fukuoka-edu.ac.jp/~fukuhara/jikken/leaf_shape.html
¸H§Î»P¦ÛµM
¥Ñ©ó¸H§Î©Ò¨ã¦³ªº¦Û§ÚÃþ¦üªº¯S©Ê¡A¨Ï¥¦»P³\¦h¦ÛµM¬É¤¤¦s¦bªº´X¦ó¹Ï§Î¦³¨Ç¬Û¹³¤§³B¡C¨Ò¦pªK¸ªº¤À¤e¡Bªe¬y»P¸¯ßªº¤À¤ä¡B¤sÀ®ªº½ü¹ø¡B¶³ªº§Îª¬¡BÂq°_ªº®ü®ö¡B¯¿¬y»P¶Ã¬y¡Aµ¥µ¥¡C¥i¿×¤@¨F¤@¥@¬É¡B¤@ªá¤@¤Ñ°ó¡C¡]·PÁºô¸ô¤W¤§·Ó¤ù¨Ó·½¡^
¸H§ÎªºÀ³¥Î
¼v¹³³B²z
http://fractalfoundation.org/OFC/OFC-12-1.html
http://fractalfoundation.org/OFC/OFC-12-2.html
http://fractalfoundation.org/OFC/OFC-12-3.html
¸H§ÎÃÀ³N
ºô¸ô¤W¥i¨£³\¦hµ²¦X¸H§Î»PÃÀ³Nªº§@«~¡C
http://sprott.physics.wisc.edu/carlson/
http://www.fractalus.com/gumbycat/
²V¨PÃÀ´Y
http://www-chaos.umd.edu/gallery.htmlICM 2006 Benoit Mandelbrot ¸H§ÎÃÀ³NÄvÁÉ
http://www.fractalartcontests.com/2006/´Ý§Î¬ü¾Ç»P°êµe
http://members.tripod.com/gia_5/fractal/aesth.htm
¨ä¥Lª`·N¨Æ¶µ
¥»¸`½d¨Òµ{¦¡¬Ò¨Ï¥Î³æºë«×¡AYn¹F¨ì¸û¨Îªº©ñ¤j¯Å¼Æ¡A«hÀ³¥ÎÂùºë«×¡C
°Ñ¦Ò®ÑÄy
¤@¥»«Ü¦nªº®Ñ¬O "The Beauty of Fractals"¡A¥Ñ H.-O. Petigen »P P.H. Richter ©ÒµÛ¡ASpringer-Verlag ¥Xª©¡C
ºô¸ô¸ê·½
Fractal Mathematics
http://www.hiddendimension.com/Mathematics_Main.htmlCynthia Lanius' Lessons: A Fractals Lesson - Introduction
http://math.rice.edu/~lanius/fractals/Fractals
http://www.ocf.berkeley.edu/~wwu/fractals/fractals.html«Ü´Îªº°Êµe
http://www.stanford.edu/~willywu/downloads/xaos1.mpg¥Î XaoS ³nÅé°µªº
http://wmi.math.u-szeged.hu/xaos/doku.php?id=mainFractal Art
http://www.fractalus.com/info/manifesto.htmhttp://math.rice.edu/~lanius/frac/
Fractals in Nature and How to Measure Them
http://www.fbmn.fh-darmstadt.de/home/sandau/biofractals/abstract_sfi.htmlJulia and Mandelbrot Sets (Clark University)
http://aleph0.clarku.edu/~djoyce/julia/index.htmlºû°ò¦Ê¬ì¡GJulia Set
http://en.wikipedia.org/wiki/Julia_setºû°ò¦Ê¬ì¡GDe Rham curve
http://en.wikipedia.org/wiki/De_Rham_curveºû°ò¦Ê¬ì¡GIterated Function System (IFS)
http://en.wikipedia.org/wiki/Iterated_function_system
§Q¥Î°ö°ò (BASIC) »y¨¥¼g¸H§Îªººô¶¡]¥~³¡¸ê·½¡^
ªì¾ÇªÌ®e©ö¤Jªùªº BASIC »y¨¥¡GDecimal BASIC ©xºô¡B¤U¸ü¡B^¤åºô§}¡B¤â¥U¡B§Ö³t¤Jªù
BASIC »P¦Û§ÚÃþ¦ü (Self-similarity)
http://www.geocities.jp/thinking_math_education/self-sim/self-sim.htmBASIC »P¸H§Î
http://www.geocities.jp/thinking_math_education/fractal/fractals.htmTrue BASIC
http://www.truebasic.com/Free BASIC Compilers and Interpreters
http://www.thefreecountry.com/compilers/basic.shtml