Matlab - Add/Remove edges in delaunay triangulation
I want to do the following:
1. Construct Delaunay Triangulation dt
I used the following code for basic triangulation
x = rand(10,1);
y = rand(10,1);
dt = DelaunayTri(x,y)
2. Remove edges from specific nodes in dt if node degree > D
(By node degree, I mean the number number of edges connected to each vertex of triangle.)
3. Add edges to specific nodes in dt if node degree < D
If removing or adding edges spoil the triangulation than it will not be a problem for me. I want to use the final pattern as a topology of my free space optical sensor network.
If removing an edge from one point lowers the degree of the other end, it's also fine.
In case of a vertex having too great a degree than expected, the edge removal will be done in this way: the longest edge will be removed first, and so on.
In case of adding edges to a node where the degree is low, it will be connected to another neighbor node who is also short in degree. If every possible neighbor node has satisfactory degree, than I may just leave the node with it's lower degree.
*** It may sound weird, but I need the final diagram only for a topology design. It doesn't have to look like a triangulation at the end.
If anyone can help, it will be highly appreciated.