Remove overlapping areas of 663 rectangles
조회 수: 6 (최근 30일)
이전 댓글 표시
As in the first image (Figure 1), I am trying to remove the overlaps of 663 intersecting rectangles, and have the outmost lines visible. The second image (Figure 2) presents an example with two intersecting rectangle. I have attached an EXCEL file containing the coordinates of all the rectangles. I've stuck with this problem, please help me.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/193926/image.jpeg)
Figure 1
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/193928/image.jpeg)
Figure 2
댓글 수: 4
채택된 답변
Bruno Luong
2018년 11월 6일
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/194308/image.png)
data = xlsread('Rectangle points.xlsx');
data = reshape(data,[],2,4);
data = permute(data,[2 3 1]);
n = size(data,3);
p = arrayfun(@(k) polyshape(data(1,:,k),data(2,:,k)), 1:n);
q = p(1);
for k=2:n
q = union(q,p(k));
end
plot(q)
axis equal
댓글 수: 9
Bruno Luong
2018년 11월 19일
Sorry I do not know any built-in data structure that can store a volume in 3D by plannar faces, beside convex hul (but in your case it is not convex at all), let alone doing operation on it.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!