Buscar

trabalho1 UVA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

A reprodução convencional de imagens é matricial, Pixels são pontos dessa matriz; resolução é a quantidade total de pixels dessa matriz, profundidade é o tamanho em bits para cada pixel; resolução espacial refere-se a quantidade de pixels por unidade física (dpi);
A primeira desvantagem é que toda imagem vetorizada precisa ser rasterizada, ou seja processada e a consequência, também desvantagem, é o problema de aliasing para resoluções muito pequenas. As vantagens são o poder de manipulação dos vetores e a alta definição para qualquer tamanho superior ao mínimo;
Coeficiente linear da reta representa o ponto de interseção com o eixo vertical e o coeficiente angular representa a tangente do ângulo entre a reta e o eixo horizontal. O o valor do coeficiente angular pode definir qual dos eixos possuem maior movimento. 
O algoritmo DDA calcula cada ponto da reta a partir do anterior, enquanto o Bresenhm calcula a partir do ponto médio.
A aplicação faz chamadas a API OpenGl, que são colocados em um buffer de comandos e quando processado, é esvaziado e os dados são passados para a etapa de rasterizacao, ou quando necessário para a etapa de transformações geométricas e da iluminação. Com a etapa de rasterização completada, a imagem é passada para frame buffer, que é a memoria do dispositivo gráfico.
Fornecer uma biblioteca de rotinas e modelagem gráficas 2D e 3D, de forma simples e rápida, pois os algoritmos foram desenvolvidos especificamente para tal fins.
 glViewPort define a quantidade de pixel na tela e glOrtho determina a projeção ortográfica;
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
 glutTimerFunc – callback a cada intervalo de tempo
glutKeyboardFunc – callback quando eventos do teclado são disparados
glutMouseFunc – callback quando eventos do mouse são disparados
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
 
PC = 65.536 =2ⁿ => n = 16 = B | P = 1600x1200 = 192x10⁴ || bits = P x B = 3072
A resolução espacial horizontal e espacial é de 13,3 pixel/mm;
x/300 = 10 => x=3000 || y/210 =10 => y=2100 || 3000x2100
(V)
(F) - |a|>1 é de uma reta com variações de y maiores q a de x, então o eixo dos y é o de maior movimento
(F) – Geralmente os arquivos possuem tamanho menor e demandam mais tempo para serem exibidos, pois precisam passar pelo processo de rasterizando, 
(F)- y=1 é perpendicular, já 2y+4x=1 tem |a|>1 portanto não é perpendicular
(__)_________________________________________________________________________________________________________________________________________________________________________________________________________________
 
A
C
___ 
___
	void Questao5(int x1_, int y1_, int x2_, int y2_){
	float DX = x2_ - x1_;
	float DY = y2_ - y1_;
	float pAx = x1_ + (DX/2);
	float pAy = y1_;
	float pBx = x1_;
	float pBy = y1_ + (DY/2);
	float pCx = pAx;
	float pCy = y2_;
	float pDx = x2_;
	float pDy = pBy;
	glBegin(GL_LINE_LOOP);
		glVertex2i(pAx,pAy);
		glVertex2i(pBx,pBy);
		glVertex2i(pCx,pCy);
		glVertex2i(pDx,pDy);
	glEnd();
}
Não, pois a só existe instrução para DX e DY diferente de 0;
Sim
Não, pois o loop se inicia em 1 e o padrão é aumentando valor;
Sim
Aluno: Rafael das Mercês Canellas Guilherme da Silva
Mat: 20101102933
 (BÔNUS)
	#include <GL/glut.h>
#include <stdlib.h>
int x1 = 10, y1 = 10, x2 = 150, y2 = 150; 
void init(void);
void display(void);
void keyboard(unsigned char key, int x, int y);
void DesenhaReta(int x1_, int y1_, int x2_, int y2_);
int main(int argc, char** argv){
 glutInit(&argc, argv);
 glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
 glutInitWindowSize (256, 256);
 glutInitWindowPosition (100, 100);
 glutCreateWindow ("Desenhando uma linha");
 init();
 glutDisplayFunc(display);
 glutKeyboardFunc(keyboard);
 glutMainLoop();
 return 0;
}
void init(void){
 glClearColor(1.0, 1.0, 1.0, 1.0); 
 glOrtho (0, 256, 0, 256, -1 ,1);
} 
void display(void){
 glClear(GL_COLOR_BUFFER_BIT);
 glColor3f (0.0, 0.0, 0.0); 
 DesenhaReta(x1,y1,x2,y2);
 glFlush();
}
void keyboard(unsigned char key, int x, int y){
 switch (key) {
 case 27:
 exit(0);
	 break;
 }
}
void DesenhaReta(int x1_, int y1_, int x2_, int y2_){
	int DX = (x2_ - x1_);
	int DY = (y2_ - y1_);
	int Ax;
	int Ay;
	int DA;
	int X;
	int Y;
	int i;
	if(DY > DX){
		if(DX != 0){
			Ax = DX/DY;
			Ay = DY/DY;
			DA = DY;
		}
	}else{
		if(DY != 0){
			Ax = DX/DX;
			Ay = DY/DX;
			DA = DX;
		}
	}
	X = x1_;
	Y = y1_;
	glBegin(GL_POINTS);
	for(i=1; i<=DA;i++){
		glVertex2i(X,Y);
		X = X+Ax;
		Y = Y+Ay;
	}
	glEnd();
}

Continue navegando