Você está na página 1de 17

Discente: Ricardo Hakme Romano – Rondonópolis – MT, 31/03/2023

Atividade 2 de Computação Gráfica

1. Realize as transformações, indicadas a seguir, na figura abaixo e de crie um .DOC com o código
da sua solução e um print da tela para cada transformação.

a) Translação (50, 80);

********** código principal **********


int zoom = 2;

int getX(Ponto p) {
return width / (2 * zoom) + p.x;
}

int getY(Ponto p) {
return height / (2 * zoom) - p.y;
}

ArrayList<Ponto> pontos;

void setup() {
size(400, 500);

ArrayList<Ponto> p = new ArrayList();

//DESENHA O POLIGNO 1
p.clear();
p.add(new Ponto(0, 20));
p.add(new Ponto(10, 20));
p.add(new Ponto(10, 10));
p.add(new Ponto(20, 10));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol = new Poligono(p);
pontos = pol.get_pontos();

for (Ponto a : pontos) {


a.translacao(50, 80);
}

//DESENHA O POLIGNO 2
p.clear();
p.add(new Ponto(0, 20));
p.add(new Ponto(10, 20));
p.add(new Ponto(10, 10));
p.add(new Ponto(20, 10));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol1 = new Poligono(p);
pontos.addAll(pol1.get_pontos());
}
void draw() {
background(255);
scale(zoom);

if (keyPressed) {
if (key == 'a') {
for (Ponto p : pontos) {
p.translacao(-1, 0);
}
}

if (key == 'd') {
for (Ponto p : pontos) {
p.translacao(1, 0);
}
}

if (key == 'w') {
for (Ponto p : pontos) {
p.translacao(0, 1);
}
}

if (key == 's') {
for (Ponto p : pontos) {
p.translacao(0, -1);
}
}

if (key == 'q') {
for (Ponto p : pontos) {
p.escala(1.1, 1.1);
}
}

if (key == 'e') {
for (Ponto p : pontos) {
p.escala(0.9, 0.9);
}
}

if (key == 'r') {
for (Ponto p : pontos) {
p.rotacao(-45);
}
}

if (key == 't') {
for (Ponto p : pontos) {
p.rotacao(45);
}
}
}

for (Ponto p : pontos) {


point(getX(p), getY(p));
}
}
********* fim código principal **********
b) Escala (1.5, 1.5)

*** CÓDIGO PRINCIPAL *****


int zoom = 2;

int getX(Ponto p) {
return width / (2 * zoom) + p.x;
}

int getY(Ponto p) {
return height / (2 * zoom) - p.y;
}

ArrayList<Ponto> pontos;

void setup() {
size(400, 400);

ArrayList<Ponto> p = new ArrayList();

//DESENHA O POLIGNO 1
p.clear();
p.add(new Ponto(0, 20));
p.add(new Ponto(10, 20));
p.add(new Ponto(10, 10));
p.add(new Ponto(20, 10));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol = new Poligono(p);
pontos = pol.get_pontos();

/* for (Ponto a : pontos) {


a.translacao(50, 80);
}
*/
for (Ponto a : pontos) {
a.escala(1.5, 1.5);
}

//DESENHA O POLIGNO 2
p.clear();
p.add(new Ponto(0, 20));
p.add(new Ponto(10, 20));
p.add(new Ponto(10, 10));
p.add(new Ponto(20, 10));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol1 = new Poligono(p);
pontos.addAll(pol1.get_pontos());
}

void draw() {
background(255);
scale(zoom);

if (keyPressed) {
if (key == 'a') {
for (Ponto p : pontos) {
p.translacao(-1, 0);
}
}

if (key == 'd') {
for (Ponto p : pontos) {
p.translacao(1, 0);
}
}

if (key == 'w') {
for (Ponto p : pontos) {
p.translacao(0, 1);
}
}

if (key == 's') {
for (Ponto p : pontos) {
p.translacao(0, -1);
}
}

if (key == 'q') {
for (Ponto p : pontos) {
p.escala(1.1, 1.1);
}
}

if (key == 'e') {
for (Ponto p : pontos) {
p.escala(0.9, 0.9);
}
}

if (key == 'r') {
for (Ponto p : pontos) {
p.rotacao(-45);
}
}

if (key == 't') {
for (Ponto p : pontos) {
p.rotacao(45);
}
}
}

for (Ponto p : pontos) {


point(getX(p), getY(p));
}
}
*******************************

