#include #include #include #include #include "courbe.h" #define PI 3.1416 /////////////////////////////////////////////// double xy2teta( double x, double y ) { double teta; teta = asin(y/sqrt(x*x+y*y) ); return teta; } /////////////////////////////////////////////// double xy2r( double x, double y ) { double r; r = sqrt( x*x + y*y ); return r; } /////////////////////////////////////////////// double rteta2x( double r, double teta ) { double x; x = r * cos(teta); return x; } /////////////////////////////////////////////// double rteta2y( double r, double teta ) { double y; y = r * sin(teta); return y; } /////////////////////////////////////////////// void main() { double xMin = -4; double xMax = 4; double yMin = -3; double yMax = 3; // On change le mode video if( InitGraphics("c:\\turboc3\\bgi") != 0 ) { int errorcode = graphresult(); printf("Erreur d'initialisation : %s\n", grapherrormsg(errorcode)); getch(); return; } // On indique l'echelle // (pour cos, de 0 a PI sur x et de -1 a 1 sur y ) if( SetGraphicsScale( xMin, xMax, yMin, yMax ) != 0 ) { printf( "Echelle incorrecte\n" ); getch(); return; } // Fond blanc setbkcolor( WHITE ); // On dessine les axes X et Y en bleu DrawGraphicsAxys( BLUE, 1, 1, "Axe des X", "Axe des Y" ); // On dessine une elipse en rouge // x = 3 * cos( teta ) // y = 2 * sin( teta ) setcolor(RED); for( double teta = 0; teta < 2 * PI; teta+= 0.01 ) { double x,y; x = rteta2x( 3, teta ); y = rteta2y( 2, teta ); putpixel( xGraphics2Screen(x), yGraphics2Screen(y), RED ); } // On laisse a l'utilisateur le temps d'admirer // la courbe getch(); // On restore le mode texte DestroyGraphics(); }