¸ñÀû : ÇÁ·¢Å»ÀÇ Â÷¿ø°ú random walk, ÇÁ·¢Å»ÀÇ ÇÑ Á¾·ùÀÎ À¯ÇÑ È®»ê ÁýÇÕü(DLA)¸¦ ÀÌÇØÇϰí DLA¸¦ Çü¼ºÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î
±× Â÷¿øÀ» °è»êÇØ º»´Ù.
1. ÀÌ·Ð
1)ÇÁ·¢Å»(fractal)ÀÇ Á¤ÀÇ
ÇÁ·¢Å»ÀÇ Ã¹ ¹øÂ° Ư¡Àº, À§¿¡¼ ¾ð±ÞÇÑ ¿©·¯ Çö»óµéÀÇ º¹ÀâÇÑ ÇüŰ¡ Çü¼ºÇÏ´Â ±âº» ±¸¼º¿ä¼Ò(fundamental building blocks)ÀÇ ºÐÆ÷(distribution)°¡ ¾Æ·¡ÀÇ ¸è¹ýÄ¢(power law)À» µû¸¥´Ù. ÀÓÀÇÀÇ ÇÑ Á¡À» Áß½ÉÀ¸·Î ¹Ý°æ RÀÎ ¿ø ³»ºÎ¿¡ Á¸ÀçÇÏ´Â ÀÔÀÚÀÇ ¼ö¸¦ N(R)À̶ó ÇÒ ¶§, ±× ÀÔÀÚÀÇ Æò±Õ Àº

