How to plot the exterior edges only of an alphaShape

7 visualizaciones (últimos 30 días)
Mustafa Al Homsi
Mustafa Al Homsi el 18 de Mzo. de 2019
Comentada: Román Comelli el 1 de Feb. de 2022
I am trying to plot an alphaShape using the code below
x = rand(10,1)*5;
y = rand(10,1)*5;
shape = alphaShape(x,y);
alphas = alphaSpectrum(shape);
shape.Alpha = alphas(1);
ax = app.mapPlt;
plot(shape,'Parent',ax,'EdgeColor','none','LineStyle','--','LineWidth',0.75);
When I plot this shape, the exterior edges are blank. Changing the last line to
plot(shape,'Parent',ax,'EdgeColor','black','LineStyle','--','LineWidth',0.75);
will plot the exterior esdges but it will also plot the the interior edges. Is there a way to plot the exterior edges only?

Respuestas (1)

John D'Errico
John D'Errico el 19 de Mzo. de 2019
Editada: John D'Errico el 20 de Mzo. de 2019
When you have a problem like this, learn how to investigate what you can do with the class.
x = rand(10,1)*5;
y = rand(10,1)*5;
shape = alphaShape(x,y);
>> methods(shape)
Methods for class alphaShape:
alphaShape alphaTriangulation boundaryFacets inShape numRegions plot volume
alphaSpectrum area criticalAlpha nearestNeighbor perimeter surfaceArea
methods tells you what methods have been provided. Here, do any of them sound interesting? I hope so.
edges = boundaryFacets(shape)
edges =
1 4
4 8
8 6
6 10
10 3
3 9
9 2
2 5
5 1
plot(x(edges),y(edges),'-ro')
hold on
plot(x,y,'.')
So a fairly boring alpha shape, since all but one of the points were on the perimeter.
  6 comentarios
John D'Errico
John D'Errico el 20 de Mzo. de 2019
You know how to plot the shape, filled, with NO edges.
Do you know how to then add a second set of edges on top?
help hold
So just then add the perimeter edges on top. Make them any color you wish.
Román Comelli
Román Comelli el 1 de Feb. de 2022
Is there any easy way to do this with 3D polytopes?

Iniciar sesión para comentar.

Categorías

Más información sobre Bounding Regions en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by