[{"data":1,"prerenderedAt":450},["ShallowReactive",2],{"navigation_docs":3,"-pcs3021-transformacoes-rotacao":183,"-pcs3021-transformacoes-rotacao-surround":445},[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":87,"body":185,"categoria":438,"creditoLink":438,"creditos":438,"descricao":438,"description":439,"eaulas":438,"extension":440,"meta":441,"navigation":442,"path":88,"seo":443,"stem":89,"video":438,"youtube":438,"youtubeLink":438,"__hash__":444},"docs\u002Fpcs3021\u002F4.transformacoes\u002F1.rotacao.md",{"type":186,"value":187,"toc":434},"minimark",[188,192,212,217,262,266,269,392,395,407,430],[189,190,191],"p",{},"Outra transformação geométrica fundamental é a rotação, que gira o sistema de coordenadas em torno da origem. Assim como a translação, ela não gira a forma diretamente, mas sim o referencial em que a forma será desenhada. Tudo o que vier depois do comando aparecerá girado.",[189,193,194,195,199,200,203,204,207,208,211],{},"O comando ",[196,197,198],"code",{},"rotate(angulo)"," recebe um único parâmetro, que é o ângulo de rotação. Por padrão, o p5.js interpreta esse valor em radianos, não em graus. Para facilitar, você pode usar a função ",[196,201,202],{},"radians()"," para converter um valor em graus, ou empregar diretamente constantes como ",[196,205,206],{},"PI"," e ",[196,209,210],{},"HALF_PI",". A rotação acontece sempre em torno da origem atual do sistema de coordenadas, que fica no canto superior esquerdo caso nenhuma translação tenha sido aplicada.",[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 rotaçã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","rotate(radians(anguloEmGraus));\n\u002F\u002F formas desenhadas aqui aparecem giradas\n","js",[196,231,232,255],{"__ignoreMap":5},[233,234,237,241,245,248,251],"span",{"class":235,"line":236},"line",1,[233,238,240],{"class":239},"s2Zo4","rotate",[233,242,244],{"class":243},"sTEyZ","(",[233,246,247],{"class":239},"radians",[233,249,250],{"class":243},"(anguloEmGraus))",[233,252,254],{"class":253},"sMK4o",";\n",[233,256,258],{"class":235,"line":257},2,[233,259,261],{"class":260},"sHwdD","\u002F\u002F formas desenhadas aqui aparecem giradas\n",[213,263,265],{"id":264},"exemplo","Exemplo",[189,267,268],{},"Para um exemplo de como utilizar esse comando, teste o Código  e veja o retângulo inclinado.",[218,270,271,272],{},"Código  - Exemplo de rotaçã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  translate(400,300);\n  rotate(radians(30));\n  rect(0,0,200,100);\n}\n",[196,278,279,294,317,337,357,386],{"__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":253},"()",[233,292,293],{"class":253}," {\n",[233,295,296,299,302,306,309,312,315],{"class":235,"line":257},[233,297,298],{"class":239},"  createCanvas",[233,300,244],{"class":301},"swJcz",[233,303,305],{"class":304},"sbssI","800",[233,307,308],{"class":253},",",[233,310,311],{"class":304},"600",[233,313,314],{"class":301},")",[233,316,254],{"class":253},[233,318,320,323,325,328,330,333,335],{"class":235,"line":319},3,[233,321,322],{"class":239},"  translate",[233,324,244],{"class":301},[233,326,327],{"class":304},"400",[233,329,308],{"class":253},[233,331,332],{"class":304},"300",[233,334,314],{"class":301},[233,336,254],{"class":253},[233,338,340,343,345,347,349,352,355],{"class":235,"line":339},4,[233,341,342],{"class":239},"  rotate",[233,344,244],{"class":301},[233,346,247],{"class":239},[233,348,244],{"class":301},[233,350,351],{"class":304},"30",[233,353,354],{"class":301},"))",[233,356,254],{"class":253},[233,358,360,363,365,368,370,372,374,377,379,382,384],{"class":235,"line":359},5,[233,361,362],{"class":239},"  rect",[233,364,244],{"class":301},[233,366,367],{"class":304},"0",[233,369,308],{"class":253},[233,371,367],{"class":304},[233,373,308],{"class":253},[233,375,376],{"class":304},"200",[233,378,308],{"class":253},[233,380,381],{"class":304},"100",[233,383,314],{"class":301},[233,385,254],{"class":253},[233,387,389],{"class":235,"line":388},6,[233,390,391],{"class":253},"}\n",[393,394],"p5-sketch",{"code":276},[396,397,398,399,402,403,406],"tip",{},"Como a rotação sempre ocorre em torno da origem, é muito comum usar um ",[196,400,401],{},"translate()"," antes do ",[196,404,405],{},"rotate()"," para posicionar a origem no ponto em que você deseja que o giro aconteça. No exemplo, movemos a origem para o centro do canvas antes de girar, fazendo com que a rotação parta desse ponto, e não do canto da tela.",[189,408,409,410,413,414,417,418,420,421,424,425,207,427,429],{},"Experimente trocar ",[196,411,412],{},"radians(30)"," por outros ângulos, ou usar diretamente valores como ",[196,415,416],{},"PI\u002F4"," (equivalente a 45 graus) e ",[196,419,206],{}," (equivalente a 180 graus). Você também pode alterar o modo de interpretação dos ângulos com o comando ",[196,422,423],{},"angleMode(DEGREES)",", o que permite passar valores em graus sem a conversão. A ordem entre ",[196,426,401],{},[196,428,405],{}," altera o resultado final, então vale a pena testar as duas sequências. Mais detalhes e exemplos podem ser encontrados na referência do p5.js.",[431,432,433],"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":435},[436,437],{"id":215,"depth":257,"text":216},{"id":264,"depth":257,"text":265},null,"Veja como girar o sistema de coordenadas","md",{},true,{"title":87,"description":439},"jp1tosGcy6y3a2QpEGP4kunDh18wDVVxerN7wxFIp_E",[446,448],{"title":77,"path":78,"stem":79,"description":447,"children":-1},"Veja como definir a cor e a espessura das linhas e bordas",{"title":91,"path":92,"stem":93,"description":449,"children":-1},"Veja como deslocar o sistema de coordenadas",1786195202333]