terça-feira, 8 de maio de 2018

Relacionando comandos entre Scratch e Gcode

No post sobre .gcode (http://vemfazermatematicaegames.blogspot.com.br/2018/05/o-segredo-de-um-arquivo-gcode.html) entendemos um pouco da Matemática envolvida nesse importante arquivo de posicionamento na arte de construção de objetos. Mas agora a missão é outra. Vamos relacionar um .gcode aos comandos em Scratch. Como você acha que ficaria o seguinte .gcode em Scratch?

G0 X200 Y300 Z0.250
G0 X-300 Y300 Z0.250


Parece que está faltando valores no Scratch? Sim, você está certo. O Scratch é baseado em um plano 2D ou seja, apenas valores de XY, por isso os valores relacionados a Z são desprezados. Existem muitos .gcode que são voltados ao trabalho em 2D, como o utilizados em máquinas CNC (cortadora de madeira), o que nos leva a um desafio, é possível montar programações em Scratch que reproduzam figuras cortadas numa CNC? A resposta é sim. Veja um exemplo de um simples quadrado:

G0 X200 Y300 
G0 X-300 Y300
G0 X-300 Y-200 
G0 X200 Y-200
G0 X200 Y300 


Note que temos duas formas de representar o quadrado no Scratch (pode ser necessário tirar o ator para o lado, pois a construção fica embaixo dele). A primeira é marcando ponto a ponto, que nem em um .gcode e a segunda, mais enxuta, é centrar no ponto inicial (x,y) e em seguida, repete-se por quatro vezes o valor do tamanho do lado e usa-se o valor do angulo interno de um quadrado que é 90 graus. É possível seguir esse raciocínio para figuras mais complexas, como as elaboradas nos post sobre Criando um Gerador de Polígonos (http://vemfazermatematicaegames.blogspot.com.br/2018/03/criando-um-gerador-de-poligonos.html) e Figuras de Lissajous (http://vemfazermatematicaegames.blogspot.com.br/2018/03/figuras-de-lissajous.html). Pronto para o desafio? Deixe nos comentários as novas obras de arte que você irá produzir. Até a próxima.

Nenhum comentário:

Postar um comentário

Como não perder nenhum compromisso: Meu App Agenda

No nosso dia a dia a agenda é um instrumento de grande importância que as pessoas utilizam para fazer anotações de compromissos ou informaçõ...