À» ¸¸Á·Çϸç, ÀÌ ½ÄÀ» ¸¸Á·ÇÏ´Â ºÐÆ÷¸¦ ÇÏ´Â ¾î¶² ¹°¸®·®ÀÌÀÇ ºÐÆ÷ÀÇ °¡ ±× ºÐÆ÷°¡ Á¸ÀçÇÏ´Â ¹Ù´Ú °ø°£ÀÇ À§»óÂ÷¿ø º¸´Ù ÀÛÀº °æ¿ì(Áï, ÀÎ °æ¿ì)¸¦ ÀÌ·¯ÇÑ ºÐÆ÷¸¦ ÇÁ·¢Å» ºÐÆ÷(fractal distribution) ¶Ç´Â ´Ü¼øÈ÷ ÇÁ·¢Å»(fractal)À̶ó ºÎ¸¥´Ù.
ÀÌ°Í À̿ܿ¡ ÇÁ·¢Å»À» Á¤ÀÇÇÏ´Â ¶Ç ÇϳªÀÇ Æ¯Â¡Àº ÇÁ·¢Å»ÀÇ ±¸Á¶°¡ ÀÚ±â»óÀÚ¼º(Self-similarity, ÀÚ±â À¯»ç¼º)¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. À§¿¡ ¸»Àº ÇÁ·¢Å» ±¸Á¶ÀÇ ÀϺκÐÀ» È®´ëÇßÀ» ¶§, È®´ëµÈ ºÎºÐ¿¡¼ ÀüüÀÇ ±¸Á¶¸¦ ´Ù½Ã º¼ ¼ö ÀÖÀ½À» ¶æÇÑ´Ù.
2)ÇÁ·¢Å» Â÷¿ø
À¯Å¬¸®µå ±âÇÏÇп¡¼ Á¡Àº 0Â÷¿ø, Á÷¼±Àº 1Â÷¿ø, Æò¸éÀº 2Â÷¿ø, °ø°£Àº 3Â÷¿øÀ̶ó°í ÇÑ´Ù. ¶ÇÇÑ ¿ì¸®´Â ¿©·¯ °¡Áö ¾ç, Áï
±æÀ̳ª ¸éÀû, ºÎÇÇ µîÀ» °è»êÇÏ´Â ¹ýÀ» ¹è¿î´Ù. ÀÌ·¯ÇÑ ¿©·¯ °¡Áö ¾çÀÇ Å©±â¸¦ ÅëÆ²¾î Ãøµµ¶ó°í ¸»ÇÑ´Ù. 1Â÷¿ø µµÇüÀÇ Ãøµµ´Â
¡®±æÀÌ¡¯À̸ç, 2Â÷¿ø µµÇüÀÇ Ãøµµ´Â ¡®³ÐÀÌ¡¯ÀÌ´Ù. ÀÌó·³ µµÇüÀº ±× Â÷¿ø¿¡ µû¶ó Ãøµµ°¡ ´Þ¶óÁø´Ù. 1Â÷¿ø µµÇüÀº ±æÀ̸¸ÀÌ °ü½ÉÀÇ
´ë»óÀÌ µÈ´Ù. ¿¹¸¦ µé¾î, ½ÇÀ̳ª ¿Â÷´Â ±× ±æÀ̸¸ÀÌ ¹®Á¦À̰í, ±× ±½±â´Â ¹«½ÃµÈ´Ù. 2Â÷¿øÀÇ µµÇüÀº °¡·Î¿Í ¼¼·ÎÀÇ ±æÀÌ, Áï
³ÐÀ̰¡ ¹®Á¦°¡ µÈ´Ù. ¿Ê°¨À̳ª Á¾À̴ Ưº°ÇÑ °æ¿ì°¡ ¾Æ´Ï¸é µÎ²²´Â ¹®Á¦ »ïÁö ¾Ê°í ³ÐÀ̸¸À» ÁÖ·Î ¹®Á¦ »ï´Â´Ù. Â÷¿øÀÌ ´Ù¸¥ µµÇüÀ»
È®´ëÇÒ ¶§, ±× Å©±â, Áï Ãøµµ°¡ ´Þ¶óÁø´Ù. °¡·É ÀÏÁ¤ÇÑ ±æÀÌÀÇ 1Â÷¿ø µµÇüÀÎ ¼±ºÐÀ» 3¹è·Î È®´ëÇÏ¸é ±× ±æÀÌ´Â ±×´ë·Î 3¹è°¡
µÈ´Ù. ±×·¯³ª 2Â÷¿ø µµÇüÀÎ Á¤»ç°¢ÇüÀ» 3¹è·Î È®´ëÇÏ¸é ³ÐÀÌ´Â 3¹è°¡ ¾Æ´Ï¶ó 9¹è°¡ µÇ¸ç, 3Â÷¿ø µµÇüÀÎ Á¤À°¸éüÀÇ °æ¿ì¿¡´Â
3¹è·Î È®´ëÇÏ¸é ºÎÇÇ´Â ¹«·Á 27¹è·Î ´Ã¾î³´Ù. ´Ü¼øÈ÷ 3¹è·Î È®´ëÇßÀ» »ÓÀε¥ ÀÌ·¸°Ô Â÷¿ø¿¡ µû¶ó ±× Å©±â´Â 3¹è, 9¹è, 27¹è·Î
´Þ¶óÁö´Â °ÍÀÌ´Ù.
¿©±â¼ ¾î¶² ¹ýÄ¢¼ºÀ» ¹ß°ßÇÒ ¼ö ÀÖ´Ù. È®´ëÀÇ ºñÀ² 3ÀÇ Áö¼ö·Î¼ °¢ µµÇüÀÇ Â÷¿øÀ» ÀâÀ¸¸é ´ÙÀ½ °ü°è°¡ ¼º¸³ÇÔÀ» ´©±¸³ª ½±°Ô
ÁüÀÛÇÒ ¼ö ÀÖ´Ù.
3=3(1Â÷¿ø)
3=9(2Â÷¿ø)
3=27(3Â÷¿ø)
¿©±â¼ ÀÌ µî½ÄµéÀÇ ¾çº¯¿¡ ·Î±×¸¦ ÃëÇÏ¸é ´ÙÀ½°ú °°Àº µµÇüÀÇ Â÷¿øÀ» ±¸ÇÏ´Â ½ÄÀ» À¯µµÇÒ ¼ö ÀÖ´Ù.
 Áï,

