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;
}