Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Soquita

#1
Cita de: engel lex en  9 Abril 2015, 02:23 AM
intersección de rectangulos... primero imagen explicativa...



en caso de estar paralelos al eje

lo primero que hay que hallar son los 2 vertices más extremos horizontales y verticales

horizontales: 1,3,7,8
verticales: 1,2,3,4

la interseccion en cada eje son los vertices que no pertenecen a los extremos

así que

horizotales: 2,4,5,6
verticales: 5,6,7,8

como estamos separandolos por eje entonces sabemos que (le daré nombre)

X2 = X4 -> XI
X5 = X6 -> XII

Y5 = Y7 -> YI
Y6 = Y8 -> YII

lo que nos resulta en 2 X y 2 Y para crear 4 coordenadas

(XI,YI) -> punto A en el grafico
(XI,YII) -> punto B en el grafico
(XII,YI) -> punto 5 en el grafico
(XII,YII) -> punto 6 en el grafico

y con esto ya tenemos todas las coordenadas de nuestro rectángulo intersección

espero se entienda!  ::)

Entiendo todo lo que explicas y te lo agradezco porque se nota que esta persona también también estuvo en el mismo curso que estoy ahora.  Mi problema es llevarlo al código, por favor me puedes indicar si me quedó bien escrito o esta perverso?... Gracias

// ¡Declara tu estructura rectangular aquí!
struct rectangle {
   int x, y, width, height;
};
// ESCRIBE ESTA FUNCION
rectangle canonicalize(rectangle r) {
r.x=abs(r.x);
r.y=abs(r.y);
r.width=abs(r.width);
r.height=abs(r.height);
  return r;
}
rectangle intersection(rectangle r1, rectangle r2) {
// ESCRIBE ESTA FUNCION
  r1.x=(r1.x,r2.x);
  r1.y= (r1.y,r2.y);
  r1.width=(r1.width,r2.width);
  r1.height=(r1.height,r2.height);                                                                                                                                                                             
  return r1;
}