how to solve polygon subtract problem?

I subtracted green circle from blue circle. and it returned second polygog like a moon.
but what i want to plot is thrid polygon.
how to subtract polygon liks this?
Thanks

 采纳的回答

but what i want to plot is thrid polygon.
Plot the original polygon overlaid on top of the crescent (moon), but make the original polygon transparent.
p1=nsidedpoly(1000);
p2=nsidedpoly(1000,'Center',[1,0]);
p3=subtract(p1,p2);
plot(p3); hold on
plot(p1,'FaceAlpha',0)

更多回答(1 个)

Express the 2 regions as a polyshape vector:
p1=nsidedpoly(1000);
p2=nsidedpoly(1000,'Center',[1,0]);
p3=subtract(p1,p2);
p4=intersect(p1,p2);
pFinal=[p3,p4];
h=plot(pFinal);
h(2).FaceColor='none';

类别

帮助中心File Exchange 中查找有关 Elementary Polygons 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by