Hi all, I have multiple rectangles defined by the rectangle() function, as seen in picture 1. The Hight and Width of the rectangles are variables. The positions of the rectangles are affected by each other, so if if the red rectangle gets bigger, the other rectangles will shift along the x- and y- axes.
I want to calculate the overall Area, so basically as shown in picture 2, the area between the axes and the outermost rectangle boundaries.
Any help is appreciated, thanks!

 채택된 답변

Matt J
Matt J 2021년 3월 6일
편집: Matt J 2021년 3월 6일

0 개 추천

If you put the rectangles in the form of a polyshape vector, poly, then it is quite easy:
Area= area(union(poly));

댓글 수: 7

Tobias Eißler
Tobias Eißler 2021년 3월 6일
So you mean, building 1 polyshape vector from outermost points of the rectangles (from points on the drawn red line)?
Matt J
Matt J 2021년 3월 6일
편집: Matt J 2021년 3월 6일
No, a vector of polyshape rectangles. E.g.,
poly(1)=polyshape([0,0; 0 1; 1 1 ; 1 0 ]); %first rectangle
poly(2)=polyshape([0.5,0.5; 0.5 2; 2 2 ; 2 0.5 ]); %second rectangle
plot(poly)
Area = area(union(poly))
Area = 3
Tobias Eißler
Tobias Eißler 2021년 3월 6일
I didn't know it was possible like that, thanks a lot!
Tobias Eißler
Tobias Eißler 2021년 3월 6일
Do you know if there is a simple replacement for polyshape ? MATLAB R2016b doesnt have the function
Matt J
Matt J 2021년 3월 6일
No, not unless you can find something on the File Exchange. You can't upgrade?
Tobias Eißler
Tobias Eißler 2021년 3월 6일
sadly not, it is not my personal version but the one at the institute im working at.
but thanks again for your help! much appreciated!
Matt J
Matt J 2021년 3월 7일
Ask them to upgrade...

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Polygonal Shapes에 대해 자세히 알아보기

제품

질문:

2021년 3월 6일

댓글:

2021년 3월 7일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by