Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:
Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro

graficar

Preguntas y respuestas sobre el lenguaje de programacion C/C++

graficar

Notapor navarro el Jue Nov 08, 2007 10:32 pm

saludos...
estoy haciendo un programa que me grafique valores de X y Y
los cuales tengo guardados en arreglos...
x[i] y Y[i]
tengo el plano pero estoy utilizando pixeles....
pero los pixeles se utilizan con medidas mas grandes que las que me dan de resultado la ecuacion
(habra alguna otra forma...? q no sean pixeles...)

dejo una parte del codigo en la cual imprimo en pantalla el plano...
Código: Seleccionar todo

  xmax = getmaxx();
   ymax = getmaxy();

   /* draw a diagonal line 479 es el tope y 239.5 es la mitad*/
   line(0, 239.5, xmax, 239.5);
   /*tope es 639 de ancho es el tope y 319.5 es la mitad*/
line(319.5, 0, 319.5, ymax);
//rayitas
int i,yy=10,xx=10;
 
       
       
//************************PINTO RAYITAS EN EJE DE LAS X
for(i=0;i<47;i++)
      {
         line(317, yy, 321, yy);
         yy=yy+10;         
      }
       
       
       
//************************PINTO RAYITAS EN EJE DE LAS Y       
for(i=0;i<63;i++)
      {
      line(xx, 236, xx, 241);
      xx=xx+10;
      }
     



en el siguiente pedazo de codigo trato de graficar pero me salen los puntos endonde no deben...
Código: Seleccionar todo

for(i=0;i<total;i++)
putpixel( x[i], y[i], 45 );



gracias de antemano....
navarro
Novato
Novato
 
Mensajes: 1
Registrado: Jue Nov 08, 2007 10:07 pm

Re: graficar

Notapor ivancp el Lun Nov 12, 2007 10:24 am

El punto de origen de la pantalla (0,0) es en la esquina superior izquierda, tienes que tomar eso en cuenta.

Ahora, el codigo para dibujar la curva devería ser algo asi:

Código: Seleccionar todo
moveto(x[0], y[0]);
  for(i=1;i<total;i++)
  lineto( x[i], y[i], 45 );


Posiblemente necesites convertir los numeros a alguna escala. ¿Podrías mostrarnos un grupo de datos que pertenezcan a x,y?
ivancp
Programador
Programador
 
Mensajes: 241
Registrado: Jue Sep 06, 2007 12:57 pm


Volver a C/C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados