//Función de dibujado void dibujar(void) { float x; float y; float centrox; float centroy; float figura[lados*2]; //*****************************************************[configuracion del renderizado] //glClearColor(0,1,0,1); //Color de fondo glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); //glRotatef(rota,0.0f,0.0f,1.0f); //glTranslatef(rota,0.0f,0.0f); //glTranslatef(1.0f,1.0f,0.0f); //glScalef(rota,rota,1.0f); gluLookAt(0.0, 0.0, 1.0, //donde esta la camara 0.0, 0.0, 0.0, //para donde ve 0.0, 1.0, 0.0); //donde es arriba glColor3f(1,0,0); //************************************************************************************ dibuja(); }
void main(int argc, char const *argv[]) // Para permitir linea de comandos { char *url; char *nombrearchivo = "tiempo.xml"; char direccion[100]; char ciudad[50]; if (argc == 1) // Si se abre el programa sin argumentos { printf(" * -------------------------------------------------------------------------- * \n"); printf(" * meteo.c: Muestra la prevision de los 4 proximos dias de la ciudad deseada. * \n"); printf(" * -------------------------------------------------------------------------- * \n"); printf("\n Nombre de la ciudad: "); fgets(ciudad,50,stdin); // Nos pide una ciudad de maximo 50 caracteres sprintf(direccion, "http://www.google.es/ig/api?weather=%s", ciudad); // Añade la ciudad a la url } else if (argc == 2) // Si la ciudad dada en los argumentos se compone de 1 sola palabra la añade a la url sprintf(direccion, "http://www.google.es/ig/api?weather=%s", argv[1]); else if (argc == 3) // Si la ciudad esta compuesta por 2 palabras sprintf(direccion, "http://www.google.es/ig/api?weather=%s %s", argv[1], argv[2]); else if (argc == 4) // Si la ciudad esta compuesta por 3 palabras sprintf(direccion, "http://www.google.es/ig/api?weather=%s %s %s", argv[1], argv[2], argv[3]); else // Ciudades compuestas por mas de 3 palabras (Existen?) producen error printf("Por favor escribe una ciudad que este compuesta de maximo 3 palabras\n"); replaza(direccion); // Funcion descarga en replace_meteo.h url = direccion; char *contenido = descarga(direccion); // Funcion descarga en curl_meteo.h guarda(contenido); // Funcion guarda en file_meteo.h parsea(nombrearchivo); // Funcion parsea en xml_meteo.h dibuja(); // Funcion dibuja en graph_meteo.h }
int main(int argc, const char **argv){ srand(time(NULL)); srand48(time(NULL)); int ancho, alto; Nave principal[PERSONAJE]; Nave secundaria[ENEMIGO]; inicio(principal, secundaria, ancho, alto); initscr(); getmaxyx(stdscr, ancho, alto); curs_set(0); while(getch() != 27){ naves_ataquen(secundaria, principal); dibuja(principal, secundaria, ancho, alto); } curs_set(1); endwin(); return EXIT_SUCCESS; }
void Coche::dibuja(GLfloat* m, GLfloat t){ if (DEBUG) { //recorre una circunferencia de radio r GLfloat r = 3; m[0] = -cos(t); // vNormal X(); m[1] = 0; // vNormal Y(); m[2] = -sin(t); // vNormal Z(); m[3] = 0; m[4] = 0; // vBinormal X(); m[5] = 1; // vBinormal Y(); m[6] = 0; // vBinormal Z(); m[7] = 0; m[8] = -sin(t); // vTangente X(); m[9] = 0; // vTangente Y(); m[10] = cos(t); // vTangente Z(); m[11] = 0; m[12] = r*cos(t); // curva(t)->getX(); m[13] = 0; // curva(t)->getY(); m[14] = r*sin(t); // curva(t)->getZ(); m[15] = 1; } glMatrixMode(GL_MODELVIEW); glPushMatrix(); glMultMatrixf(m); glScalef(TAM, TAM, TAM); if ((sin(PI/4)<=sin(t) && sin(t)<=sin(PI/2)) || (sin(3*PI / 2) <= sin(t) && sin(t) <= sin(5*PI / 4))) glRotatef(20,0,1,0); if (!DEBUG) glRotatef(180,1,0,0);//ponerlo cabeza abajo para verse mejor en el tubo /// ** COCHE *** dibuja(t); glPopMatrix(); }
void Quesito::dibujaNquesitos(){ glMatrixMode(GL_MODELVIEW); for (int i = 0; i < N; i++){ glPushMatrix(); glRotatef((360 / N)*i, 0.0, 1.0, 0.0); if (N <= 6){ if (i == 0) glColor3f(0.5, 0.0, 1.0); //marron if (i == 1) glColor3f(0.0, 1.0, 0.0); //verde if (i == 2) glColor3f(1.0, 0.0, 1.0); //rosa if (i == 3) glColor3f(1.0, 1.0, 0.0); //amarillo if (i == 4) glColor3f(1.0, 0.6, 0.0); //naranja if (i == 5) glColor3f(0.0, 1.0, 1.0); //celeste } else { for (int k = 0; k < N; k++) if (k <= i && i<(k + 1.1)) //queso 1 glColor3f(0.0, 0.0, 1 - 1.0 / (k + 1)); } dibuja(); glPopMatrix(); } }