4-1-1.À̵¿ º¯È¯

ĵ¹ö½ºÀÇ ÁÂÇ¥°è´Â Á»ó´ÜÀ» ¿øÁ¡À¸·Î ÇÏ¸ç ¼öÆòÀº ¿À¸¥ÂÊÀ¸·Î Áõ°¡ÇÏ°í ¼öÁ÷Àº ¾Æ·¡ÂÊÀ¸·Î Áõ°¡ÇÑ´Ù. À̸¥¹Ù µ¥Ä«¸£Æ® ÁÂÇ¥°è¶ó°í ÇÏ¸ç µðÁöÅРȯ°æ¿¡¼­´Â ÀϹÝÀûÀÎ ÁÂÇ¥°èÀÌ´Ù. ´ÜÀ§´Â Çȼ¿ÀÌ¸ç ¿À¸¥ÂÊ ³¡°ú ¾Æ·¡ÂÊ ³¡ ÁÂÇ¥´Â ĵ¹ö½ºÀÇ Å©±â¿¡ ÀÇÇØ °áÁ¤µÈ´Ù.

ÁÂÇ¥°è°¡ ÀÌ·¸°Ô µÇ¾î ÀÖÀ¸¹Ç·Î (0,0)¿¡ ¹º°¡¸¦ Ãâ·ÂÇϸé Á»ó´Ü¿¡ Ãâ·ÂµÇ¸ç (100, 100) ÁÂÇ¥´Â ¿À¸¥ÂÊÀ¸·Î 100Çȼ¿, ¾Æ·¡ÂÊÀ¸·Î 100Çȼ¿ ¶³¾îÁø ÀÚ¸®¸¦ ÀǹÌÇÑ´Ù. Áö±Ý±îÁö ¿ì¸®´Â ÀÌ ÁÂÇ¥°è¿¡¼­ µµÇü ¹× À̹ÌÁö Ãâ·Â ½Ç½ÀÀ» ÇØ ¿Ô´Ù.

º¯È¯À̶õ ÁÂÇ¥°è¸¦ º¯ÇüÇÏ¿© Ãâ·Â¹°ÀÇ À§Ä¡, Å©±â, ¸ð¾ç¿¡ ¿µÇâÀ» ÁÖ´Â ±â¹ýÀÌ´Ù. ¶È°°Àº ¸Þ¼­µå¸¦ È£ÃâÇÏ´õ¶óµµ ÁÂÇ¥ ü°è°¡ ¹Ù²î¸é Ãâ·ÂÀÌ ´Þ¶óÁø´Ù. ¸ÕÀú °¡Àå ´Ü¼øÇÑ À̵¿ º¯È¯ºÎÅÍ ¾Ë¾Æ º¸ÀÚ. ´ÙÀ½ ¸Þ¼­µå·Î À̵¿ º¯È¯À» ÁöÁ¤ÇÑ´Ù.

 

translate(x, y)

 

Àμö·Î Àü´ÞÇÑ x, y¸¸Å­ ÁÂÇ¥°èÀÇ ¿øÁ¡ÀÌ À̵¿Çϸç ÀÌÈÄÀÇ Ãâ·Â¹®Àº À̵¿ÇÑ ÁÂÇ¥°è¸¦ ±âÁØÀ¸·Î ÇÑ´Ù.

 

translate.html

function draw() {

     ctx.fillStyle="blue";

     ctx.fillRect(50,50,30,30);

 

     ctx.translate(50,50);

     ctx.fillStyle="red";

     ctx.fillRect(50,50,30,30);

}

 

¾Æ¹«·± º¯È¯¾øÀÌ (50, 50) ÁÂÇ¥¿¡ ÆĶõ»ö »ç°¢ÇüÀ» Ãâ·ÂÇß´Ù. ÀÌ »ç°¢ÇüÀº ¿øÁ¡¿¡¼­ (50, 50)¸¸Å­ ¶³¾îÁø À§Ä¡¿¡ Ãâ·ÂµÈ´Ù. ´ÙÀ½Àº ¿øÁ¡À» (50, 50)À¸·Î À̵¿ÇÑ ÈÄ ¶È°°Àº Ãâ·Â¹®À¸·Î »¡°£»ö ½Ã°¢ÇüÀ» Ãâ·ÂÇß´Ù.

¿øÁ¡ÀÌ (50, 50)À¸·Î ¿Å°ÜÁ³À¸¹Ç·Î °Ñº¸±â ÁÂÇ¥´Â (100, 100)ÀÎ °Íó·³ º¸ÀδÙ. º¯È¯À» ÇÏÁö ¾Ê°í (100, 100)¿¡ Ãâ·ÂÇÑ °Í°ú °°´Ù. ¿øÁ¡ÀÌ Äµ¹ö½º ¾ÈÂÊÀ¸·Î µé¾î¿Í ÀÖ´Â »óȲ¿¡¼­´Â À½¼ö ÁÂÇ¥¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