ÀÎ °ÍÀÌ´Ù. ±×·¯´Ï±î Â÷¿øÀº º¹À⼺ÀÇ Á¤µµ¸¦ ³ªÅ¸³½´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.
À̰ÍÀÌ ¿ë·® Â÷¿øÀε¥ Á» ´õ Á¤È®ÇÏ°Ô ¸»ÇÏÀÚ¸é, ¿ì¼± 1Â÷¿øÀÇ ¼±ºÐÀ» »ý°¢ÇØ º¸ÀÚ. ÀÌ ¼±ºÐÀ» ±æÀ̰¡ ¥åÀÎ ÀÛÀº ±æÀÌ ¿ä¼Ò·Î µ¤´Â µ¥ ÇÊ¿äÇÑ ±æÀÌ ¿ä¼ÒÀÇ °³¼ö¸¦ N(¥å)À̶ó°í Ç¥½ÃÇÏÀÚ. ±æÀÌ ¿ä¼Ò¸¦ °¡´ÉÇÑ ÀÛ°Ô ¸¸µé ¶§(¥å¡æ0) ±æÀÌ ¿ä¼ÒÀÇ °³¼ö´Â N(¥å)¡Ö1/¥åÀ̶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù. ÀÌÁ¦ 2Â÷¿øÀÇ ¸éÀûÀ» »ý°¢ÇØ º¸ÀÚ. ÀÌ ¸éÀûÀ» ÇÑ º¯ÀÇ ±æÀ̰¡ ¥åÀÎ ÀÛÀº º®µ¹·Î µ¤´Â´Ù°í ÇÏÀÚ. 1Â÷¿øÀÇ °æ¿ì¿Í ¸¶Âù°¡Áö·Î, ÁÖ¾îÁø ¸éÀûÀ» ÀüºÎ µ¤´Âµ¥ ÇÊ¿äÇÑ ¸éÀû ¿ä¼ÒÀÇ °³¼ö´Â ¥åÀÌ ÀÛ¾ÆÁú ¶§ N(¥å)¡Ö1/¥å²ÀÌ µÈ´Ù. ÀÌ ¾ÆÀ̵ð¾î¸¦ Â÷¿øÀÌ dÀÎ ±âÇÏÇÐÀû ±¸Á¶¿¡ ´ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÀϹÝȽÃ۸é À§ ½ÄÀ» Â÷¿ø d¿¡ ´ëÇØ Ç®¾î ¾²¸é ´ÙÀ½°ú °°ÀÌ ¾µ ¼ö ÀÖ´Ù

3) Random walk(¸Ú´ë·Î °È±â)
DLA(È®»ê-Á¦ÇÑ ÀÀÁýü) modelÀ» ¼ºÀå(growth) ½Ã۱â À§Çؼ´Â, È®»ê(diffusion, ÆÛÁü)Çö»óÀ» ÅëÇØ ÀÔÀÚ°¡ ¿òÁ÷À̹ǷΠÀÌ·¯ÇÑ È®»ê Çö»óÀ» Àß ¼³¸íÇÏ´Â Åë°è¿ªÇÐÀû ¸ðÇüÀÎ Random walk modelÀ» »ç¿ëÇÑ´Ù. ÆíÇ⼺(bias)ÀÌ ¾ø´Â Çö»óÀÇ ¹«ÀÛÀ§Àû(random), ¹«Áú¼Àû(disordered), ºñÆòÇüÀû(nonequilibrium) ¿îµ¿¼ºÀ» È®·ü·ÐÀûÀÎ ÀÔÀå¿¡¼ ¼³¸íÀ» ½ÃµµÇÒ ¶§ ÇÊ¿¬ÀûÀ¸·Î ³ªÅ¸³ª´Â ±âº»ÀûÀÎ ¸ðÇüÀ̱⠶§¹®ÀÌ´Ù.
´ÙÀ½ ±×¸²Àº Random walk¸¦ computer simulation ÇÑ °ÍÀÌ´Ù. ½ÃÀÛÁ¡ÀÌ »¡°£ »ç°¢ÇüÀÌ¸ç µµÂøÁ¡Àº ÆÄ¶õ »ç°¢ÇüÀ¸·Î ³ªÅ¸³»¾ú´Ù.

*Random walk by computer simulation method*
4)Diffusion-Limited Aggregates (DLA)
DLA¶õ ¹«ÀÛÀ§Àû(random), ºñÆòÇüÀû(nonequilibrium), ºñ°¡¿ªÀû(irrevirsible) ¹°ÁúÀÇ ¼ºÀå(growth)À» ´ëÇ¥ÇÏ´Â ÇÁ·¢Å» ÀÀÁýü(fractal aggregates) Áß °¡ÁöÄ¡±â(ramified pattern) ±¸Á¶¸¦ °®´Â ¹°Áú ¼ºÀåÀ» ´ëÇ¥ÇÏ´Â ¸ðÇüÀÌ´Ù. ÀÌ·¯ÇÑ °¡ÁöÄ¡±â(ramified pattern) ±¸Á¶ÀÇ Æ¯Â¡Àº ³»ºÎ¿Í ¿ÜºÎ¸¦ ±¸º°Çϱâ Èûµç °ÍÀÌ ±× Ư¡À̸ç, ¹ø°³¿Í À¯Àüü ÆÄ±«(dielectric breakdown) °¡ ÀϾ ¶§ÀÇ ¸ð¾ç°ú ±Ý¼Ó Àç·á µî¿¡¼ ³ªÅ¸³ª´Â Å©·¢ ÀüÆÄ(crack propagation), »ý¹°Çп¡¼ÀÇ Bacteria colonyÀÇ ¼ºÀå, ³ª¹« °¡Áö ¼ºÀå µîµî¿¡¼ º¼ ¼ö ÀÖ´Ù.
DLA¸¦ ¼ºÀå ½ÃŰ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù. ÀÏ´Ü Áß½ÉÀ» ¿øÁ¡À¸·Î ÇÏ´Â seed particle(¾¾¾Ñ ÀÔÀÚ)¸¦ ³õÀº ´ÙÀ½ ±× ÀÔÀÚ¸¦ Áß½ÉÀ¸·Î ÇÏ´Â ¿ø(¹Ý°æ Rs - starting radius, ÇÁ·Î±×·¥¿¡¼± seed ¹Ý°æÀÇ 7¹è)À¸·ÎºÎÅÍ ÇÑ Á¡À» ¹«ÀÛÀ§·Î Àâ¾Æ, ±× Á¡¿¡¼ºÎÅÍ random walk(¸Ú´ë·Î °È±â)¸¦ ½ÃÇàÇÑ´Ù. ÀÌ ÀÔÀÚ°¡ seed particle¿¡ ÃæºÐÈ÷ ºÙÀ» ¼ö ÀÖ´Â °Å¸®¿¡ ¿À°Ô µÇ¾úÀ» ¶§ ÈíÂø½ÃŲ´Ù. ÀÌ·¯ÇÑ °úÁ¤À» ¹Ýº¹ÇÏ¿© ¼ºÀåÀ» Áö¼Ó½Ã۸ç, Á¤ÇØÁø ¼öÀÇ ÀÔÀÚ°¡ ºÙ¾úÀ» °æ¿ì ¼ºÀåÀ» Á¤Áö½ÃŲ´Ù.
¼ºÀå½ÃŰ´Â °úÁ¤¿¡ ÀÖ¾î¼, random walkÀÇ Æ¯¼º»ó ÀÔÀÚ°¡ ÀÏÁ¤ÇÑ ¹Ý°æ(Rk - Killing radius)¿¡ µµ´ÞÇÏ°Ô µÇ¸é ÀÌ ÀÔÀÚ¸¦ ¹ö¸®°í, »õ·Î¿î ÀÔÀÚ¸¦ Ãâ¹ß½ÃŲ´Ù. ¶ÇÇÑ seed particle¿¡ °è¼ÓÇÏ¿© ÀÔÀÚ°¡ ºÙ°Ô µÇ¹Ç·Î AggregatesÀÇ ÃÖ´ë¹Ý°æÀ» °í·ÁÇÏ¿© ÀÔÀÚ°¡ Ãâ¹ßÇÏ´Â ¿øÀÇ ¹Ý°æÀ» Á¡Á¡ Å©°Ô ¸¸µé¾î ÁØ´Ù.
|


