[{"data":1,"prerenderedAt":446},["ShallowReactive",2],{"navigation_docs":3,"-pcs3021-transformacoes-translacao":183,"-pcs3021-transformacoes-translacao-surround":441},[4,8],{"title":5,"path":6,"stem":7},"","\u002F","index",{"title":9,"icon":10,"path":11,"stem":12,"children":13},"PCS3021","i-lucide-message-circle-code","\u002Fpcs3021","pcs3021",[14,17,28,66,80,106,136,152,168,177],{"title":15,"path":11,"stem":16},"Linguagem Computacional","pcs3021\u002Findex",{"title":18,"icon":19,"path":20,"stem":21,"children":22,"page":27},"Curvas","i-lucide-spline","\u002Fpcs3021\u002Fcurvas","pcs3021\u002F2.curvas",[23],{"title":24,"path":25,"stem":26},"Curvas de Bézier","\u002Fpcs3021\u002Fcurvas\u002Fbezier","pcs3021\u002F2.curvas\u002F1.bezier",false,{"title":29,"icon":30,"path":31,"stem":32,"children":33,"page":27},"Formas geométricas","i-lucide-drafting-compass","\u002Fpcs3021\u002Fgeometrias","pcs3021\u002F2.geometrias",[34,38,42,46,50,54,58,62],{"title":35,"path":36,"stem":37},"Retângulos","\u002Fpcs3021\u002Fgeometrias\u002Fretangulo","pcs3021\u002F2.geometrias\u002F1.retangulo",{"title":39,"path":40,"stem":41},"Elipses e Círculos","\u002Fpcs3021\u002Fgeometrias\u002Felipse","pcs3021\u002F2.geometrias\u002F2.elipse",{"title":43,"path":44,"stem":45},"Triângulos","\u002Fpcs3021\u002Fgeometrias\u002Ftriangulo","pcs3021\u002F2.geometrias\u002F3.triangulo",{"title":47,"path":48,"stem":49},"Linhas","\u002Fpcs3021\u002Fgeometrias\u002Flinha","pcs3021\u002F2.geometrias\u002F4.linha",{"title":51,"path":52,"stem":53},"Pontos","\u002Fpcs3021\u002Fgeometrias\u002Fponto","pcs3021\u002F2.geometrias\u002F5.ponto",{"title":55,"path":56,"stem":57},"Polígonos","\u002Fpcs3021\u002Fgeometrias\u002Fpoligonos","pcs3021\u002F2.geometrias\u002F6.poligonos",{"title":59,"path":60,"stem":61},"Arcos","\u002Fpcs3021\u002Fgeometrias\u002Farco","pcs3021\u002F2.geometrias\u002F7.arco",{"title":63,"path":64,"stem":65},"Combinando formas","\u002Fpcs3021\u002Fgeometrias\u002Fcombinando","pcs3021\u002F2.geometrias\u002F8.combinando",{"title":67,"icon":68,"path":69,"stem":70,"children":71,"page":27},"Preenchimento e contorno","i-lucide-palette","\u002Fpcs3021\u002Fbasicos","pcs3021\u002F3.basicos",[72,76],{"title":73,"path":74,"stem":75},"Preenchimento","\u002Fpcs3021\u002Fbasicos\u002Fpreenchimento","pcs3021\u002F3.basicos\u002F1.preenchimento",{"title":77,"path":78,"stem":79},"Contorno","\u002Fpcs3021\u002Fbasicos\u002Fcontorno","pcs3021\u002F3.basicos\u002F2.contorno",{"title":81,"icon":82,"path":83,"stem":84,"children":85,"page":27},"Transformações","i-lucide-rotate-3d","\u002Fpcs3021\u002Ftransformacoes","pcs3021\u002F4.transformacoes",[86,90,94,98,102],{"title":87,"path":88,"stem":89},"Rotação","\u002Fpcs3021\u002Ftransformacoes\u002Frotacao","pcs3021\u002F4.transformacoes\u002F1.rotacao",{"title":91,"path":92,"stem":93},"Translação","\u002Fpcs3021\u002Ftransformacoes\u002Ftranslacao","pcs3021\u002F4.transformacoes\u002F2.translacao",{"title":95,"path":96,"stem":97},"Escala","\u002Fpcs3021\u002Ftransformacoes\u002Fescala","pcs3021\u002F4.transformacoes\u002F3.escala",{"title":99,"path":100,"stem":101},"Cisalhamento","\u002Fpcs3021\u002Ftransformacoes\u002Fcisalhamento","pcs3021\u002F4.transformacoes\u002F4.cisalhamento",{"title":103,"path":104,"stem":105},"Push e Pop","\u002Fpcs3021\u002Ftransformacoes\u002Fpush-pop","pcs3021\u002F4.transformacoes\u002F5.push-pop",{"title":107,"icon":108,"path":109,"stem":110,"children":111,"page":27},"Programação","i-lucide-square-code","\u002Fpcs3021\u002Fprogramacao","pcs3021\u002F5.programacao",[112,116,120,124,128,132],{"title":113,"path":114,"stem":115},"Variáveis","\u002Fpcs3021\u002Fprogramacao\u002Fvariaveis","pcs3021\u002F5.programacao\u002F1.variaveis",{"title":117,"path":118,"stem":119},"Expressões numéricas","\u002Fpcs3021\u002Fprogramacao\u002Fexpressoes-numericas","pcs3021\u002F5.programacao\u002F2.expressoes-numericas",{"title":121,"path":122,"stem":123},"Laço FOR","\u002Fpcs3021\u002Fprogramacao\u002Ffor","pcs3021\u002F5.programacao\u002F3.for",{"title":125,"path":126,"stem":127},"Classes e objetos","\u002Fpcs3021\u002Fprogramacao\u002Fclasses-e-objetos","pcs3021\u002F5.programacao\u002F4.classes-e-objetos",{"title":129,"path":130,"stem":131},"Condicional IF","\u002Fpcs3021\u002Fprogramacao\u002Fcondicionais","pcs3021\u002F5.programacao\u002F4.condicionais",{"title":133,"path":134,"stem":135},"Laço WHILE","\u002Fpcs3021\u002Fprogramacao\u002Fwhile","pcs3021\u002F5.programacao\u002F4.while",{"title":137,"path":138,"stem":139,"children":140,"icon":151},"Animações","\u002Fpcs3021\u002Fanimacao","pcs3021\u002F6.animacao\u002F1.index",[141,143,147],{"title":142,"path":138,"stem":139},"Introdução",{"title":144,"path":145,"stem":146},"Variáveis locais e globais","\u002Fpcs3021\u002Fanimacao\u002Fusando-variaveis","pcs3021\u002F6.animacao\u002F2.usando-variaveis",{"title":148,"path":149,"stem":150},"Eventos","\u002Fpcs3021\u002Fanimacao\u002Feventos","pcs3021\u002F6.animacao\u002F3.eventos","i-lucide-clapperboard",{"title":153,"path":154,"stem":155,"children":156,"icon":167},"Imagens","\u002Fpcs3021\u002Fimagens","pcs3021\u002F6.imagens\u002F1.index",[157,159,163],{"title":158,"path":154,"stem":155},"Usando SVG",{"title":160,"path":161,"stem":162},"Exportando SVG","\u002Fpcs3021\u002Fimagens\u002Fexportando","pcs3021\u002F6.imagens\u002F4.exportando",{"title":164,"path":165,"stem":166},"Imagens Matriciais","\u002Fpcs3021\u002Fimagens\u002Fmatriciais","pcs3021\u002F6.imagens\u002F5.matriciais","i-lucide-pen-tool",{"title":169,"icon":170,"path":171,"stem":172,"children":173,"page":27},"Vetores","i-lucide-spline-pointer","\u002Fpcs3021\u002Fvetores","pcs3021\u002F6.vetores",[174],{"title":169,"path":175,"stem":176},"\u002Fpcs3021\u002Fvetores\u002Fvetores","pcs3021\u002F6.vetores\u002F7.vetores",{"title":178,"path":179,"stem":180,"children":181,"icon":170},"Funções","\u002Fpcs3021\u002Ffuncoes","pcs3021\u002F7.funcoes\u002F1.index",[182],{"title":178,"path":179,"stem":180},{"id":184,"title":91,"body":185,"categoria":434,"creditoLink":434,"creditos":434,"descricao":434,"description":435,"eaulas":434,"extension":436,"meta":437,"navigation":438,"path":92,"seo":439,"stem":93,"video":434,"youtube":434,"youtubeLink":434,"__hash__":440},"docs\u002Fpcs3021\u002F4.transformacoes\u002F2.translacao.md",{"type":186,"value":187,"toc":430},"minimark",[188,192,212,217,262,266,269,397,400,412,426],[189,190,191],"p",{},"Até agora, para posicionar uma forma na tela, você informava diretamente suas coordenadas. As transformações geométricas oferecem outra maneira de trabalhar: em vez de mover a forma, elas movem o próprio sistema de coordenadas em que a forma será desenhada. A primeira dessas transformações é a translação.",[189,193,194,195,199,200,203,204,207,208,211],{},"O comando ",[196,197,198],"code",{},"translate(x, y)"," desloca a origem do sistema de coordenadas. Por padrão, a origem (ponto ",[196,201,202],{},"0, 0",") fica no canto superior esquerdo do canvas. Após um ",[196,205,206],{},"translate(200, 150)",", por exemplo, a origem passa a estar na posição ",[196,209,210],{},"200, 150",", e todas as formas desenhadas em seguida terão suas coordenadas calculadas a partir desse novo ponto. É importante entender que a transformação afeta apenas os comandos que vêm depois dela.",[213,214,216],"h2",{"id":215},"estrutura-básica","Estrutura básica",[218,219,220,221],"code-preview",{},"Código - estrutura geral para aplicação de translação no p5.js",[222,223,224],"template",{"v-slot:code":5},[225,226,230],"pre",{"className":227,"code":228,"language":229,"meta":5,"style":5},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","translate(deslocamentoX, deslocamentoY);\n\u002F\u002F formas desenhadas aqui usam a nova origem\n","js",[196,231,232,255],{"__ignoreMap":5},[233,234,237,241,245,249,252],"span",{"class":235,"line":236},"line",1,[233,238,240],{"class":239},"s2Zo4","translate",[233,242,244],{"class":243},"sTEyZ","(deslocamentoX",[233,246,248],{"class":247},"sMK4o",",",[233,250,251],{"class":243}," deslocamentoY)",[233,253,254],{"class":247},";\n",[233,256,258],{"class":235,"line":257},2,[233,259,261],{"class":260},"sHwdD","\u002F\u002F formas desenhadas aqui usam a nova origem\n",[213,263,265],{"id":264},"exemplo","Exemplo",[189,267,268],{},"Para um exemplo de como utilizar esse comando, teste o Código  e compare os dois retângulos.",[218,270,271,272],{},"Código  - Exemplo de translação do sistema de coordenadas",[222,273,274],{"v-slot:code":5},[225,275,277],{"className":227,"code":276,"language":229,"meta":5,"style":5},"function setup() {\n  createCanvas(800,600);\n  rect(50,50,150,100);\n  translate(300,200);\n  rect(50,50,150,100);\n}\n",[196,278,279,294,317,346,366,391],{"__ignoreMap":5},[233,280,281,285,288,291],{"class":235,"line":236},[233,282,284],{"class":283},"spNyl","function",[233,286,287],{"class":239}," setup",[233,289,290],{"class":247},"()",[233,292,293],{"class":247}," {\n",[233,295,296,299,303,307,309,312,315],{"class":235,"line":257},[233,297,298],{"class":239},"  createCanvas",[233,300,302],{"class":301},"swJcz","(",[233,304,306],{"class":305},"sbssI","800",[233,308,248],{"class":247},[233,310,311],{"class":305},"600",[233,313,314],{"class":301},")",[233,316,254],{"class":247},[233,318,320,323,325,328,330,332,334,337,339,342,344],{"class":235,"line":319},3,[233,321,322],{"class":239},"  rect",[233,324,302],{"class":301},[233,326,327],{"class":305},"50",[233,329,248],{"class":247},[233,331,327],{"class":305},[233,333,248],{"class":247},[233,335,336],{"class":305},"150",[233,338,248],{"class":247},[233,340,341],{"class":305},"100",[233,343,314],{"class":301},[233,345,254],{"class":247},[233,347,349,352,354,357,359,362,364],{"class":235,"line":348},4,[233,350,351],{"class":239},"  translate",[233,353,302],{"class":301},[233,355,356],{"class":305},"300",[233,358,248],{"class":247},[233,360,361],{"class":305},"200",[233,363,314],{"class":301},[233,365,254],{"class":247},[233,367,369,371,373,375,377,379,381,383,385,387,389],{"class":235,"line":368},5,[233,370,322],{"class":239},[233,372,302],{"class":301},[233,374,327],{"class":305},[233,376,248],{"class":247},[233,378,327],{"class":305},[233,380,248],{"class":247},[233,382,336],{"class":305},[233,384,248],{"class":247},[233,386,341],{"class":305},[233,388,314],{"class":301},[233,390,254],{"class":247},[233,392,394],{"class":235,"line":393},6,[233,395,396],{"class":247},"}\n",[398,399],"p5-sketch",{"code":276},[401,402,403,404,407,408,411],"tip",{},"Repare que os dois retângulos do exemplo usam exatamente as mesmas coordenadas em ",[196,405,406],{},"rect(50,50,150,100)",", mas aparecem em posições diferentes. Isso acontece porque o ",[196,409,410],{},"translate()"," moveu a origem entre um comando e outro. A forma não mudou; o referencial em que ela foi desenhada é que mudou.",[189,413,414,415,417,418,421,422,425],{},"Experimente aplicar dois comandos ",[196,416,410],{}," em sequência e veja que seus efeitos se somam, pois cada um desloca a origem a partir da posição em que ela já se encontrava. As transformações são cumulativas, e essa característica é o que permite construir movimentos e composições complexas. Para evitar que esse acúmulo atrapalhe, costuma-se usar os comandos ",[196,419,420],{},"push()"," e ",[196,423,424],{},"pop()",", apresentados em outra página. Mais detalhes e exemplos podem ser encontrados na referência do p5.js.",[427,428,429],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":5,"searchDepth":257,"depth":257,"links":431},[432,433],{"id":215,"depth":257,"text":216},{"id":264,"depth":257,"text":265},null,"Veja como deslocar o sistema de coordenadas","md",{},true,{"title":91,"description":435},"ROeccs4EektA-7eS4N5kL4uV7Gnwd3VyuuGqyN8xvRE",[442,444],{"title":87,"path":88,"stem":89,"description":443,"children":-1},"Veja como girar o sistema de coordenadas",{"title":95,"path":96,"stem":97,"description":445,"children":-1},"Veja como redimensionar o sistema de coordenadas",1786195202426]