c) Rotação (45º)

**** CÓDIGO PRINCIPAL **********


int zoom = 2;

int getX(Ponto p) {
return width / (2 * zoom) + p.x;
}

int getY(Ponto p) {
return height / (2 * zoom) - p.y;
}

ArrayList<Ponto> pontos;

void setup() {
size(400, 400);

ArrayList<Ponto> p = new ArrayList();


//DESENHA O POLIGNO 1
p.clear();
p.add(new Ponto(0, 20));
p.add(new Ponto(10, 20));
p.add(new Ponto(10, 10));
p.add(new Ponto(20, 10));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol = new Poligono(p);
pontos = pol.get_pontos();

/* for (Ponto a : pontos) {


a.translacao(50, 80);
}
*/
/* for (Ponto a : pontos) {
a.escala(1.5, 1.5);
}
*/

for (Ponto a : pontos) {


a.rotacao(45);
}

//DESENHA O POLIGNO 2
p.clear();
p.add(new Ponto(0, 20));
p.add(new Ponto(10, 20));
p.add(new Ponto(10, 10));
p.add(new Ponto(20, 10));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol1 = new Poligono(p);
pontos.addAll(pol1.get_pontos());
}

void draw() {
background(255);
scale(zoom);

if (keyPressed) {
if (key == 'a') {
for (Ponto p : pontos) {
p.translacao(-1, 0);
}
}

if (key == 'd') {
for (Ponto p : pontos) {
p.translacao(1, 0);
}
}

if (key == 'w') {
for (Ponto p : pontos) {
p.translacao(0, 1);
}
}

if (key == 's') {
for (Ponto p : pontos) {
p.translacao(0, -1);
}
}

if (key == 'q') {
for (Ponto p : pontos) {
p.escala(1.1, 1.1);
}
}

if (key == 'e') {
for (Ponto p : pontos) {
p.escala(0.9, 0.9);
}
}

if (key == 'r') {
for (Ponto p : pontos) {
p.rotacao(-45);
}
}

if (key == 't') {
for (Ponto p : pontos) {
p.rotacao(45);
}
}
}

for (Ponto p : pontos) {


point(getX(p), getY(p));
}
}
**********************************************
2. Realize as transformações, indicadas a seguir, na figura abaixo e de crie um .DOC com o código
da sua solução e um print da tela para cada transformação.

a) Translação (-40, -30);

**** CODIGO PRINCIPAL *************


int zoom = 2;

int getX(Ponto p) {
return width / (2 * zoom) + p.x;
}

int getY(Ponto p) {
return height / (2 * zoom) - p.y;
}

ArrayList<Ponto> pontos;

void setup() {
size(400, 400);

ArrayList<Ponto> p = new ArrayList();

//DESENHA O POLIGNO 1
p.clear();
p.add(new Ponto(0, 40));
p.add(new Ponto(10, 50));
p.add(new Ponto(20, 40));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol = new Poligono(p);
pontos = pol.get_pontos();

for (Ponto a : pontos) {


a.translacao(-40, -30);
}

/* for (Ponto a : pontos) {


a.escala(1.5, 1.5);
}
*/

/*

for (Ponto a : pontos) {


a.rotacao(45);
}

*/

//DESENHA O POLIGNO 2
p.clear();
p.add(new Ponto(0, 40));
p.add(new Ponto(10, 50));
p.add(new Ponto(20, 40));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol1 = new Poligono(p);
pontos.addAll(pol1.get_pontos());
}

