Foros DeCeMuLaDoReS

Retroceder   Foros DeCeMuLaDoReS > PC > Programación

Programación Escribe aquí todo lo relacionado sobre programación, ya sea C, C++, PHP, etc, etc...

Respuesta
 
LinkBack Herramientas
  #1 (permalink)  
Antiguo 03-Mar-2007, 06:46
ninio es como un diamante en bruto ninio es como un diamante en bruto ninio es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 14-January-2007
Mensajes: 228
Posts agradecidos: 1
Agradecido 0 veces en 0 posts
Predeterminado [Tuto][C] Gráficos 2D simples bajo windows

................................
__________________
I was just a shadow...

Última edición por ninio; 20-Sep-2007 a las 22:12
Responder Citando
  #2 (permalink)  
Antiguo 03-Mar-2007, 18:36
Avatar de Zenbaku
Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 21-January-2007
Mensajes: 604
Posts agradecidos: 27
Agradecido 72 veces en 36 posts
Predeterminado

Genial, me apunto

Ya antes había dibujado cosas pero en python.

Sólo que tengo un problema, y que me empezó a sucede ahora que instalé el wxDevCpp.
Resulta que antes tenía instalado el Dev-C++, e instalé también wxDevCpp, y cada vez, luego de compilar, cuando trataba de correr el programa, me daba un error "Source code not compiled".

Ok, desinstalé ambos, reinicié. Instalé el wxDevCpp, y lo mismo, compilo, corro, y me tira el error :S (un cuadro de diálogo)

Y no sé por qué suceda.
__________________
Responder Citando
  #3 (permalink)  
Antiguo 04-Mar-2007, 06:48
ninio es como un diamante en bruto ninio es como un diamante en bruto ninio es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 14-January-2007
Mensajes: 228
Posts agradecidos: 1
Agradecido 0 veces en 0 posts
Predeterminado

Hola, lo único que se me ocurre es que de la carpeta de tu proyecto borres todos los archivos auxiliares que el compilador te crea, es decir, solo quédate con el .dev los .c y los .h e intenta compilar de nuevo.

PD Crea una copia primero del proyecto, no vaya a ser...
__________________
I was just a shadow...
Responder Citando
  #4 (permalink)  
Antiguo 05-Mar-2007, 20:56
Avatar de Zenbaku
Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 21-January-2007
Mensajes: 604
Posts agradecidos: 27
Agradecido 72 veces en 36 posts
Predeterminado

Listo, ya lo arreglé, si bien no era lo que tu decías, iba por ahí. Me fijé en los resultados que arrojaba el compilador, si había un problema con las carpetas. Así que lo desinstalé, limpié el registro, y volví a instalar esta vez en C:/

Ahora funciona

Apenas tenga algún avance lo posteo acá


EDIT

Bueno, ya terminé algo, a ver que te parece, estuve un buen rato, pero al final creo que entendí muchas cosas, aún así, hay cosas que preferí no mirar xDD

A ver qué opinas

http://download.jupiter.come2store.com/Zenbaku/zen1.rar
__________________
Responder Citando
  #5 (permalink)  
Antiguo 05-Mar-2007, 21:25
ninio es como un diamante en bruto ninio es como un diamante en bruto ninio es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 14-January-2007
Mensajes: 228
Posts agradecidos: 1
Agradecido 0 veces en 0 posts
Predeterminado

¡Muy bien!, yo lo llamaría "Autoretrato" :tongue: , bueno me imagino.

Te recuerdo que aún faltan un par de lecciones, espero les des un vistazo. Veo que incluso añadiste un menú, daré una explicación un poco más a fondo de los menús para que tengan un uso práctico. Y yo creo que en otro tutorial mostraré un poco del uso del ratón.

Espero otros usuarios también estén siguiendo el tutorial
__________________
I was just a shadow...
Responder Citando
  #6 (permalink)  
Antiguo 30-Mar-2007, 05:00
Avatar de Zenbaku
Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 21-January-2007
Mensajes: 604
Posts agradecidos: 27
Agradecido 72 veces en 36 posts
Predeterminado

Bueno, esta noche le he dedicado unas horas a esto, ya había faltado mucho a esta clase

Aquí está mi trabajo, por ahora sólo trata de la lección sobre líneas:

http://www.sendspace.com/file/gdgmue

Igual este no me dejó satisfecho, por alguna razón las elipses y rectángulos cargan de inmediato, y las líneas se tardan >.<

También logré entender un poco más el funcionamiento de los menús.