|
2. ÇÁ·Î±×·¥ ¼³¸í
¸ÕÀú º¯¼öºÎÅÍ ÁöÁ¤ÇØ ÁØ´Ù. ÀÌ FormÀÇ Àüü´Â 9000 by 9000Àε¥, À̰ÍÀ» (1000, 1000)À¸·Î Àâ´Â´Ù. Th´Â
ÀÔÀÚÀÇ random-work¸¦ Ãâ¹ß½ÃŰ´Â ¿øÀÇ Á߽ɰ¢À̰í, X´Â ¿ø À§¿¡¼ Ãâ¹ßÇÏ´Â ÀÔÀÚÀÇ ¿ø Á߽ɿ¡¼ºÎÅÍ ÀÔÀÚ°¡ À§Ä¡ÇÏ´Â xÁÂÇ¥±îÁöÀÇ
±æÀÌ, Y´Â ¿ø À§¿¡¼ Ãâ¹ßÇÏ´Â ÀÔÀÚÀÇ ¿ø Á߽ɿ¡¼ºÎÅÍ ÀÔÀÚ°¡ À§Ä¡ÇÏ´Â yÁÂÇ¥±îÁöÀÇ ±æÀÌ, Q´Â Á߽ɰú ºÙÀº ÀÔÀÚ »çÀÌÀÇ °Å¸®,
I´Â ÇÑ ÀÔÀÚ¸¦ ¾ó¸¶³ª random-work ½ÃųÁö ·çÇÁ¸¦ µ¹·ÁÁÖ´Â º¯¼öÀ̰í RÀº ÀÔÀÚ°¡ ¹ß»ýÇÏ´Â ¹Ý°æ, D´Â QÀÇ °ª¿¡¼ Á¤¼öºÎºÐ¸¸
ÃßÃâÇÑ °ªÀ» ³ªÅ¸³»ÁÖ´Â º¯¼öÀÌ´Ù.
±×¸®°í K´Â ³¼ö¸¦ ¹ß»ý½ÃŰ´Â º¯¼öÀ̰í Cx, Cy´Â FormÀÇ Áß½É, Sx, Sy´Â °è»ê¿¡ Á÷Á¢ Âü¿©ÇÏ´Â º¯¼öÀÌ´Ù. info´Â
°á°ú¸¦ ·¹ÀÌºí¿¡ ³ªÅ¸³»ÁÖ´Â º¯¼öÀÌ´Ù.
Private Sub command1_Click()
Dim P(1000, 1000) As Single
Dim Th, X, Y, Q As Double
Dim I, R, D, Count As Integer
Dim K As Double
Dim Cx, Cy, Sx, Sy, Max As Integer
Dim info As String

