Guest User

Untitled

a guest
Oct 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. Nodes = rand(15,3);
  2. Tetra = delaunay(Nodes);
  3. DataName='Testdata';
  4. Data=ones(size(Tetra,1),1);
  5.  
  6. %% ASCII - working
  7. fname='TetraAscii.vtk';
  8.  
  9. [np,dim]=size(Nodes);
  10. [nt]=size(Tetra,1);
  11. celltype=[3,5,10];
  12.  
  13. FID = fopen(fname,'w+');
  14. fprintf(FID,'# vtk DataFile Version 2.0\nUnstructured Grid Example\nASCII\n');
  15. fprintf(FID,'DATASET UNSTRUCTURED_GRID\n');
  16.  
  17. fprintf(FID,'POINTS %d float\n',np);
  18. s='%f %f %f \n';
  19. P=[Nodes zeros(np,3-dim)];
  20. fprintf(FID,s,P');
  21.  
  22. fprintf(FID,'CELLS %d %d\n',nt,nt*(dim+2));
  23. s='%d ';
  24. for k=1:dim+1
  25. s=horzcat(s,{' %d'});
  26. end
  27. s=cell2mat(horzcat(s,{' \n'}));
  28. fprintf(FID,s,[(dim+1)*ones(nt,1) Tetra-1]');
  29.  
  30. fprintf(FID,'CELL_TYPES %d\n',nt);
  31. s='%d\n';
  32. fprintf(FID,s,celltype(dim)*ones(nt,1));
  33.  
  34. fprintf(FID,'CELL_DATA %s\nSCALARS %s float 1\nLOOKUP_TABLE default\n',num2str(nt),DataName);
  35. s='%f\n';
  36. fprintf(FID,s,Data);
  37.  
  38. fclose(FID);
  39. %% Binary
  40.  
  41. fname='TetraBinary.vtk';
  42.  
  43. [np,dim]=size(Nodes);
  44. [nt]=size(Tetra,1);
  45. celltype=[3,5,10];
  46.  
  47. FID = fopen(fname,'w+');
  48. fprintf(FID,'# vtk DataFile Version 2.0\nUnstructured Grid Example\nBINARY\n');
  49. fprintf(FID,'DATASET UNSTRUCTURED_GRID\n');
  50.  
  51. fprintf(FID,'POINTS %d float\n',np);
  52. P=[Nodes zeros(np,3-dim)]';
  53. fwrite(FID, P, 'float', 'b');
  54.  
  55. fprintf(FID,'\nCELLS %d %d\n',nt,nt*(dim+2));
  56. fwrite(FID,[(dim+1)*ones(nt,1) Tetra-1]', 'float', 'b');
  57.  
  58. fprintf(FID,'\nCELL_TYPES %d\n',nt);
  59. fwrite(FID,celltype(dim)*ones(nt,1), 'float', 'b');
  60.  
  61. fprintf(FID,'\nCELL_DATA %s\nSCALARS %s float 1\nLOOKUP_TABLE default\n',num2str(nt),DataName);
  62. fwrite(FID, Data, 'float', 'b');
  63.  
  64. fclose(FID);
Add Comment
Please, Sign In to add comment