Triangulation within specified region

I am trying to triangulate a specified region along a 2d plane. The region i wish to tringualte is specified by x and y cooridantes and the lines joining each of these points. However when I use delaunyTriangulation it triangulates the entire region, including the parts I wish to leave out. I have inserted an image below.
Is there anyway to specify the boundary or region of which I would like to triangulate or remove the large unwated trinagles from the triangulation?
Thanks
untitled.jpg

3 comentarios

darova
darova el 7 de Jun. de 2019
If you have boundaries of your region use inpolygon() to indicate points inside and then triangulation
Robin Pillar
Robin Pillar el 7 de Jun. de 2019
I already have the points which I have included an image below. What I want is to triangulate the narrow region between the points but not outside as keeps happening
untitled.jpg
darova
darova el 7 de Jun. de 2019
Can you please attach this data?

Iniciar sesión para comentar.

 Respuesta aceptada

KSSV
KSSV el 7 de Jun. de 2019
Read about delaunayTriangulation , you can provide edge constraints. On providing these constraints; you can avoid such triangles.
DT = delaunayTriangulation(x,y,C)

7 comentarios

Robin Pillar
Robin Pillar el 7 de Jun. de 2019
I've tried this and used the edges which are the outline of the shape I've shown above as the constraints and I still get it triangulating the area outside the narrow region I want
KSSV
KSSV el 7 de Jun. de 2019
Attach your data....I can work on it on Monday only...weekend :)
Robin Pillar
Robin Pillar el 10 de Jun. de 2019
Data attached
KSSV
KSSV el 11 de Jun. de 2019
YOu have other option: explore alphashape
data = importdata('data.txt') ;
x = data(:,1) ; y = data(:,2) ;
% dt = delaunayTriangulation(x,y) ;
shp = alphaShape(x,y) ;
shp.Alpha = 0.04 ;
plot(shp)
YOu can play around with value of shp.Alpha. Meanwhile I will try delaunay on the data and let you know. Actually the points (x,y) are not in order, we need to arrange them in order to provide constraints.
untitled.bmp
KSSV
KSSV el 11 de Jun. de 2019
I have arranged the points Point.txt in an order and run delaunayTriangulation. I am attaching the data and code here.
data = importdata('data.txt') ;
x = data(:,1) ; y = data(:,2) ;
p = (1:length(x))' ;
C = [p(1:end-1) p(2:end)] ;
dt = delaunayTriangulation(x,y,C) ;
figure
triplot(dt)
xnew = dt.Points(:,1) ; ynew = dt.Points(:,2) ;
isInside = isInterior(dt) ; % Find triangles inside the constrained edges
tri = dt(isInside, :); % Get end point indices of the inner triangles
figure
triplot(tri,xnew,ynew);
untitled.bmp
darova
darova el 11 de Jun. de 2019
KSSV, how did you order those points? (Manually?)
KSSV
KSSV el 11 de Jun. de 2019
I used another software which my colleague uses...:)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Delaunay Triangulation en Centro de ayuda y File Exchange.

Preguntada:

el 7 de Jun. de 2019

Comentada:

el 11 de Jun. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by