ÀÌ FormÀÇ Àüü´Â 9000 by 9000Àε¥, À̰ÍÀ» (1000, 1000)À¸·Î Àâ¾ÒÀ¸¹Ç·Î Áß½ÉÁÂÇ¥´Â (500, 500)ÀÌ
µÈ´Ù. Áï ÇÑ Ä´ç 9ÀÎ °ÍÀÌ´Ù.
Cx = 500
Cy = 500
Á߽ɿ¡ seed¸¦ µÎ¾î¾ß ÇϹǷÎ
P(Cx, Cy) = 1
ÀÏ´Ü °¢ ÇÕµéÀ» ÃʱâÈ ÇÑ´Ù.
N = 0
Count = 0
ÀÌÁ¦ ³¼ö¸¦ ¹ß»ý½ÃŲ´Ù.
Randomize
±×¸®°í °¡¿îµ¥ seed¸¦ »¡°£»öÀ¸·Î Ç¥½ÃÇÑ´Ù. Á¡À¸·Î Ç¥½ÃÇØ¾ß ÇÏÁö¸¸ ¿©±â¼´Â ¾ÆÁÖ ÀÛÀº »ç°¢ÇüÀ¸·Î Ç¥½ÃÇß´Ù.
Form1.Line (Cx * 9, Cy * 9)-((Cx + 1) * 9, (Cy + 1) * 9), RGB(255, 0,
0), B
10000°³ÀÇ ÀÔÀÚ¸¦ ¼ºÀå½Ã۱â À§ÇØ Do While ±¸¹®À» »ç¿ëÇÑ´Ù. NÀÌ 9999º¸´Ù Ä¿Áö¸é ÇÁ·Î±×·¥ÀÌ ³¡³¯ °ÍÀÌ´Ù.
Do While N < 9999
ÀÌÁ¦ seed¸¦ Áß½ÉÀ¸·Î 7º¸´Ù Å« ¿ø À§¿¡¼ ÀÔÀÚ¸¦ randomÇÏ°Ô Ãâ¹ß½ÃŲ ÈÄ random work½ÃŲ´Ù. (0, 1)»çÀÌÀÇ
ÀÓÀÇÀÇ °ªÀÎ ³¼ö¸¦ Á¤ÀÇÇϰí, óÀ½ Ãâ¹ßÇÒ ¶© I=1ÀÏ ¶§¹Ç·Î
K = Rnd
I = 1
¿©±â¼ Max´Â ÀÔÀÚ°¡ ºÙ¾úÀ» °æ¿ì ¹Ý°æÀ» ´Ã¸®±â À§ÇÑ °ÍÀ̰í, Th´Â seed¸¦ Áß½ÉÀ¸·Î ÇÏ´Â ¿øÀÇ Á߽ɰ¢Àε¥, ÀÌ °¢ ¶ÇÇÑ
random ÇÏ°Ô ÇØ¾ß ÇϹǷΠ³¼ö K¸¦ °öÇØÁØ´Ù. ±×¸®°í ÀÔÀÚÀÇ À§Ä¡´Â XY ÁÂÇ¥·Î ³ªÅ¸³»ÁØ´Ù. X, Y´Â Cx, CyºÎÅÍ
½ÃÀÛµÈ ¼ýÀÚÀ̹ǷΠCx, Cy¸¦ ´õÇØÁÖ¾î ÁøÂ¥ ÁÂÇ¥°ª Sx, Sy¸¦ Ç¥½ÃÇØÁØ´Ù.
R = 7 + Max
Th = 6.283184 * K
X = R * Cos(Th)
Y = R * Sin(Th)
Sx = Cx + Int(X)
Sy = Cy + Int(Y)
±×¸®°í seed¿¡ ¾ÆÁÖ ÀÛÀº »ç°¢ÇüÀ» ±×·È´ø °Í°ú ¸¶Âù°¡Áö·Î ÀÔÀÚµµ ÃÊ·Ï»ö »ç°¢ÇüÀ¸·Î ±×·ÁÁØ´Ù.
Form1.Line (Sx * 9, Sy * 9)-((Sx + 1) * 9, (Sy + 1) * 9), RGB(0, 255,
0), B
Form1.Line (Sx * 9, Sy * 9)-((Sx + 1) * 9, (Sy + 1) * 9), RGB(255, 255,
255), B
ÀÌÁ¦ ¿ø À§¿¡¼ ·£´ýÇÏ°Ô ¹ß»ýµÈ ÀÔÀÚ¸¦ random-work ½ÃÄѺ¸ÀÚ.
ÀÔÀÚÀÇ ¿îµ¿ ¹æÇâÀº »óÇÏÁ¿ì 4¹æÇâÀ̹ǷΠ³¼ö¸¦ 4°³·Î ³ª´©¸é µÈ´Ù. random-work´Â 900¹ø ½Ã۰í
Do While I < 9000
³¼ö°¡ 0.25º¸´Ù ÀÛÀ» ¶© ¿À¸¥ÂÊÀ¸·Î ÇÑÄ, 0.25¿Í 0.5º¸´Ù »çÀÌÀÏ ¶© ¿ÞÂÊÀ¸·Î ÇÑÄ, 0.5¿Í 0.75 »çÀÌÀÏ ¶© ¾Æ·¡·Î
ÇÑÄ, 0.75º¸´Ù Ŭ ¶© À§·Î ÇÑÄ À̵¿ÇÑ´Ù.
K = Rnd
If K <= 0.25 Then
Sx = Sx + 1
ElseIf K > 0.25 And K <= 0.5 Then
Sx = Sx - 1
ElseIf K > 0.5 And K <= 0.75 Then
Sy = Sy + 1
Else
Sy = Sy - 1
End If
±×¸®°í À̰ÍÀ» ¸¶Âù°¡Áö·Î ÀÛÀº ÃÊ·Ï»ö »ç°¢ÇüÀ¸·Î ±×¸°´Ù.
Form1.Line (Sx * 9, Sy * 9)-((Sx + 1) * 9, (Sy + 1) * 9), RGB(0, 255,
0), B
Form1.Line (Sx * 9, Sy * 9)-((Sx + 1) * 9, (Sy + 1) * 9), RGB(255, 255,
255), B
ÀÌÁ¦ random-workÇÏ´Â ÀÔÀÚ°¡ seed¿Í ¸¸³µÀ» ¶§ seed ÁÖº¯¿¡ ºÙ´Â °ÍÀ» ¸¸µé¾îº¸ÀÚ. ¸¸¾à ÀÔÀÚ°¡ seed ¹Ù·Î
¿À¸¥ÂÊ¿¡ ¿À¸é ÀÔÀÚÀÇ P(Sx, Sy)µµ 1ÀÌ µÇ°í ¿ÞÂÊ¿¡ ¿Íµµ ¸¶Âù°¡ÁöÀ̰í, ¾Æ·¡¿¡ ¿Íµµ, À§¿¡ ¿Íµµ 1ÀÌ µÈ´Ù°í Á¤ÀÇÇØÁØ´Ù.
If P(Sx + 1, Sy) = 1 Then
P(Sx, Sy) = 1
ElseIf P(Sx - 1, Sy) = 1 Then
P(Sx, Sy) = 1
ElseIf P(Sx, Sy + 1) = 1 Then
P(Sx, Sy) = 1
ElseIf P(Sx, Sy - 1) = 1 Then
P(Sx, Sy) = 1
Else
End If
ÀÌÁ¦, ÀÔÀÚ°¡ ºÙ¾úÀ» °æ¿ì ÀÔÀÚ¸¦ ±× À§Ä¡¿¡ ¸ØÃß°Ô ÇÏ°í ºÙÀº ÀÔÀÚ´Â »¡°£»öÀ¸·Î ¹Ù²ãÁØ´Ù. ÀÏ´Ü ºÙÀ¸¸é random-work¸¦
ÇÏ´ø ÀÔÀÚ´Â ¸ØÃç¾ß Çϴϱî I=9000ÀÌ µÇ°í »õ·Î¿î ÀÔÀÚ¸¦ Ãâ¹ß½ÃÄÑ¾ß Çϴϱî N=N+1ÀÌ´Ù. ÀÏ´Ü, seed¿Í ºÙÀº ÀÔÀÚ »çÀÌÀÇ
°Å¸®¸¦ ÃøÁ¤ÇÑ´Ù.
ºÙÁö ¾Ê¾ÒÀ» °æ¿ì¿¡ I´Â ±×³É °¡´ø´ë·Î I+1ÀÌ µÇ°í seed¿Í ºÙÀº ÀÔÀÚ »çÀÌÀÇ °Å¸®´Â ºÙÀº ÀÔÀÚ°¡ ¾øÀ¸¹Ç·Î 0ÀÌ´Ù.
If P(Sx, Sy) = 1 Then
Q = Sqr((Sx - Cx) ^ 2 + (Sy - Cy) ^ 2)
I = 9000
N = N + 1
Form1.Line (Sx * 9, Sy * 9)-((Sx + 1) * 9, (Sy + 1) * 9), RGB(255, 0,
0), B
Else
I = I + 1
Q = 0
End If
±×¸®°í ÀÔÀÚÀÇ Killing TimeÀ» Á¤ÇØÁØ´Ù. ÀÔÀÚ°¡ ¿ø·¡ Ãâ¹ßÇÏ´ø ¹Ý°æº¸´Ù 2¹è°¡ ¸Ö¾îÁ³À» ¶§ ±× ÀÔÀÚ´Â ¾ø¾Ö¹ö¸®°í ´Ù½Ã
»õ·Î¿î ÀÔÀÚ¸¦ Ãâ¹ß½ÃŰ´Â °ÍÀÌ´Ù. ¹æÇâÀº 4°³°¡ ÀÖ°í, ¿ª½Ã random-work¸¦ ¸ØÃç¾ß ÇϹǷΠ°¢°¢ 4°³ÀÇ °æ¿ì¿¡ ´ëÀÀÇÏ¿©
I=9000ÀÌ µÈ´Ù°í ÇÏ¸é µÈ´Ù.
If (Sx - Cx) / R < -2 Or (Sx - Cx) / R > 2 Then
I = 9000
ElseIf (Sy - Cy) / R < -2 Or (Sy - Cy) / R > 2 Then
I = 9000
ElseIf Sx > 997 Or Sx < 2 Then
I = 9000
ElseIf Sy > 997 Or Sy < 2 Then
I = 9000
End If
Loop
ÀÌÁ¦ ÀÔÀÚ°¡ ºÙ¾úÀ» °æ¿ì ¹Ý°æÀ» ´Ã·Áº¸ÀÚ. À§¿¡¼ seed¿Í ºÙÀº ÀÔÀÚ »çÀÌÀÇ °Å¸®¸¦ ÃøÁ¤Çϱâ À§ÇØ ·çÆ®¸¦ ÃëÇØÁÖ¾úÀ¸¹Ç·Î ¼Ò¼ö°¡
³ª¿Ã °¡´É¼ºÀÌ Àִµ¥ ¿ì¸®´Â ±× ±æÀ̸¸Å ¹Ý°æÀ» ³ÐÈú °ÍÀ̱⠶§¹®¿¡, VB¿¡¼ ±æÀ̸¦ ÀνÄÇÒ ¼ö ÀÖµµ·Ï Á¤¼ö°ªÀ» ÃëÇϵµ·Ï ¸¸µç´Ù.
D = Int(Q)
D´Â ¿ÀÁ÷ ±æÀÌÀÇ Å©±â¸¸À» µûÁö±â ¶§¹®¿¡ D°¡ À½¼öÀÇ °æ¿ì¸¦ ´ëºñÇÏ¿© Àý´ë°ªÀ» ÃëÇÏ°Ô ¸¸µé¾îÁØ´Ù.
If D < 0 Then
D = -1 * D
End If
±×¸®°í º»°ÝÀûÀ¸·Î ¹Ý°æÀ» ´Ã·ÁÁØ´Ù. R=7+MaxÀε¥, Max ÃʱⰪÀº 0ÀÌ´Ù. ÀÌÁ¦ D°¡ Maxº¸´Ù Å©´Ù¸é Max ÀÚ¸®¿¡ D¸¦
³Ö¾îÁشٴ Äڵ带 ½á³ÖÀÚ.
If D > Max Then
Max = D
End If
±×¸®°í Ȥ½Ã ÀÔÀÚ°¡ ÇÑÂÊÀ¸·Î¸¸ ±âÇüÀûÀ¸·Î ÀÚ¶ó°Ô µÇ¾î FormÀÇ ¿µ¿ªÀ» ¹þ¾î³¯ ¼öµµ ÀÖÀ¸¹Ç·Î Max°¡ 400º¸´Ù Å©¸é ÀÔÀÚ¸¦
±×¸¸ Ãâ¹ß½Ã۶ó´Â ¸í·ÉÀ» ³Ö¾îÁØ´Ù.
If Max >= 400 Then
N = 9999
End If
Loop
ÀÌÁ¦ ÀÔÀÚ´Â ´Ù Ãâ¹ß½ÃÄ×°í ·¹ÀÌºí¿¡ °á°ú¸¦ Ãâ·ÂÇÏ´Â Äڵ常 ½á³ÖÀ¸¸é µÈ´Ù. ¹Ý°æÀÌ 10Áõ°¡ÇÒ ¶§¸¶´Ù ºÙÀº ÀÔÀÚÀÇ °³¼ö¸¦ Ãâ·ÂÇϰÔ
¸¸µé±â À§Çؼ Z¸¦ 10¿¡¼ 490±îÁö 10¾¿ Áõ°¡ÇÏ°Ô ¸¸µç´Ù. ±×¸®°í ºÙÀº ÀÔÀÚ, Áï P(Sx, Sy)=1ÀÎ ÀÔÀÚ ¼ö¸¦ ¼¼±â
À§Çؼ Count¸¦ µ¹¸°´Ù.
For Z = 10 To 490 Step 10
For L = 0 To 999
For M = 0 To 999
If Z ^ 2 > (L - 500) ^ 2 + (M - 500) ^ 2 And P(L, M) = 1 Then
Count = Count + 1
P(L, M) = 1
End If
Next
Next
ÀÌÁ¦ ÀÔÀÚÀÇ ¹Ý°æÀÎ Z¿Í ºÙÀº ÀÔÀÚÀÇ °³¼ö¸¦ Ãâ·ÂÇÏ°Ô ¸¸µé¸é µÈ´Ù. ¹Ý°æ 10¿¡¼ 490±îÁö 49°³°¡ Ãâ·ÂµÉÅÙµ¥ ÇÑľ¿ ¹ØÀ¸·Î
°¡°Ô Ãâ·ÂÇϱâ À§Çؼ Chr(13)(ÇÑÄ ¹ØÀ¸·Î) + Chr(10) (¸Ç ¾ÕÀ¸·Î)¸¦ ½á³Ö¾î ÁØ´Ù. ±×¸®°í À̰ÍÀ» Info¶ó´Â
º¯¼ö·Î ¸¸µç ÈÄ À̰ÍÀ» ·¹À̺í 1¿¡ Ãâ·ÂÇϵµ·Ï ¸¸µç´Ù.
info = info + "-" + "¹Ý°æ" + Str(Z) + " = "
+ Str(Count) + Chr(13) + Chr(10)
Label1.Caption = info
Count = 0
Next
End Sub
Private Sub Command2_Click()
End
End Sub
VB
ÇÁ·Î±×·¥ÀÇ
form file, project file ¹×
execution file˼
DLA.frm DLA.vbp
DLA.exe¿Í
°°´Ù. 3. ÇÁ·Î±×·¥ °á°ú
N=R (N : ºÙÀº ÀÔÀÚ¼ö, R :¹Ý°æ df : Â÷¿ø)À̹ǷÎ


*VB·Î § ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ ¾òÀº DLAÀÇ ¸ð¾ç*
|