The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing, and visualization.
可视化工具包(VTK)是一个开源、免费的软件系统,用于计算机3D图形、图像处理及可视化。
Its implementation consists of an ES6 JavaScript class library which can be integrated into any web application.
它的实现包括一个ES6 JavaScript类库,该库可以集成到任何web应用程序中。
The toolkit leverages WebGL and supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods.
该工具包利用WebGL,支持各种可视化算法,包括标量、矢量、张量、纹理和体积方法。
VTK is part of Kitware’s collection of commercially supported open-source platforms for software development.
VTK是Kitware的商业支持的开源软件开发平台集合的一部分。
Welcome to the vtk.js documentation.
欢迎使用vtk.js文档。
If you encounter any problems when using vtk.js, have a look at the troubleshooting guide , raise an issue on GitHub or start a topic on the Mailing list .
如果在使用vtk.js时遇到任何问题,请查看故障排除指南,在GitHub上提出问题,或者在邮件列表上开启一个主题。
vtk.js is a rendering library made for Scientific Visualization on the Web.
vtk.js是一个用于在Web上进行科学可视化的渲染库。
It adapts the VTK structure and expertise to bring high performance rendering into your browser.
它调整了VTK结构和专业知识,将高性能渲染引入浏览器。
You can learn more about what vtk.js can do for you via the examples .
您可以通过示例了解到,vtk.js可以为您做些什么。
Importing vtk.js as an external script 用加载外部脚本的方式引入vtk.js
Using vtk.js as an ES6 dependency
This guide illustrates how to build an application using vtk.js as a dependency using a modern toolsets such as Webpack, NPM.
本指南说明了如何使用Webpack、NPM等现代工具把vtk.js作为依赖项来构建应用程序。
什么是vtk文件? Vtk模型是一种以文本方式表示的3D模型文件,其能够表示点面信息,而且能够以人类易读易懂的方式以文本的形式存储下来。在科学研究中,这种文件格式使用得非常多,我们这里详细的讲解一下,这种文件格式。 vtk是3D模型的一种格式,现在版本已经到4.0了。你可以在网上找到这种格式的详细解释,当然最好去google搜索。 打开bunny.vtk文件,我们以它来解释vtk文件的格式,其中#是注释的开始View Raw Code ?# 这里表示使用的是vtk的3.0版本。虽然4.0版本已经出来了,不过目前广泛使用的仍然是3.0 # vtkDataFileVersion3.0 # 这一行是输出vtk文件的软件写的文字,无论什么都可以。 vtk output #ASCII,表示这份vtk使用的标准ASCII码字符集 ASCII # “DATASETPOLYDATA”表示多边形面集,面是由一个个点组成的 DATASETPOLYDATA # 这里表示这个模型由35947个点组成,每个坐标的分量是一个浮点型 POINTS35947float # 下面是35947个点的数据 -0.0378297 0.12794 0.00447467 -0.0447794 0.128887 0.00190497 -0.0680095 0.151244 0.0371953-0.00228741 0.13015 0.0232201 -0.0226054 0.126675 0.00715587 -0.0251078 0.125921 0.00624226 -0.0371209 0.127449 0.0017956 0.033213 0.112692 0.0276861 0.0380425 0.109755 0.0161689 -0.0255083 0.112568 0.0366767 -0.0245306 0.112636 0.0373469 0.0274031 0.12156 0.0212208 -0.0628961 0.158419 -0.0175871 0.0400813 0.104202 0.0221684 0.0451532 0.0931968 0.0111604 .......................................... .......................................... POLYGONS 69451 277804 3 21216 21215 20399 3 9186 9280 14838 3 16020 13433 5187 3 16021 16020 5187 3 20919 20920 21003 3 23418 15239 23127 3 30553 27378 30502 .................. .................... CELL_DATA 69451 POINT_DATA 35947 你可以在 http://wenku.baidu.com/view/a67cdad049649b6648d747fc.htm 这个网站找到vtk 4.0版本的解释。下面对几个重要的段落进行一下解释。 1、# vtk DataFile Version 3.0表示这个vtk文件的版本是3.0。最新版本是4.0,不过改变不大。 2、vtk output表示该文件是名字,一般写成vtk output就可以了,基本上,你没有必要去改变它。 3、ASCII表示该文件的格式,是ascii版本,该位置也可以写binary,那么这个文件就是二进制格式的了。 4、DATASET POLYDATA中的DATASET是关键字表示数据集的意思,POLYDATA表示数据的类型,可以取STRUCTED_POINTS、STRUCTURED_GRID、UNSTRUCTURED_GRID、POLYDATA、FIELD等。这里取的是POLYDATA,表示三角形或者四边形数据。 5、 POINTS 35947 float 表示这个模型由35947个点组成,每个点的分量,其数据类型是浮点型。这一行后面就是35947*3个float型数字了。每三个数字表示一个点。6、 POLYGONS 69451 277804,POLYGONS是关键字,69451表示模型有69451个多边形组成,后面行的3 21216 21215 20399中的3表示每个多边形由三个顶点组成,如果等于4,那么每个多边形有4个顶点组成。277804表示整个POLYGONS占据的数组的长度,长度计算公式是69451*4 = 277804,乘数4是3 21216 21215 20399这组元素的长度(一共有4个元素),也就每一行元素的个数,这主要是用来计算存储空间的。7、 接下来后面是69451行数据,每一行是一个多边形面。每个面由3个顶点组成,如3 21216 21215 20399这一行,后面的21216 21215 20399这三个数字,表示在上面的POINTS 35947 float段的顶点索引。8、 CELL_DATA 69451 表示面的个数,和上面定义的面数目必须一致。9、 POINT_DATA 35947表示点的个数,和“POINTS 35947 float”定义的也必须相同。 Ok,vtk格式就这么多精髓了,虽然有些关键字这里我们并没有讲到,但是已经足够了,在以后遇到如果不明白,可以质询我们,也可以查查网上的文档,用一下google。webgl是HTML5中提出的新技术,是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,关于它的教程可以看看hiwebgl。目前兼容性堪忧three.js是以webgl为基础的库,封装了一些3D渲染需求中重要的工具方法与渲染循环。它的教程同样可以在hiwebgl里面找到。
three.js之于webgl,类似于windows版本的虚幻引擎之于D3D。当然,虚幻引擎的能力范围比three.js大得多。d3.js跟上面两者没有关系。