私はXTKから始めています。ボリューム レンダリングを XTK にするために .vtk ファイルをロードしたいと思います。
この .vtk ファイルは、3D データ配列 (ボクセル) を vtk 形式に保存する matlab 関数で作成されています。
function savevtk(array, filename)
% savevtk Save a 3-D scalar array in VTK format.
% savevtk(array, filename) saves a 3-D array of any size to
% filename in VTK format.
[nx, ny, nz] = size(array);
fid = fopen(filename, 'wt');
fprintf(fid, '# vtk DataFile Version 2.0\n');
fprintf(fid, 'Comment goes here\n');
fprintf(fid, 'ASCII\n');
fprintf(fid, '\n');
fprintf(fid, 'DATASET STRUCTURED_POINTS\n');
fprintf(fid, 'DIMENSIONS %d %d %d\n', nx, ny, nz);
fprintf(fid, '\n');
fprintf(fid, 'ORIGIN 0.000 0.000 0.000\n');
fprintf(fid, 'SPACING 1.000 1.000 1.000\n');
fprintf(fid, '\n');
fprintf(fid, 'POINT_DATA %d\n', nx*ny*nz);
fprintf(fid, 'SCALARS scalars float\n');
fprintf(fid, 'LOOKUP_TABLE default\n');
fprintf(fid, '\n');
for a=1:nx
for b=1:ny
for c=1:nz
fprintf(fid, '%d ', array(a,b,c));
end
fprintf(fid, '\n');
end
end
fclose(fid);
return
ファイルが作成されたら、次の'output.vtk'
方法でロードしようとします。
window.onload = function() {
var r = new X.renderer3D();
r.init();
// create a mesh from a .vtk file
var skull = new X.mesh();
skull.file = 'output.vtk';
// add the object
r.add(skull);
// .. and render it
r.render();
};
しかし、ブラウザには何も表示されません。
「output.vtk」は、ボリューム レンダリング用の有効な .vtk ファイルではありませんか?
この種のファイルを XTK にロードする方法は?