Overlapping co-ordiantes of rectangles fail to print in python
BartC
bc at freeuk.com
Thu Nov 17 15:50:48 EST 2016
On 17/11/2016 14:27, arunsocs at gmail.com wrote:
> I am working with following code in which I am trying to output co ordinates of overlapping rectangles.. However the code fails to output the co ordinates. I am customizing the following code This is the input
>
> 1.6 1.2 7.9 3.1
> 1.2 1.6 3.4 7.2
> 2.6 11.6 6.8 14.0
> 9.6 1.2 11.4 7.5
> 9.6 1.7 14.1 2.8
(Is there a line count at the start of the file?)
> sign = -1
> area = sum( map( lambda x: x.area, rectangles) )
>
> for i in range(2,len(rectangles)+1):
> for rects in combinations( rectangles, i ):
> intersections = [rects[0]]
> rects = rects[1:]
> for rectangle in rects:
> newintersections = []
> for otherR in intersections:
> newintersections.extend( rectangle.intersect(otherR) )
>
> intersections = newintersections
> print intersections
>
> #intersectingArea = sum( map( lambda x: x.area, intersections ) )
> #rea = area + (sign * intersectingArea)
>
> sign = sign*-1
>
> Where I need to change the code to output all overlapping rectangles and its co ordinates?
I tried your code and got a bunch of output, mostly [] lines like this:
[]
[]
[]
[]
[]
[[Point(x=1.6, y=1.6),Point(x=3.4, y=3.1)]]
[]
[]
[[Point(x=1.6, y=1.6),Point(x=3.4, y=3.1)]]
[]
What output did you expect for this input data?
(I plotted your data and out of five rectangles A,B,C,D,E (not in the
same order as your data), then A and B overlap, as do C and D, while E
is by itself.
Did you want the output to be, for example, A and B, with the
coordinates of the common region, and the same for C and D?
What happens if 3 or more rectangles overlap?
What about if A overlaps B; B overlaps C; C overlaps D; and D overlaps
A? Suppose then that all those are contained within E?
You need some specifications. I assume all rectangles are horizontally
aligned (they have to be with just 4 coordinates), and the input data
normalised so that the top-left corner appears first.)
--
Bartc
More information about the Python-list
mailing list