area of intersection between a circle and polygon
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ananya Malik
am 3 Sep. 2018
Kommentiert: Adam Fleetwood
am 6 Dez. 2020
x = 0;y = 0; r = 0.5;
th = 0:pi/50:2*pi;
xunit = r * cos(th) + x;
yunit = r * sin(th) + y;
h = plot(xunit, yunit);
poly1 = polyshape([0 0 1 1],[1 0 0 1]);
plot(poly1)
I want to find the area of intersection (in units) between a circle and polygon as given above. Any help would be greatly appreciated. TIA.
0 Kommentare
Akzeptierte Antwort
Akira Agata
am 3 Sep. 2018
One possible way is generating intersection by intersect function, and calculate it's area by area function. The following is an example.
x = 0; y = 0; r = 0.5;
th = 0:pi/50:2*pi;
xunit = r * cos(th) + x;
yunit = r * sin(th) + y;
poly0 = polyshape(xunit(1:end-1),yunit(1:end-1));
poly1 = polyshape([0 0 1 1],[1 0 0 1]);
poly2 = intersect(poly0,poly1);
area(poly2)
The result is:
>> area(poly2)
ans =
0.1962
4 Kommentare
Adam Fleetwood
am 6 Dez. 2020
I have tried using something similar for a project, but am getting an error that states, "unable to use a value of type polyshape as an index'. I tried using this exact code shown above, and still got that error. Any idea why?
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Elementary Polygons finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!