Effacer les filtres
Effacer les filtres

blank space in alpha shape

3 vues (au cours des 30 derniers jours)
yonatan s
yonatan s le 30 Avr 2017
Commenté : John D'Errico le 30 Avr 2017
using the alphavol function i wrote the following code:
%create crater alpha shape.
clear;clc;
ddr=0.12; %depth diameter ratio
a=1/ddr/2; %semi major axis. horizontal axes are equal
n=31; %number of points for x y vectors.
x = linspace(-a,a,n);
y = linspace(-a,a,n);
[X,Y] = meshgrid(x,y);
Z =real(sqrt(1-(X.^2)/a^2-(Y.^2)/a^2))*-1+1; % the plus for Z>0
[V,S] = alphavol([X(:),Y(:),Z(:)],1,1);
trisurf(S.bnd,X,Y,Z,'FaceColor','blue','FaceAlpha',1)
xlabel('x');ylabel('y');zlabel('z');
___
as the picture shows, i get blank space in the bottom of the shape. i know i can resolve this by assigning greater values to n, but it is still only an approximation. also, i dont want to set up R=inf, because this will give a surface on the X-Y plane(where z=1).
thank you for your help
  3 commentaires
Image Analyst
Image Analyst le 30 Avr 2017
Do you want to fill in the hole? If so try regionfill().
John D'Errico
John D'Errico le 30 Avr 2017
Of course, if you fill in the hole, then what is the purpose of the alpha shape?
As for something being an approximation, ANYTHING you do on a computer is an approximation. The skill of working on a computer, in any discipline, be it applied mathematics, statistics, image processing, any engineering discipline, any physical science, etc., is in knowing what approximations are viable to use, and which ones will kill you.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Bounding Regions dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by