top of page

Comentário Código Processing Atividade 2

  • Foto do escritor: Marcos André
    Marcos André
  • 25 de mar. de 2016
  • 2 min de leitura

//Código:

void setup() { size(640, 360, P3D); noStroke(); colorMode(RGB, 1); fill(0.4); }

void draw() { background(0); translate(width / 2, height / 2); lightSpecular(1, 1, 1); directionalLight(0.8, 0.8, 0.8, 0, 0, -1); float s = mouseX / float(width); specular(s, s, s); sphere(150); }

Comentário:

○Na função de Setup, nos deparamos com uma nova opção, além dos usuais parâmetros de determinação do tamanho da tela.Essa terceira opção muda o tipo de renderização(Default,P3D,P2D,PDF).A P3D simula o eixo Z utilizando a biblioteca OpenGL e permitindo a construção de projetos em 3D.

○O código noStroke(); retira as linhas de desenho.Eliminando-o teremos:

○O código colorMode(RGB, 1); força a esquemática das cores para RGB.O segundo parâmetro define o alcance máximo das cores,que normalmente é 255.Esse tipo de mudança pode facilitar o desenvolvimento do programa, adequando os atributos à preferência do codificador.Com 1, as cores variaram em float de 0.0 à 1.0.

○O código fill(0.4); determina a cor de preenchimento da forma.

○Na função de loop void draw(); Temos:

•A determinação da cor de background da cena com

background(0);

translate(width / 2, height / 2);

Realiza a translação do centro de criação original dos eixos de orientação do compilador.O eixo original localiza-se no canto superior esquerdo da tela, com esse código, o local de criação primário é transferido para as cordenadas (Altura(tela)/2,Lagura(tela)/2) que representam o exato centro da tela.Caso retiremos a linha, a esfera será criada na origem padrão:

lightSpecular(1, 1, 1);

Determina a cor da fonte de luz na cena, como o modo de cor definido foi o RGB então os parâmentros seguem a seguinte lei: lightSpecular(R,G,B);

Podemos alterar os valores, e assim, teremos diferentes cores de luz:

directionalLight(0.8, 0.8, 0.8, 0, 0, -1); Define a cor(RGB,Como os valroes são iguais,a cor é branca) e a direção no eixo x,y,z.

Com a seguinte alteração teremos:

directionalLight(0.8, 0.8, 0.8, 1, 0, -1);

Observe que no lado esquerdo(Eixo x) não existe foco de luz.

•Agora, comentaremos a interatividade do código:

float s = mouseX / float(width); specular(s, s, s);

Na primeira linha o autor do código inicializou uma variável do tipo float chamada s, que recebe a posição x do mouse dividio pela largura da tela que, como é um valor inteiro, precisou ser transformada para float.

Na segunda linha o specular(s, s, s); recebe a variável recém criada.Os três parâmetros controlam a saturação, brilho e cor e com isso mudam a intensidade da luz na esfera.

•Na ultima linha do código temos: sphere(150); que cria uma esfera de raio 150.

Observemos uma alteração nesse parâmetro:

sphere(50);

•Uma alteração que interessante que fiz foi:

float s1 = mouseY / float(height);

float s = mouseX / float(width);

rotateY(s); rotateX(s1); box(140);

Comentarios


Sobre mim!

Meu nome é Marcos André, sou aluno de Ciência da Computação na Faculdade Farias Brito e Sistemas e Mídias digitais na UFC.Esse blog,será utilizado para postagem e divulgação de trabalhos realizados em ambos os cursos.

Outros Posts

© 2023 by BI World. Proudly created with Wix.com

bottom of page