function []=Create_VTK(x,y,z,value,VTK_file_name,type,cells) fid=fopen(VTK_file_name,'w'); %% header header{1}='# vtk DataFile Version 3.0'; header{2}=['VTK_3D_Pseudo test']; header{3}='ASCII'; if strcmp(type,'Line')|| strcmp(type,'line')|| strcmp(type,'LINE') header{4}='DATASET POLYDATA'; else header{4}='DATASET UNSTRUCTURED_GRID'; end header{5}=['POINTS ',num2str(size(x,1)),' double']; for i=1:5 fprintf(fid,'%s\n',header{i}); end %% point positions % for i=1:size(x,1) % fprintf(fid,'%f %f %f\n',x(i),y(i),z(i)); % end disp('writing positions') fprintf(fid,'%6.2f %6.2f %6.2f\n',[x,y,z]'); % dlmwrite(VTK_file_name,[x y z],'-append','delimiter','\t','precision','%.1f') %% cells or lines fid=fopen(VTK_file_name,'a'); if strcmp(type,'Line')|| strcmp(type,'line')|| strcmp(type,'LINE') header{6}=['LINES ','1',' ',num2str(size(x,1)+1)]; else header{6}=['CELLS ',num2str(size(cells,1)),' ',num2str(5*size(cells,1))]; end fprintf(fid,'%s\n',header{6}); % cells(:,2)=[0:1:size(x,1)-1]; Line_data=[size(x,1) 0:1:size(x,1)-1]; if strcmp(type,'Line')|| strcmp(type,'line')|| strcmp(type,'LINE') for i=1:size(x,1)+1 fprintf(fid,'%d\t',Line_data(i)); end else % for i=1:size(x,1) % fprintf(fid,'%d %d\n',cells(i,1),cells(i,2)); % end disp('writting cells') cells=[4*ones(size(cells,1),1),cells]; fprintf(fid,'%i %i %i %i %i\n',cells'); % dlmwrite(VTK_file_name,cells,'-append','delimiter','\t','precision','%i') end %% cells types if strcmp(type,'Line')||strcmp(type,'line')||strcmp(type,'LINE') return end fid=fopen(VTK_file_name,'a'); header{7}=['CELL_TYPES ',num2str(size(cells,1))]; fprintf(fid,'%s\n',header{7}); cells=10*ones(size(cells,1),1); % for i=1:size(x,1) disp('writting cells type') % fprintf(fid,'%d\n',cells(i,1)); fprintf(fid,'%i\n',cells'); % dlmwrite(VTK_file_name,cells,'-append','delimiter','\t') % end %% values fid=fopen(VTK_file_name,'a'); header{8}=['CELL_DATA ',num2str(size(cells,1))]; header{9}='SCALARS value double 1'; header{10}='LOOKUP_TABLE default'; for i=8:10 fprintf(fid,'%s\n',header{i}); end disp('writting cell data') fprintf(fid,'%i\n',value'); % dlmwrite(VTK_file_name,value,'-append','delimiter','\t') fclose all; disp('done')