https://blog.csdn.net/Thea12138/article/details/79723380
对每个类型的封装库:https://blog.csdn.net/u010513603/article/details/80351569
实际使用:https://www.cnblogs.com/best/p/6107565.html
概要:
Canvas 位图,是需要自己画点的白板;
WebGL 3D位图,基于 Canvas 和 OpenGL ES 2.0 的 3D 框架——Canvas 的3D版本。
OpenGL(基于C++的) 入门:https://www.jianshu.com/p/d83a519ae2d0
http://www.cnblogs.com/android-blogs/p/5454698.html
WebGL 入门:https://www.cnblogs.com/bsman/p/6128447.html
SVG 矢量图,是给数据就可以绘制点、线、图形的,基于 XML 的标记语言;
HTML5 canvas也有相应的JS库。我用过并感觉不错的有如下一些:
缺点:
优点:
前面说的绘图技术,无论canvas还是SVG都不能绘制3D图形。我曾经见过很多在网页上显示3d图形的方案,但都需要你的电脑上安装相应的插件(例如flash, silverlight)或者事先安装虚拟机(例如java)。之前曾经有过很多web 3D渲染技术,但不是要下插件,就是编程复杂,于是渐渐被时代淘汰,例如VRML,约翰•卡马克已经宣布了它的死亡。难道就没有一个开源的通用标准显示3D图形吗?
当然是有的。这货叫webGL, 是一项使用JavaScript实现3D绘图的技术,浏览器无需插件支持,Web开发者直接使用js调用相关API就能借助系统显卡(GPU)进行编写代码从而呈现3D场景和对象。
WebGL标准由科纳斯组织(Khronos Group)开发和维护,Google、Mozilla、Opera和Apple 等浏览器厂商都是其中的成员,为这一标准做出了显著贡献。从名称上我们就可以知道WebGL跟openGL肯定是小弟与大哥的关系。事实上webGL是基于OpenGL ES 2.0开发的,OpenGL ES 是 OpenGL 三维图形 API 的子集,针对手机、平板电脑和游戏主机等嵌入式设备而设计。浏览器内核通过对OpenGL API的封装,实现了通过JavaScript调用3D的能力。WebGL 内容作为 HTML5 中的Canvas标签的特殊上下文实现在浏览器中(这下canvas终于可以画3D图了,虽然用的是不同技术)。
webGL的各大浏览器支持情况(截至2013年11月):
桌面浏览器
移动浏览器
从上面的支持情况列表我们可以发现,支持情况还是比较可喜的,至少现代浏览器都支持,移动端和IE略有落后。不过毕竟这个技术还是新鲜事物,在国内能找到的资料还很少,国内前端技术圈讨论也不多,是真正的技术蓝海。本人并没有实际开发过webGL程序,目前还停留在观察阶段。若有工作需求,会将其列入研究重点。
让我们查看一些webGL的案例,当然是mozilla demostudio的最好。
最后,让我们提一提webGL的JS框架,它们可以减少工作量并提供一些有趣的例子。
SVG最大的优点就是绘制和控制简单。直接在html页面里加入xml语句就可以编辑绘制。例如下面的代码就是画一个圆、一个椭圆和一道黑线,把这段代码另存为一个html文档再用谷歌浏览器打开就能看到效果了:
跟前文中canvas绘图的方式比一比,就知道SVG是多么容易控制了。
当然,使用SVG时我们通常也是使用类库来提升效率。这里的类库主要有三种:
D3的全称是Data-Driven Documents(数据驱动文档),在github上关注数量超过了2万人(超过了所有canvas类库的关注数量),是非常受欢迎的开源工具。使用d3的有开发者,有设计师,有艺术家,资料非常丰富(虽然中文的很少)。关于D3的我的应用案例可以见我之前的文章《D3js初探及数据可视化案例设计实战》。
那么接着说说D3的优缺点(基本上也就是SVG的优缺点):
优点:
缺点;
processing是久负盛名的为了实现交互式可视化创作的Java语言扩展,我在《Benjamin Fry的《可视化数据》和processing语言》一文中有过介绍。不过我并没有直接用过processing,而只用过processingJS, 一个使用processing语法的使用html5 canvas绘图的JS类库。在前文中已经有过推介。
R语言之前我已经多次提到了。这段时间我也开始试用,不过说句实话这个东西我觉得不能称为语言,我感觉它不像C++,更像mathlab这样的应用程序。它的图标很简陋,GUI更简陋,简直除了控制台再没有别的了。我想这是制作它的统计学家的心声:科学不是花里胡哨的玩意,它其实很枯燥,但很注重内在美!