Problema al imprimir variables globales
Publicado por kirby21 (5 intervenciones) el 06/09/2020 02:44:30
Buen dia gente, lo que pasa es que hice el algoritmo para dibujar una linea(DDA Simetrico), funciona pero me piden imprimir los valores de m, n y epsilon, el programa dibuja bien la linea, pero a la hora de imprimir los valores salen en 0 todos, quisiera alguna recomendacion/ ayuda.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <GL/glut.h>
#include <stdio.h>
#include <math.h>
int xi, yi, xf, yf, n;
double eps, m;
void inicializa(void){
glClearColor(0.85, 0.35,1.0,0.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,600.0,0.0,600.0);
}
void DDASimetrico(void){
n=1;
bool band=false;
double dx, dy, x, y;
dx=xi-xf;
dy=yi-yf;
if(fabs(dx)>fabs(dy))
m=fabs(dx);
else
m=fabs(dy);
while(band==false){
if(pow(2,n-1)<=m && m<pow(2,n)){
eps=1.0/(pow(2,n));
band=true;
}
else
n++;
}
x=xi;
y=yi;
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex2i((int)x, (int)y);
glEnd();
for(int i=1;i<=m;i++){
x=x+eps*dx;
y=y+eps*dy;
glBegin(GL_POINTS);
glVertex2i((int)x, (int)y);
glEnd();
}
glFlush();
}
int main(int argc, char** argv){
glutInitWindowSize(600,600);
glutInit(&argc,argv);
glutCreateWindow("-DDA SIMETRICO-");
inicializa();
printf("Dame xi: ");
scanf("%d", &xi);
printf("Dame yi: ");
scanf("%d", &yi);
printf("Dame xf: ");
scanf("%d", &xf);
printf("Dame yf: ");
scanf("%d", &yf);
glutDisplayFunc(DDASimetrico);
printf("Valor m: %lf\n",m);//AQUI ES DONDE SE IMPRIMEN LOS VALORES
printf("Valor n: %i\n",n);
printf("Valor epsilon: %lf\n",eps);
glutMainLoop();
return 0;
}
Valora esta pregunta
0