Obs: biblioteca Nota: 0,5 TRABALHO EXTRA HALLEN FONTANA MARCOS SHIGUERU YAMAKAWA BMP MAKER O objetivo desta linguagem é a geração de uma imagem através do mapeamento de bits. As imagens resultantes da execução de um programa são armazenadas em matrizes. Essas matrizes podem ser de 2 e 3 dimensões. Mas nada impede de criar matrizes de dimensões maiores. Cada posição da matriz representa uma unidade a ser pintada, ou seja, um pixel. Os comandos para pintar e apagar um pixel são o put() e o get() respectivamente. Seus parâmentros definem a posição, a cor, etc. A linguagem aceita comandos de repetição ( loop, while), funções e equações matemáticas ( com o número de variáveis dependendo da dimensão da imagem). Também podem ser criados procedimentos que desenham um objeto específico. Por exemplo um procedimento para criar um circulo (utilizaria a função x^2 + y^2), e também procedimentos mais complexos, para desenhar uma casa por exemplo. Podem ser criados funções do tipo Sum(),Mult(), Intersect(), com o objetivo de somar, multiplicar duas imagens ou retornar a intersecção, resectivamente. Também poder ser criadas funções que manipulam matrizes, utilizando qualquer conceitos de Algebra Linear. Essas funções podem tornar uma imagem mais suave, ou com mais contraste, ou atingir uma tonalidade de ton diferente. O comando print(imagem) é o respomsável por desenhar a imagem no monitor. Esse comando pode imprimir a imagem inteira, apenas uma região dela, ou imprimir de qualquer ângulo, por exemplo um corte vertical numa região, semelhante a um engenheiro civil ao projetar uma construção. Exemplos: imagem1 := [100,100] // desenhar uma linha horizontal na linha 20 da imagem for (x:=0 ; x<100 ; x++) put(imagem1,(20,x), cor); // desenhar um quadrado 50x50 imagem2 := [100,100] for (linha:=0 ; linha<50 ; linha++) for (coluna:=0 ; coluna<50 ; coluna++) put(imagem2,(linha,coluna), cor); // exibir a soma das duas print(sum(imagem1+imagem2));