Delaunay2_5D: Usage

VN:F [1.8.8_1072]
Rating: +1 (from 1 vote)
VN:F [1.8.8_1072]
Rating: 7.5/10 (2 votes cast)


 

Go to Main Post

When can it be used

Delaunay2_5D is designed for densely sampled surfaces, both open and closed one. The surface must be not too much rough and possibly with higher sampling in high curvature feature.

…and when can not

Delaunay2_5D wont work on:

  • Sliced data: when the distance among slices is much higher than the distance among point of the same slice.
  • Rough surfaces
  • Not orientable surfaces
  • Sharp edges coming from cad models (scanned ones should be meshed).

How to use it

Input format

After struggling on hundreds of points cloud formats I decided to feed the algorithm with a simple binary file. The file is composed by an integer indicating the number of points and a list of doubles indicating the coordinates.

The number of point is the first data and it is an “int” type. Points are stored this way: X1,Y1,Z1,X2,Y2,Z2…….

These are the Matlab commands to generate such file:

fid=fopen(name,'wb');%open input file for Delaunay2_5D
 fwrite(fid, np, 'int');%first data=the numbers of points;
fwrite(fid,p,'double');%points;
fclose(fid);%close the file

You can download tools to use D2_5D on matlab here: Download Now

And this are the C++ ones:

pFile =fopen("D2_5DInput.dat", "wb");//open input file for Delaunay2_5D
 nwritten=fwrite(&N, sizeof(int), 1, pFile);//first line (the number of points)
nwritten=fwrite(&p, sizeof(double), N*3,  pFile);//Write the points coordinate
fclose(pFile);//close the file

Launching the .exe

In Matlab you can use:

!Delaunay2_5D.exe i 2 p 1 f 0 a 90

where the letters after the executable path are the input parameters described in the next section.
In C++, given an array p of Nx3 elemnts representing the points coordinate:

system("Delaunay2_5D.exe i 2 p 1 f 0 a 90 ");

Input parameters

The basic call is:

Delaunay2_5D.exe i 1 f 0 p 0 a 90 file FileName.dat

A professional use of Delaunay2_5D requires some knowledge about its input parameters.

  • ‘i’=Number of meshing iteration. Default=1. Too high meshing iteration can slow down the algorithm and sometimes generates bad triangles. On the other side, it helps to fill big holes, so rise up the number of operation only if you find undesired holes in the output.
  • ‘f’= enables a nearest neighbour filter. A nearest neighbour graph is computed, the meandist among points calculated. Points with distance less than meandist/f will be deleted. f must be >1, a 0 value will turn off the filtering. Use this parameter only if you have duplicated points in the input or points too close too each other.
  • ‘p’=The “strength” of the post-processor. Set to zero turn off post-processing operations. Set to >0 attempts to fill small holes in the output. Default value is 1.
  • ‘file’= the input file name. Ex Delaunay2_5D.exe file Bunny.dat .  If omitted the input filename must be later inserted as console input.
  • ‘w’: output window,(only contributor version) set to 0 suppress output window
  • ‘o’: output file:(only contributor version) set to 0 returns an stl file. Set to 1 returns a binary file (this mode is for the developper). Set to 2 returns both of them.

There are several others option but for now it is clearer not considering all of them. A complete documentation will be published shortly.

I the meantime, to run some tests, you can use settings suggested in the model section.

Go to Main Post

VN:F [1.8.8_1072]
Rating: 7.5/10 (2 votes cast)
VN:F [1.8.8_1072]
Rating: +1 (from 1 vote)
Delaunay2_5D: Usage7.5102

Popularity: 1% [?]

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Live
  • PDF
  • Technorati
  • Twitter
  • Yahoo! Bookmarks
  • Add to favorites
  • email
  • MySpace
  • RSS

Related Posts

Comments

Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!


Include MATLAB code in your comment by doing the following:

<pre lang="MATLAB">

%insert code here

</pre>