void draw() {
background(255);
scale(zoom);

if (keyPressed) {
if (key == 'a') {
for (Ponto p : pontos) {
p.translacao(-1, 0);
}
}

if (key == 'd') {
for (Ponto p : pontos) {
p.translacao(1, 0);
}
}

if (key == 'w') {
for (Ponto p : pontos) {
p.translacao(0, 1);
}
}

if (key == 's') {
for (Ponto p : pontos) {
p.translacao(0, -1);
}
}

if (key == 'q') {
for (Ponto p : pontos) {
p.escala(1.1, 1.1);
}
}

if (key == 'e') {
for (Ponto p : pontos) {
p.escala(0.9, 0.9);
}
}

if (key == 'r') {
for (Ponto p : pontos) {
p.rotacao(-45);
}
}

if (key == 't') {
for (Ponto p : pontos) {
p.rotacao(45);
}
}
}

for (Ponto p : pontos) {


point(getX(p), getY(p));
}
}
*******************************************
b) Escala (1.2, (1.2);

************CÓDIGO PRINCIPAL ***********


int zoom = 2;

int getX(Ponto p) {
return width / (2 * zoom) + p.x;
}

int getY(Ponto p) {
return height / (2 * zoom) - p.y;
}

ArrayList<Ponto> pontos;

void setup() {
size(400, 400);

ArrayList<Ponto> p = new ArrayList();

//DESENHA O POLIGNO 1
p.clear();
p.add(new Ponto(0, 40));
p.add(new Ponto(10, 50));
p.add(new Ponto(20, 40));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol = new Poligono(p);
pontos = pol.get_pontos();

/*for (Ponto a : pontos) {


a.translacao(-40, -30);
}*/

for (Ponto a : pontos) {


a.escala(1.2, 1.2);
}

/*

for (Ponto a : pontos) {


a.rotacao(45);
}

*/

//DESENHA O POLIGNO 2
p.clear();
p.add(new Ponto(0, 40));
p.add(new Ponto(10, 50));
p.add(new Ponto(20, 40));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol1 = new Poligono(p);
pontos.addAll(pol1.get_pontos());
}

void draw() {
background(255);
scale(zoom);

if (keyPressed) {
if (key == 'a') {
for (Ponto p : pontos) {
p.translacao(-1, 0);
}
}

if (key == 'd') {
for (Ponto p : pontos) {
p.translacao(1, 0);
}
}

if (key == 'w') {
for (Ponto p : pontos) {
p.translacao(0, 1);
}
}

if (key == 's') {
for (Ponto p : pontos) {
p.translacao(0, -1);
}
}

if (key == 'q') {
for (Ponto p : pontos) {
p.escala(1.1, 1.1);
}
}

if (key == 'e') {
for (Ponto p : pontos) {
p.escala(0.9, 0.9);
}
}

if (key == 'r') {
for (Ponto p : pontos) {
p.rotacao(-45);
}
}

if (key == 't') {
for (Ponto p : pontos) {
p.rotacao(45);
}
}
}

for (Ponto p : pontos) {


point(getX(p), getY(p));
}
}
******************************************
C) Rotação (-90º);

************* CÓDIGO PRINCIPAL ************


int zoom = 2;

int getX(Ponto p) {
return width / (2 * zoom) + p.x;
}

int getY(Ponto p) {
return height / (2 * zoom) - p.y;
}

ArrayList<Ponto> pontos;

void setup() {
size(400, 400);

ArrayList<Ponto> p = new ArrayList();

//DESENHA O POLIGNO 1
p.clear();
p.add(new Ponto(0, 40));
p.add(new Ponto(10, 50));
p.add(new Ponto(20, 40));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol = new Poligono(p);
pontos = pol.get_pontos();

/*for (Ponto a : pontos) {


a.translacao(-40, -30);
}*/

/* for (Ponto a : pontos) {


a.escala(1.2, 1.2);
}

*/

for (Ponto a : pontos) {


a.rotacao(-90);
}

//DESENHA O POLIGNO 2
p.clear();
p.add(new Ponto(0, 40));
p.add(new Ponto(10, 50));
p.add(new Ponto(20, 40));
p.add(new Ponto(20, 0));
p.add(new Ponto(0, 0));
Poligono pol1 = new Poligono(p);
pontos.addAll(pol1.get_pontos());
}

void draw() {
background(255);
scale(zoom);

if (keyPressed) {
if (key == 'a') {
for (Ponto p : pontos) {
p.translacao(-1, 0);
}
}

if (key == 'd') {
for (Ponto p : pontos) {
p.translacao(1, 0);
}
}

if (key == 'w') {
for (Ponto p : pontos) {
p.translacao(0, 1);
}
}
if (key == 's') {
for (Ponto p : pontos) {
p.translacao(0, -1);
}
}

if (key == 'q') {
for (Ponto p : pontos) {
p.escala(1.1, 1.1);
}
}

if (key == 'e') {
for (Ponto p : pontos) {
p.escala(0.9, 0.9);
}
}

if (key == 'r') {
for (Ponto p : pontos) {
p.rotacao(-45);
}
}

if (key == 't') {
for (Ponto p : pontos) {
p.rotacao(45);
}
}
}
for (Ponto p : pontos) {
point(getX(p), getY(p));
}
}
************************************

Você também pode gostar