Tp1 II B2.c : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Page créée avec « retour à la page précédente #include <stdio.h> #include <math.h> #include "SVGlib.h" #define N 100 void tracerFenetre(int xdeb,int ydeb,int xfin, int yf... »)
 
m
 
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Tp_II|retour à la page précédente]]
+
{{RetourVers/TpII}}
  
#include <stdio.h>
+
<source lang="c">
#include <math.h>
+
#include <stdio.h>
#include "SVGlib.h"
+
#include <math.h>
#define N 100
+
#include "SVGlib.h"
void tracerFenetre(int xdeb,int ydeb,int xfin, int yfin,float x[N],float y[N]);<br>
+
#define N 100
main(){
+
void tracerFenetre(int xdeb,int ydeb,int xfin, int yfin,float x[N],float y[N]);
  int i;
+
 
  float xmin,xmax,x[N],y[N];
+
main(){
  xmin=0;
+
int i;
  xmax=4;
+
float xmin,xmax,x[N],y[N];
// génération de points
+
xmin=0;
  for (i=0;i<N;i++) {
+
xmax=4;
    x[i]=xmin + i*(xmax-xmin)/N;
+
// génération de points
    y[i]=sin(x[i]*x[i]);
+
for (i=0;i<N;i++) {
  }
+
  x[i]=xmin + i*(xmax-xmin)/N;
  SVGopen(640,480);
+
  y[i]=sin(x[i]*x[i]);
  tracerFenetre(10,10,329,240,x,y);
+
}
  SVGClose();
+
SVGopen(640,480);
  return 0;
+
tracerFenetre(10,10,329,240,x,y);
}<br>
+
SVGClose();
void tracerFenetre(int xdeb,int ydeb,int xfin, int yfin,float x[N],float y[N]){
+
return 0;
  int i,xp1,yp1,xp2,yp2;
+
}
  float xmin,xmax,ymin,ymax;
+
 
  xmin = x[0];
+
void tracerFenetre(int xdeb,int ydeb,int xfin, int yfin,float x[N],float y[N]){
  xmax = x[N-1];
+
int i,xp1,yp1,xp2,yp2;
// calcul des min max de la fonction
+
float xmin,xmax,ymin,ymax;
  ymin=ymax=y[0];
+
xmin = x[0];
  for (i=1;i<N;i++) {
+
xmax = x[N-1];
  if (y[i] > ymax) ymax = y[i];
+
// calcul des min max de la fonction
  if (y[i] < ymin) ymin = y[i];
+
ymin=ymax=y[0];
  }
+
for (i=1;i<N;i++) {
// tracé de courbe + fenetre
+
  if (y[i] > ymax) ymax = y[i];
  SVGrectangleVide(xdeb, ydeb, xfin-xdeb, yfin-ydeb);
+
  if (y[i] < ymin) ymin = y[i];
  for (i=1;i<N;i++) {
+
}
    xp1=xdeb+(xfin-xdeb)*(x[i-1]-xmin)/(xmax-xmin);
+
// tracé de courbe + fenetre
    yp1=yfin-(yfin-ydeb)*(y[i-1]-ymin)/(ymax-ymin);//-ydeb ajouté ici
+
SVGrectangleVide(xdeb, ydeb, xfin-xdeb, yfin-ydeb);
    xp2=xdeb+(xfin-xdeb)*(x[i]-xmin)/(xmax-xmin);
+
for (i=1;i<N;i++) {
    yp2=yfin-(yfin-ydeb)*(y[i]-ymin)/(ymax-ymin);//-ydeb ajouté ici
+
  xp1=xdeb+(xfin-xdeb)*(x[i-1]-xmin)/(xmax-xmin);
    SVGline(xp1,yp1,xp2,yp2,0xFF0000);
+
  yp1=yfin-(yfin-ydeb)*(y[i-1]-ymin)/(ymax-ymin);//-ydeb ajouté ici
  }
+
  xp2=xdeb+(xfin-xdeb)*(x[i]-xmin)/(xmax-xmin);
 +
  yp2=yfin-(yfin-ydeb)*(y[i]-ymin)/(ymax-ymin);//-ydeb ajouté ici
 +
  SVGline(xp1,yp1,xp2,yp2,0xFF0000);
 
  }
 
  }
 +
}
 +
</source>
  
[[Tp_II|retour à la page précédente]]
+
{{RetourVers/TpII}}

Version actuelle datée du 15 décembre 2012 à 19:17

retour vers la page des Tps II

#include <stdio.h>
#include <math.h>
#include "SVGlib.h"
#define N 100
void tracerFenetre(int xdeb,int ydeb,int xfin, int yfin,float x[N],float y[N]);

main(){
 int i;
 float xmin,xmax,x[N],y[N];
 xmin=0;
 xmax=4;
// génération de points
 for (i=0;i<N;i++) {
   x[i]=xmin + i*(xmax-xmin)/N;
   y[i]=sin(x[i]*x[i]);
 }
 SVGopen(640,480);
 tracerFenetre(10,10,329,240,x,y);
 SVGClose();
 return 0;
}

void tracerFenetre(int xdeb,int ydeb,int xfin, int yfin,float x[N],float y[N]){
 int i,xp1,yp1,xp2,yp2;
 float xmin,xmax,ymin,ymax;
 xmin = x[0];
 xmax = x[N-1];
// calcul des min max de la fonction
 ymin=ymax=y[0];
 for (i=1;i<N;i++) {
  if (y[i] > ymax) ymax = y[i];
  if (y[i] < ymin) ymin = y[i];
 }
// tracé de courbe + fenetre
 SVGrectangleVide(xdeb, ydeb, xfin-xdeb, yfin-ydeb);
 for (i=1;i<N;i++) {
   xp1=xdeb+(xfin-xdeb)*(x[i-1]-xmin)/(xmax-xmin);
   yp1=yfin-(yfin-ydeb)*(y[i-1]-ymin)/(ymax-ymin);//-ydeb ajouté ici
   xp2=xdeb+(xfin-xdeb)*(x[i]-xmin)/(xmax-xmin);
   yp2=yfin-(yfin-ydeb)*(y[i]-ymin)/(ymax-ymin);//-ydeb ajouté ici
   SVGline(xp1,yp1,xp2,yp2,0xFF0000);
 }
}

retour vers la page des Tps II