area of intersection between a circle and polygon
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ananya Malik
el 3 de Sept. de 2018
Comentada: Adam Fleetwood
el 6 de Dic. de 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 comentarios
Respuesta aceptada
Akira Agata
el 3 de Sept. de 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 comentarios
Adam Fleetwood
el 6 de Dic. de 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?
Más respuestas (0)
Ver también
Categorías
Más información sobre Elementary Polygons en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!