À̵¿ º¯È¯À» »ç¿ëÇÏ¸é ¿©·¯ °³ÀÇ µµÇüÀ» ÀÏÁ¤ÇÑ °£°ÝÀ¸·Î ¹èÄ¡Çϱâ Æí¸®ÇÏ´Ù. ´ÙÀ½ ¿¹Á¦´Â 50Çȼ¿ °£°ÝÀ¸·Î »ç°¢ÇüÀ» ¹èÄ¡ÇÑ´Ù.

 

translate2.html

function draw() {

     ctx.fillStyle="blue";

     for (var i = 0;i < 6;i++) {

         ctx.fillRect(50, 50, 30, 30);

         ctx.translate(50, 0);

     }

}

 

fillRect ¸Þ¼­µå´Â Ç×»ó (50, 50) ÁÂÇ¥¿¡ »ç°¢ÇüÀ» ±×¸®Áö¸¸ Çѹø ±×¸± ¶§¸¶´Ù ¿øÁ¡À» 50Çȼ¿ ¿À¸¥ÂÊÀ¸·Î À̵¿½ÃÅ°¹Ç·Î ¸Å¹ø Ãâ·ÂÇÒ ¶§¸¶´Ù »ç°¢ÇüÀÌ 50¸¸Å­ ¿À¸¥ÂÊÀ¸·Î À̵¿ÇÑ´Ù. º¯È¯Àº È£ÃâÇÒ ¶§¸¶´Ù ´©ÀûÀûÀ¸·Î Àû¿ëµÈ´Ù. translate(50, 0)Àº ¿øÁ¡À» Àý´ë À§Ä¡ (50, 0)À¸·Î ¿Å±â´Â °ÍÀÌ ¾Æ´Ï¶ó ÇöÀç ¿øÁ¡¿¡¼­ +50¸¸Å­ À̵¿½ÃŲ´Ù´Â ¶æÀÌ´Ù.

À̵¿ º¯È¯À» ÇÏÁö ¾Ê°í ÁÂÇ¥¸¦ Á÷Á¢ °è»êÇؼ­ 50, 100, 150, 200 ½ÄÀ¸·Î »ç°¢ÇüÀ» ±×¸± ¼öµµ ÀÖ´Ù. ±×·¯³ª ÀÏÀÏÀÌ ¾Ï»êÇØ¾ß ÇϹǷΠ½Ç¼öÇÒ À§ÇèÀÌ ÀÖÀ¸¸ç °£°ÝÀ» ¹Ù²Ü ¶§ ¸ðµç ¼ýÀÚ¸¦ ÇѲ¨¹ø¿¡ ´Ù ¹Ù²ã¾ß ÇϹǷΠºÒÆíÇÏ´Ù. À̵¿ º¯È¯Àº translateÀÇ Àμö¸¸ ¹Ù²Ù¸é °£°ÝÀ» ¿øÅÍÄ¡·Î °£ÆíÇÏ°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ¾î Æí¸®ÇÏ°í ¾ÈÀüÇÏ´Ù.

ĵ¹ö½ºÀÇ Áß¾Ó¿¡ µµÇüÀ» ±×¸®°í ½ÍÀ» ¶§ ¿øÁ¡À» ĵ¹ö½º Áß¾ÓÀ¸·Î ¿Å°Ü ³õ°í ±×¸°´Ù. ´ÙÀ½ ¿¹Á¦´Â ĵ¹ö½º Áß¾Ó¿¡ ¿øÀ» ±×¸°´Ù.

 

translate3.html

function draw() {

     ctx.fillStyle="blue";

     ctx.translate(canvas.width/2, canvas.height/2);

     ctx.beginPath();

     ctx.arc(0, 0, 80, 0, 2*Math.PI);

     ctx.fill();

}

 

translate ¸Þ¼­µå·Î ¿øÁ¡À» ĵ¹ö½º Áß¾Ó ÁÂÇ¥·Î ÁöÁ¤Çß´Ù. ÀÌ »óÅ¿¡¼­ (0, 0)À» Áß½ÉÀ¸·Î ÇÏ´Â ¿øÀ» ±×¸®¸é Á¤È®ÇÏ°Ô Äµ¹ö½º Áß¾ÓÀÌ´Ù.

±×·Á¾ß ÇÒ µµÇüÀÌ ¿ø Çϳª»ÓÀ̶ó¸é ¿øÁ¡À» ¿Å±â´Â ´ë½Å ¿øÀÇ Áß½ÉÀ» ĵ¹ö½º Áß¾ÓÀ¸·Î ÁöÁ¤Çصµ °á°ú´Â °°´Ù. ±×·¯³ª ¼öÇÐ ÁÂÇ¥°è¸¦ ±×¸®°í ±× À§¿¡ ÀÏÂ÷ ÇÔ¼ö ±×·¡ÇÁ³ª Æ÷¹°¼±À» ±×¸®·Á¸é ÁÂÇ¥¸¦ ÀÏÀÏÀÌ Á¶Á¤ÇÏ´Â °Íº¸´Ù ¾Æ¿¹ ¿øÁ¡À» ¿Å°Ü ³õ°í ÀÛ¾÷ÇÏ´Â °ÍÀÌ ÈξÀ Æí¸®ÇÏ´Ù.