»ó¼¼Á¤º¸
Ã¥¼Ò°³
"¿µ»óó¸®ÀÇ ±âÃʺÎÅÍ ¸Ó½Å·¯´× ¹× Çϵå¿þ¾î Á¦¾î±îÁö ¿µ»ó󸮸¦ ÃÖ´ë·Î È°¿ëÇϱâ
¾ËÆÄ°íÀÇ µîÀå ÀÌÈÄ ÀΰøÁö´ÉÀº 4Â÷ »ê¾÷Çõ¸íÀÇ ÇÙ½É Å°¿öµå·Î¼ ÇöÀç ±×¸®°í ¹Ì·¡ »çȸ¿¡ ´ë´ÜÇÑ ¿µÇâ·ÂÀ» ³¢Ä¥ °ÍÀ¸·Î ¿¹»óÇÏ°í ÀÖ½À´Ï´Ù. ÀΰøÁö´ÉÀº ¿¹¸¦ µé¾î °´Ã¼ÀνÄ, »óȲ°¨Áö, ¸ð¼ÇÀÎ½Ä µî ¿µ»óó¸®ÀÇ ÃֽŠ±â¼ú°ú ¿¬°èÇÔÀ¸·Î½á ¿ì¸®ÀÇ ÀÏ»ó»ýÈ°°ú ´õºÒ¾î »ê¾÷ Àü¹Ý¿¡ Çõ¸íÀûÀÎ º¯È¸¦ ÀÏÀ¸Å°°í ÀÖ½À´Ï´Ù.
º»¼´Â ¿µ»óó¸®ÀÇ ¾î·Á¿î À̷кÎÅÍ ¸»ÇÏÁö ¾Ê½À´Ï´Ù. P5.js ±â¹ÝÀÇ °£´ÜÇÑ ½Ç½À ¿¹Á¦¿¡¼ ½ÃÀÛÇÏ¿© ¿µ»óó¸®ÀÇ ´Ü°èº° ½Ç½ÀÀ» Á¦½ÃÇÔÀ¸·Î½á ÀÔ¹®ÀÚ ½º½º·Î ÀÀ¿ëÇÒ ¼ö ÀÖµµ·Ï °¡À̵åÇØ ÁÝ´Ï´Ù. º»¼¸¦ ÅëÇØ P5.js°¡ °¡Áø ½¬¿î ÄÚµù ȯ°æ ¹× ½Ã°¢ÀûÀÎ Ãâ·ÂÀÇ ÀåÁ¡À» ¿µ»ó󸮿¡ Á¢¸ñÇÔÀ¸·Î½á ´©±¸³ª ½±°Ô ¿µ»óó¸® ºÐ¾ß¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÁøÀÔ ¹®ÅÎÀ» ³·Ãß°í ÀÖ½À´Ï´Ù. ±âÇÏÇРó¸®, Çȼ¿ ó¸®, ÇÊÅ͸µ µî À̹ÌÁö ó¸®ÀÇ ±âÃÊ¿¡¼ ½ÃÀÛÇÏ¿© µ¿¿µ»ó ÆÄÀÏ ¹× ½Ç½Ã°£ ºñµð¿À ó¸® µî ´Ü°èº° ½Ç½ÀÀ» ÁøÇàÇÕ´Ï´Ù. ¶ÇÇÑ, ml5.js ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÏ¿© µ¿¿µ»ó ¸Ó½Å·¯´×À» üÇèÇÏ°í, P5.js¿Í ¾ÆµÎÀ̳ë¿ÍÀÇ ¿¬µ¿À» ÅëÇØ ¿µ»óó¸® ¹× ¸Ó½Å·¯´×À» Çϵå¿þ¾î Á¦¾î¿Í ÀÚ¿¬½º·´°Ô Á¢¸ñ½ÃÅ°°í ÀÖ½À´Ï´Ù. ƯÈ÷, ÄÄÇ»ÅÍ °¡»ó ¼¼°èÀÇ ¿µ»óó¸® °á°ú¹°(¡æP5.js)°ú ½Ç¼¼°èÀÇ °á°ú¹°(¡æ¾ÆµÎÀ̳ë)À» »óÈ£ ¿¬µ¿ÇÔÀ¸·Î½á Àΰ£¿¡ º¸´Ù ÀÚ¿¬½º·¯¿î ¿µ»ó ÀÎÅÍÆäÀ̽º ¹æ½ÄÀ» Á÷Á¢ ½Ç½À ¹× ÀÀ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
P5.js´Â ÀÚ¹Ù½ºÅ©¸³Æ® ¾ð¾î·Î µÇ¾î ÀÖÁö¸¸, º»¼¿¡¼´Â ƯÁ¤ ¾ð¾î¿¡ ±¹ÇÑÇÏÁö ¾Ê°í C, C++, ÀÚ¹Ù, ÀÚ¹Ù½ºÅ©¸³Æ®, ÆÄÀ̽㠵î°ú °°Àº ¿©·¯ ÄÚµù ¾ð¾îµéÀÇ °øÅëºÐ¸ð ´Ù¼¸ °¡Áö(¡æº¯¼ö, Á¶°Ç, ¹Ýº¹, ¹è¿, ÇÔ¼ö)¸¦ ¿µ»ó󸮸¦ À§ÇÑ ÄÚµùÀÇ ±âº»À¸·Î »ï°í Ãʹݺο¡ ½Ç½ÀÇÕ´Ï´Ù. ±×¸®°í À̹ÌÁö ¹× µ¿¿µ»ó ó¸®, ¸Ó½Å·¯´×, ¾ÆµÎÀÌ³ë ¿¬µ¿ ¼øÀÇ ´Ü°èÀûÀÎ ½Ç½ÀÀ» ÅëÇØ ÄÚµù ÀÔ¹®ÀÚµµ µû¶ó¿Ã ¼ö ÀÖµµ·Ï Á¡ÁøÀûÀ¸·Î ¼³¸íÇÏ¿´½À´Ï´Ù. À̸¦ ÅëÇØ ´©±¸³ª º»ÀÎÀÇ ÇÁ·ÎÁ§Æ®¿¡ ¿µ»ó󸮸¦ ÀÀ¿ëÇÏ°í ½ÇÇöÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇÏ´Â °ÍÀ» ÃÖÁ¾ ¸ñÇ¥·Î »ï°í ÀÖ½À´Ï´Ù."
ÀúÀÚ¼Ò°³
ÀÚ¿¬¾ð¾î(ÀϺ»¾î, Áß±¹¾î, ¿µ¾î, Çѱ¹¾î)¿Í ÄÄÇ»Å;ð¾î(C, C++, Java, JavaScript, Python, Processing, P5.js µî), ±×¸®°í S/W¿Í H/W ¿¬°è ±³À°¿¡ °ü½ÉÀÌ ¸¹½À´Ï´Ù. À½¼ºÀÎ½Ä °ü·Ã ³í¹®À¸·Î ¹Ú»ç ÇÐÀ§¸¦ ¹Þ¾ÒÀ¸¸ç ÇöÀç °æ³²´ëÇб³ ÀüÀÚSW°øÇаú¿¡ ÀçÁ÷ ÁßÀÔ´Ï´Ù.
¸ñÂ÷
"¥° P5.js ±âº»
01.P5.js: ½ÃÀÛ
1.1 p5.js¶õ?16
1.2 p5.js ¼³Á¤18
1.3 p5.js ÄÚµù ȯ°æ19
1.4 ±âº» Ç¥Çö: ĵ¹ö½º22
1.5 ±âº» Ç¥Çö: Á¡°ú ¼±24
1.6 ±âº» Ç¥Çö: ¿ø°ú »ç°¢Çü26
1.7 ±âº» Ç¥Çö: ¹®ÀÚ27
1.8 ±âº» Ç¥Çö: »ö»ó29
¡¼½ÉÈ1.1¡½ 2Áø¼ö & 16Áø¼ö30
02.P5.js: º¯¼ö
2.1 º¯¼ö ¼±¾ð, ÃʱâÈ ¹× ¿¬»ê36
¡¼½ÉÈ2.1¡½ À¯´ÏÄÚµå(Unicode) & ¾Æ½ºÅ°ÄÚµå(ASCII Code)44
¡¼½ÉÈ2.2¡½ µ¥ÀÌÅÍÇü(Data Type) ÃÑÁ¤¸®46
2.2 º¯¼ö ±â¹Ý ¿òÁ÷ÀÓ Ç¥Çö50
2.3 Àü¿ªº¯¼ö¿Í Áö¿ªº¯¼ö55
2.4 ½Ã½ºÅÛ º¯¼ö¿Í ´Ù¾çÇÑ ¿òÁ÷ÀÓ ±¸Çö58
03.P5.js: Á¶°Ç,¹Ýº¹
3.1 Á¶°Ç: if¹®, if-else¹®, ¹®69
¡¼½ÉÈ3.1¡½ ºñ±³ ¿¬»êÀÚ º¸Ãæ71
3.2 Á¶°Ç: ½Ã½ºÅÛ º¯¼ö, Áßø if¹®78
3.3 ¹Ýº¹: for¹®, Áßø for¹®87
04.P5.js: ¹è¿,ÇÔ¼ö
4.1 1Â÷¿ø ¹è¿95
4.2 2Â÷¿ø ¹è¿105
4.3 ÇÔ¼ö À¯Çü 1,2108
4.4 ÇÔ¼ö À¯Çü 3,4114
4.5 À̺¥Æ® ÇÔ¼ö120
¥± À̹ÌÁö ó¸®
05.À̹ÌÁö Ãâ·Â
5.1 À̹ÌÁö Ãâ·Â128
5.2 À̹ÌÁö ¿òÁ÷À̱â139
5.3 À̹ÌÁö ¹Ýº¹ Ãâ·Â146
5.4 À̹ÌÁö ¹è¿148
06.±âÇÏÇРó¸®
6.1 À̹ÌÁö À̵¿154
6.2 À̹ÌÁöÀÇ 2Â÷¿ø ȸÀü156
6.3 À̹ÌÁöÀÇ 3Â÷¿ø ȸÀü164
6.4 À̹ÌÁö È®´ë ¹× Ãà¼Ò167
6.5 push() & pop()174
6.6 À̹ÌÁö ÅؽºÃ³ ¸ÅÇÎ180
¡¼½ÉÈ6.1¡½ 3Â÷¿ø ÀÔü µµÇü192
07.Çȼ¿ 󸮥°
7.1 copy()¸¦ »ç¿ëÇÑ Çȼ¿ ¿µ¿ª º¹»ç198
7.2 get()À» »ç¿ëÇÑ Çȼ¿°ª Àбâ207
7.3 get()À» »ç¿ëÇÑ Çȼ¿ ¿ä¼Ò°ª Àбâ216
7.4 get()À» »ç¿ëÇÑ À̹ÌÁö ó¸®: Á¡¹¦È217
7.5 get()À» »ç¿ëÇÑ À̹ÌÁö ó¸®: ¸ðÀÚÀÌÅ©È220
7.6 get(), set()À» »ç¿ëÇÑ À̹ÌÁö ó¸®: º¹¿ø223
7.7 get(), set()À» »ç¿ëÇÑ À̹ÌÁö ó¸®: º¯È¯226
08.Çȼ¿ 󸮥±
8.1 pixels[]¸¦ »ç¿ëÇÑ Çȼ¿°ª Àбâ/¾²±â230
8.2 pixels[]¸¦ »ç¿ëÇÑ À̹ÌÁö ó¸®: Á¡¹¦È, ¼±¹¦È238
8.3 pixels[]¸¦ »ç¿ëÇÑ À̹ÌÁö ó¸®: ¸ðÀÚÀÌÅ©È245
8.4 pixels[]¸¦ »ç¿ëÇÑ À̹ÌÁö ó¸®: º¯È¯247
8.5 pixels[]¸¦ »ç¿ëÇÑ À̹ÌÁö ó¸®: »çÄ¢ ¿¬»ê255
8.6 pixels[]¸¦ »ç¿ëÇÑ À̹ÌÁö ó¸®: »óÈ£ÀÛ¿ë258
¡¼½ÉÈ8.1¡½ ĵ¹ö½º¸¦ À̹ÌÁö ÆÄÀÏ·Î ÀúÀå265
09.ÇÊÅ͸µ
9.1 tint()¸¦ »ç¿ëÇÑ ÇÊÅ͸µ269
¡¼½ÉÈ9.1¡½ RGB & HSB Ä÷¯¸ðµå280
9.2 filter()¸¦ »ç¿ëÇÑ ÇÊÅ͸µ292
9.3 blend(), blendMode()¸¦ »ç¿ëÇÑ ºí·£µù302
9.4 ¸¶½ºÅ©¸¦ »ç¿ëÇÑ ÇÊÅ͸µ308
¥² µ¿¿µ»ó ó¸®
10.µ¿¿µ»ó ÆÄÀÏ Ã³¸®
10.1 µ¿¿µ»ó ÆÄÀÏ Ãâ·Â319
10.2 µ¿¿µ»ó ÆÄÀÏÀÇ ´Ù¾çÇÑ Ãâ·Â ¹æ½Ä322
10.3 µ¿¿µ»ó ÆÄÀÏÀÇ µ¿ÀÛ Á¦¾î327
¡¼½ÉÈ10.1¡½ µ¿¿µ»ó ÆÄÀÏ Àç»ý/Á¤Áö/¼Óµµ/º¼·ý/Àç»ýÀ§Ä¡ Á¦¾î331
10.4 pixels[]¸¦ »ç¿ëÇÑ µ¿¿µ»ó ó¸®334
10.5 µ¿¿µ»ó ÇÊÅ͸µ341
11.½Ç½Ã°£ ºñµð¿À ó¸®
11.1 ½Ç½Ã°£ ºñµð¿À Ãâ·Â351
11.2 ºñµð¿ÀÀÇ ´Ù¾çÇÑ Ãâ·Â ¹æ½Ä355
11.3 pixels[]¸¦ »ç¿ëÇÑ ºñµð¿À ó¸®360
11.4 ºñµð¿À ÇÊÅ͸µ365
¥³ ¸Ó½Å·¯´×
12.ML5 ¸Ó½Å·¯´×
12.1 ¸Ó½Å·¯´× ½Ç½ÀÀ» À§ÇÑ Áغñ376
12.2 À̹ÌÁö ¹× ½Ç½Ã°£ »ç¹° ÀνÄ379
¡¼½ÉÈ12.1¡½ ¼ýÀÚ¸¦ Ç¥ÇöÇÏ´Â ´Ù¾çÇÑ ¸Þ¼Òµå384
¡¼½ÉÈ12.2¡½ À̹ÌÁö ÆÄÀÏ Drag & Drop385
12.3 ½Åü Æ÷ÀÎÆ® ÃßÀû391
12.4 ¼Õ°¡¶ô Æ÷ÀÎÆ® ÃßÀû402
13.ÀüÀÌÇнÀ ±â¹Ý ÀνÄ
13.1 ÀüÀÌÇнÀ(Transfer Learning)417
¡¼½ÉÈ13.1¡½ ÇнÀ ¿Ï·áÇÑ ¸ðµ¨ÀÇ Àç»ç¿ë425
13.2 ÀüÀÌÇнÀ ÀÀ¿ë428
13.3 Ƽóºí¸Ó½Å(Teachable Machine)443
¥´ P5.js & ¾ÆµÎÀÌ³ë ¿¬µ¿
14.¾ÆµÎÀÌ³ë ¼³Á¤
14.1 ¾ÆµÎÀ̳ë¶õ?457
14.2 ¾ÆµÎÀÌ³ë ¼³Ä¡460
14.3 ¾ÆµÎÀ̳ë ÄÚµù ȯ°æ462
14.4 ¾ÆµÎÀÌ³ë ½ÇÇà463
14.5 ½Ç½À ÀÔ¡¤Ãâ·Â ºÎÇ°468
15.¾ÆµÎÀÌ³ë ½ÃÀÛ
15.1 ½Ã¸®¾ó Åë½ÅÀ¸·Î º¯¼ý°ª È®ÀÎ473
15.2 º¯¼ö ±â¹Ý ºÎÇ°ÀÇ Æ¯¼º È®ÀÎ479
¡¼½ÉÈ15.1¡½ ÆÃĿijµå(Tinkercad)481
¡¼½ÉÈ15.2¡½ ÃÊÀ½ÆÄ ¼¾¼·Î °Å¸® ±¸Çϱâ502
15.3 Àüü ȸ·Îµµ503
16.¿µ»óó¸® ±â¹Ý P5.js & ¾ÆµÎÀÌ³ë ¿¬µ¿
16.1 ¿¬µ¿ ½Ç½ÀÀ» À§ÇÑ Áغñ506
¡¼½ÉÈ16.1¡½ ¿¬µ¿ ½Ã ÁÖÀÇ»çÇ× ¹× ½ÇÇà ¼ø¼508
16.2 P5.js¡æ¾ÆµÎÀ̳ë Çڵ彦ÀÌÅ·510
¡¼½ÉÈ16.2¡½ parseInt() & toInt()524
16.3 ¾ÆµÎÀ̳ë¡æP5.js Çڵ彦ÀÌÅ·525
¡¼½ÉÈ16.3¡½ ½Ã¸®¾ó Åë½Å¿¡¼ ¹®ÀÚ¿ ¼Û¡¤¼ö½Å ½Ã À塤´ÜÁ¡537
16.4 ¾ÆµÎÀ̳ë¡êP5.js Çڵ彦ÀÌÅ·538
¡¼½ÉÈ16.4¡½ p5.WebSerial°ú ¾ÆµÎÀ̳ëÀÇ µ¥ÀÌÅÍ ¼Û¡¤¼ö½Å ¸Þ¼Òµå549
¡¼½ÉÈ16.5¡½ p5.WebSerial & p5.SerialPort554
17.¸Ó½Å·¯´× ±â¹Ý P5.js & ¾ÆµÎÀÌ³ë ¿¬µ¿
17.1 ÀüÀÌÇнÀ°ú ¾ÆµÎÀÌ³ë ¿¬µ¿558
17.2 Ƽóºí¸Ó½Å°ú ¾ÆµÎÀÌ³ë ¿¬µ¿571
17.3 ÄÚ/¼Õ°¡¶ô Æ÷ÀÎÆ® ÃßÀû°ú ¾ÆµÎÀÌ³ë ¿¬µ¿577
¸¶¹«¸®
¸¶¹«¸®584"