/* Primero circunferencia, tras la transformación de Yukovski el perfil */
int perfil(float * dperfil, float * opc, float * opp, float * opf)
{
	int i;

	// Matriz Nx2 que almacenará los puntos de la circunferencia
	float ** circunferencia;
	circunferencia = (float **) malloc(N * sizeof(float *)); // Reserva de memoria para cada vector

	for (i=0; i < N; i++)
	{
		circunferencia[i] = (float *) malloc(2 * sizeof(float)); // Reserva de memoria para las dos coordenadas del vector
	}

	// Toma de datos para el perfil
	do
	{
		datos_perfil (dperfil);
	} while (limites(dperfil) == 0);

	// Calcula los puntos de la circunferencia
	matriz_circunferencia(dperfil, circunferencia);

	// Guarda los puntos de la circunferencia en el archivo pts_circunferencia.dat
	if (imprimir_circunferencia(circunferencia)) // Si la apertura falla vuelve al menú
		menu(0, dperfil, opc, opp, opf);

	// Imprime la circunferencia con GNU Plot
	plotc(dperfil, opc);

	// Aplica la transformación de Yukovski a los puntos de la circunferencia para obener los del perfil
	transformacion_yukovski(dperfil, circunferencia);

	// Guarda los puntos del perfil en el archivo pts_perfil.dat
	if (imprimir_perfil(circunferencia)) // Si la apertura falla vuelve al menú
		menu(0, dperfil, opc, opp, opf);

	// Imprime el perfil con GNU Plot
	plotp(dperfil, circunferencia, opp);

	
	return 0;
}
/* Límites para el cálculo del flujo complejo en el perfil */
int limites_imaginario(float *dperfil)
{
	if (limites(dperfil)==0)
		return 0;

	if (dperfil[0]<=0)
	{
		printf("\033[31mValores no válidos (Xc<=0)"); 
		printf("\033[0m\n");	
		return 0;
	}

	if (dperfil[0]<0)
	{
		printf("\033[31mValores no válidos (Yc<0)"); 
		printf("\033[0m\n");	
		return 0;
	}

	return 1;
}
Exemple #3
0
int main()
{
	initscr();
	start_color();
	init_pair(1, COLOR_GREEN, COLOR_BLACK);
	init_pair(2, COLOR_BLUE, COLOR_BLACK);
	init_pair(3, COLOR_RED, COLOR_BLACK);
	init_pair(4, COLOR_YELLOW, COLOR_BLACK);
	init_pair(5, COLOR_WHITE, COLOR_BLACK);


    int x =37;
    int y =22;
    int t;

    curs_set(0);
    keypad(stdscr, TRUE);
    noecho();
    //attron(COLOR_PAIR(1));

	//attroff(COLOR_PAIR(1));
    while (1)
    {
attron(COLOR_PAIR(5));
nave(x,y);
attroff(COLOR_PAIR(5));

attron(COLOR_PAIR(1));
limites();
attroff(COLOR_PAIR(1));

attron(COLOR_PAIR(2));
mon1(22,4);
attroff(COLOR_PAIR(2));

attron(COLOR_PAIR(3));
mon2(12,4);
attroff(COLOR_PAIR(3));

attron(COLOR_PAIR(4));
mon3(50,4);
attroff(COLOR_PAIR(4));

attron(COLOR_PAIR(1));
mvprintw( 2,8,"puntaje:0 ");
attroff(COLOR_PAIR(1));


        t = getch();
        switch(t){
        case KEY_DOWN:
        (y<25) ? y++: 0;
        clear();
            break;
        case KEY_UP:
        (y>4) ? y--: 0;
        clear();
            break;
        case KEY_LEFT:
        (x>3) ? x--: 0;
        clear();
            break;
        case KEY_RIGHT:
        (x<70) ? x++: 0;
        clear();
            break;
        }
        refresh();
    }
    endwin();
    return 0;
}