Hola de antemano le agradesco q me ayuden
  bueno lo q deseo es q me ayuden para dibujar la interseccion de dos figuras, 
he tratado con la funcion floodfill para hallar un puntos q este en la 
interseccion de las dos figuras y de ah9 pasrles esa coordenadas a la funcion 
floodfill la cual rellenara hasta encontrar bordes pero parece q mi algrtimo 
sta mal porq siempre el punto q encentra es uno q esta afuera de las dos 
figuras y rellena la parte de afuera.
  Les paso la clase cuadradop pero en realida son varias figuras q heredean de 
figura de poligono en fin....
   
  class Cuadrado : public Figura
{
 protected:
 int lado;
 public:
 Cuadrado();
 Cuadrado(int l,Punto o);
 void setlado(int l);
 void setorig(Punto o);
 Punto get_Vertice(int i);
 void grafica();
 double area();
 double perimetro();
 int get_inter(int a,int b);
 void grafica_inter(Punto o1);
 void mayor(int& a,int& b);
};
Cuadrado :: Cuadrado():Figura()
{
 lado=0;
  }
Cuadrado :: Cuadrado(int l, Punto o):Figura(o)
{
lado=l;
  }
void Cuadrado :: setlado(int l)
{
 Punto aux;
 lado=l;
 /*/for(int i=0;i<4;i++)
 {
  aux=get_Vertice(i);
  lados[2*i]=aux.get_x();
  lados[2*i+1]=aux.get_y();
 }   */
}
void Cuadrado :: setorig(Punto o)
{
 orig=o;
}
Punto Cuadrado :: get_Vertice(int i)
{
 int x,y;
 Punto aux;
 switch(i)
 {
  case 0:
 x=orig.get_x();
 y=orig.get_y();break;
  case 1:
 x=orig.get_x();
 y=orig.get_y()-lado;break;
  case 2:
 x=orig.get_x()+lado;
 y=orig.get_y()-lado;break;
  case 3:
 x=orig.get_x()+lado;
 y=orig.get_y();break;
  
 }
 return Punto(x,y);
}
void  Cuadrado :: mayor(int& a,int& b)
{
 int aux;
 if(a<b)
 {
  aux=a;
  a=b;
  b=aux;
 }
  }
void Cuadrado :: grafica()
{
 int x1,y1,x2,y2;
 Punto aux;
 for(int i=1;i<=3;i++)
 {
  aux=get_Vertice(i);
  x1=orig.get_x();
  y1=orig.get_y();
  x2=aux.get_x();
  y2=aux.get_y();
  line(x1,y1,x2,y2);
  x1=x2;
  y1=y2;
   }
 line(x1,y1,orig.get_x(),orig.get_y());
}
double Cuadrado :: area()
{
 return(pow(lado,2));
}
double Cuadrado :: perimetro()
{
 return 4*lado;
}
  //en cuentra un numero q esta entre esos dos rangos q son los limites de la 
intersccion
  int Cuadrado :: get_inter(int a,int b)
{
 int n;
 int ea,eb;
   n=(a+ rand() % (b-1) );
 return n;
}
void Cuadrado :: grafica_inter(Punto o1)
{
 int base1,base2,alt1,alt2,b,h;
 base1=orig.get_x();
 base2=o1.get_x();
 alt1=orig.get_y();
 alt2=o1.get_y();
   if(base2-base1<lado)
 {
  //punto en el eje x
  b=get_inter(base1,base2);
  mayor(alt2,alt1);
  //alt2 debe ser el mayor
  //punto en el eje y
  h=get_inter(alt1,alt2);
  floodfill(b,h,9);
 }
  }
  Bueno es o es todo no kiero necesariamnte el codigo sino q me dan una idea de 
algoritmo q necesito para hallar un punto q este dentro de la interseccion de 
las dos figuras

       
---------------------------------

¿Con Mascota por primera vez? - Sé un mejor Amigo
Entra en Yahoo! Respuestas.
  
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a