Alpha shape multi-color surface

I am plotting an alpha shape as follows:
shp = alphaShape(X,Y,Z)
plot(shp)
I understand that I can modify the FaceColor property of the entire shape; however, I'd like to manually specify the color of each triangle that makes up the surface. Is this possible via the shp structure. If not, what are my options?
I'm exploring the use of alphaTriangulation(shp) output and many trisurf plots with invididual color specs combined. However, I'm not sure of a good way to segment the trisurf plots. Furthermore, using trisurf seems to result in a graph that uses more resources and is very unresponsive.

Answers (2)

AM
AM on 4 Oct 2019
No luck with the method above.
IIRC, I have had some success using the trisurf function, but then you have to manually create the triangulation to feed to it, and I believe the interactivity was also quite laggy and unresponsive.
I have had some success using the Plotly tools via Python for this (although speed is still an issue for large datasets). They may have similar hooks for using their modules in MATLAB.
This might be of help if you're open to exploring third party tools:
https://plot.ly/python/alpha-shapes/
Any Luck on this? I'm trying to do the same.

2 Comments

Please use comment section
You can use patch() if your have faces and nodes
[faces,nodes] = boundaryFacets(shp);

Sign in to comment.

Categories

Asked:

AM
on 10 Apr 2018

Commented:

on 19 Jan 2023

Community Treasure Hunt

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

Start Hunting!