Clear Filters
Clear Filters

Using Delaunay triangulation to approximate the area

2 views (last 30 days)
Hi,
I try to use delaunay triangulation but it also connected the boundary point
As you an see the X shape, thats what I wanted only, not the square too.
thank you
  2 Comments
John D'Errico
John D'Errico on 14 Nov 2018
Edited: John D'Errico on 14 Nov 2018
Why did you need to ask this question twice? As I showed the last time you asked the question, you cannot use a Delaunay triangulation to do what you want, at least not without understanding how to code an alpha shape.
madhan ravi
madhan ravi on 14 Nov 2018
please don‘t ask the same question twice , this discourages the answerers who answer the question

Sign in to comment.

Answers (1)

KSSV
KSSV on 14 Nov 2018
Taking the code from John D'Errico. answer here
xy = rand(5000,2);
k = (sqrt(sum((xy - [1 .5]).^2,2)) < 0.3) | ...
(sqrt(sum((xy - [0 .5]).^2,2)) < 0.3) | ...
(sqrt(sum((xy - [0.5 1]).^2,2)) < 0.3) | ...
(sqrt(sum((xy - [0.5 0]).^2,2)) < 0.3);
xy(k,:) = [];
x = xy(:,1) ; y = xy(:,2) ;
idx = boundary(x,y) ; % gives boundary
plot(x,y,'.r')
hold on
plot(x(idx),y(idx),'b')
A = polyarea(x(idx),y(idx))

Categories

Find more on Delaunay Triangulation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!