Así que estoy contento, mañana haré más.

Saludos!


PD: Lo de las funciones me tiene deseoso xD

Edit
Síp, ya estudié funciones en el colegio, no soy un experto, pero entiendo bien lo referente al plano cartesiano y las características de las funciones, así que por mientras, estoy trabajando en las elipses esas, imagino que para mañana tendré varios resultados más, podría poner uno ahora, pero es muy poco >.<.
__________________
Responder Citando
  #7 (permalink)  
Antiguo 31-Mar-2007, 00:36
ninio es como un diamante en bruto ninio es como un diamante en bruto ninio es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 14-January-2007
Mensajes: 228
Posts agradecidos: 1
Agradecido 0 veces en 0 posts
Predeterminado

(>.<)

Con respecto a los menus pues creo que lo único que no explique es que cuando tu presionas una opción de un menú dado, se emite un mensaje el cual se captura empleando la constante que usaste al insertar el menú.

Por ejemplo, en el caso del menú que coloqué:

Código:
void insertarMenu(HWND hWnd)
{
   HMENU hMenu1, hMenu2;

   hMenu1 = CreateMenu();
   hMenu2 = CreateMenu();

   AppendMenu(hMenu1, MF_STRING | MF_POPUP, (UINT)hMenu2, "&Archivo");

   AppendMenu(hMenu2, MF_STRING, CM_ABRIR, "&Abrir");
   AppendMenu(hMenu2, MF_SEPARATOR, 0, NULL);
   AppendMenu(hMenu2, MF_STRING, CM_SALIR, "&Salir");

   SetMenu (hWnd, hMenu1);
}
Por ejemplo la opción Abrir del menu Archivo emite un mensaje cuando seleccionas esa opción, el cual puedes capturar en el ciclo de captura de mensajes:


Código:
   switch (iMsg)
   {
      case WM_COMMAND:
         switch(LOWORD(wParam))
         {
            case CM_SALIR:
              PostQuitMessage(0); // Envía un mensaje WM_QUIT a la cola de mensajes
              break;

            case CM_ABRIR:
              // Código que se ejecutará al seleccionar Abrir del menu Archivo
               MessageBox( hwnd, "Apretaste Abrir", "Hola mundo", MB_OK );
              break;
         }
         return 0;
No se si ya hayas visto funciones en la escuela, pero es algo muy importante en todas las áreas científicas y tecnológicas. Y su graficación permite su análisis de manera simple.

PD voy a colocar otra minilección sobre lo de las imágenes donde también comento algunas cosas sobre funciones.

---
Ya coloqué la parte de degradados en el tutorial de creación de imágenes, si usas linux probablemente ya tengas instalado el imagemagick así que basta que le des el comando display 1.pgm para que puedas ver las imágenes de formato netpbm o si no con cualquier visor de linux, bueno, si te interesa ese tutorial.
__________________
I was just a shadow...

Última edición por ninio; 31-Mar-2007 a las 01:38
Responder Citando
  #8 (permalink)  
Antiguo 06-Apr-2007, 23:13
Avatar de Zenbaku
Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 21-January-2007
Mensajes: 604
Posts agradecidos: 27
Agradecido 72 veces en 36 posts
Predeterminado

Buenas Liquid, siento haberme ausentado tanto del salón, pero tuve muchas cosas que hacer, aún así, cuando puse mi anterior resultado ya tenía otro más hecho, pero preferí esperar a ver lo de las funciones.

Trabajo sobre Lección "Ejemplos":

Bueno, este sí me gustó, logré un efecto muy interesante en los ojos del centro (+.+)

http://download.jupiter.come2store.com/Zenbaku/zen3.zip

Revisa la última parte por favor, que dejé unas funciones sin acabar, y quería ver cómo o sí se podría hacer algo como lo que dejé escrito ahí (básicamente no se podía porque era imposible iniciar hdc)

Trabajo sobre Lección: "Funciones"

Este debo admitir que me costó bastante xD
Aqune sabía y tenía las ideas sobre funciones, no pensé que fuera tan distinto hacer algo así en C

Aunque igual pude llegar a un efecto interesante, y le metí u pequeño adorno. La línea curva es la función, y la línea recta es el producto de dibujar esa función a traves de Polygon en vez de Polyline. A mí me gustó.

Y también, como en todos los programas que he hecho en este tuto, seguí metiendo mano a los menús xDDD Así que te toparás con algo nuevo.

http://download.jupiter.come2store.com/Zenbaku/zen4.zip



En fin, ahora empezaré con el de imágenes, ya tengo el dichoso programa, y veré como va todo eso.


Saludos, y Gracias! :biggrin:
__________________
Responder Citando
  #9 (permalink)  
Antiguo 07-Apr-2007, 02:13
ninio es como un diamante en bruto ninio es como un diamante en bruto ninio es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 14-January-2007
Mensajes: 228
Posts agradecidos: 1
Agradecido 0 veces en 0 posts
Predeterminado

Hola, muy bien, veo que aprendes rápido. Cuando vi el primer ejemplo no tenía idea de como le habías hecho para el efecto de los ojos. Después de analizarlo vi el como lo hiciste:



Con una serie de elipses.

Ahora, con respecto a lo de las funciones que declaraste, la razón por la que no funcionan es porque las variables hLapiz y hBrush no son visibles desde la función, esto se debe a que esas variables fueron declaradas dentro de la función ProcedimientoDventana, por lo que solo son visibles para esa función, para lograr que la función que declaraste pueda ver las variables debes pasárselas como argumentos. Esto es:

Antes:
Código:
void escoge()
{
    SelectObject(hdc, hLapiz);SelectObject(hdc, hBrush);
}

void borra()
{
     DeleteObject(hLapiz);DeleteObject(hBrush);
}
Después:
Código:
void escoge(HDC hdc,HPEN hLapiz,HBRUSH hBrush)
{
    SelectObject(hdc, hLapiz);SelectObject(hdc, hBrush);
}

void borra(HPEN hLapiz,HBRUSH hBrush)
{
     DeleteObject(hLapiz);DeleteObject(hBrush);
}
Estas funciones no olvides, deben estar declaradas de preferencia en el archivo main.h

Modifiqué tu código con eso y un ejemplo del uso del menú, te invito a que lo cheques:
http://www.sendspace.com/file/k2wnx3

Con respecto a lo de las funciones, pues igual te quedó muy bien, puedes cambiar la función al principio, en la línea:

Código:
coordsF[i][1]=sin(coordsF[i][0]);
Por ejemplo, revisa el resultado si colocas
Código:
      coordsF[i][1]=sin(5.5*coordsF[i][0])/coordsF[i][0];
Que bueno tener alumnos como tu
__________________
I was just a shadow...
Responder Citando
  #10 (permalink)  
Antiguo 07-Apr-2007, 04:03
Avatar de Zenbaku
Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto Zenbaku es como un diamante en bruto
Especialista DC
 
Fecha de Ingreso: 21-January-2007
Mensajes: 604
Posts agradecidos: 27
Agradecido 72 veces en 36 posts
Predeterminado

O_O!!!

Ohhhhh, el de las funciones me dejó flipando xDDD

Seno aún no me lo enseñan como función, sólo lo he visto de forma trigonométrica en vectores polares. Vaya, al menos es un bonito efecto, no sabía que hubieran funciones que pudieran graficar rectas como esa =S
Esta muy buena

Sobre el otro dev, pues, también quedé así O_O
Esta genial eso de "Cambiar Color", no sabía que se podía hacer algo así. Y me surgen ciertas dudas.

No entiendo muy bien el "orden" de ejecución del programa. Porque por ejemplo, el programa es capaz de cambiar el color de las elipses en medio de su ejecución. Así que supongo que el programa se debe "detener" en ese if, por lo tanto, todo el código que venga despues de ese if, no debería ejecutarse =S o al menos eso creo.

Y la otra duda, es, si puedo hacer una lista desplegable como la que puse en el primer ejemplo, y hacer que ella contenga los colores más importantes (10, por ejemplo) y que el programa cambie el color según la opción de esa lista.
Tengo la idea de que se pueda hacer con un bucle switch, pero tampoco me queda muy claro eso de "capturar mensajes" ya que en el ejemplo se hace una comparación true/false, lo que limita a 2 valores.

En fin, gracias por todo esto, me ayuda mucho :biggrin:
__________________
Responder Citando
Respuesta


(0 miembros y 1 visitantes)
 
Herramientas

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado

Ir al Foro


Torneo DC 2012
Torneo DC 2012

La franja horaria es GMT +1. Ahora son las 21:43.


Desarrollado por: vBulletin® Versión 3.8.2
Derechos de Autor ©2000 - 2012, Jelsoft Enterprises Ltd.
Traducido por mcloud de vBhispano.com
 

Content Relevant URLs by vBSEO 3.2.0