TML5技術已經越來越被我們所接受,特別是一些3D的動畫特效。本文介紹的8個HTML5 3D動畫并沒有特別華麗的界面,但是比較實用,涉及到3D圖片、3D圖表、3D按鈕等方面,一起來看看。
1、HTML5 3D動畫柱形圖表
這次我們要來分享一款效果非常酷的HTML5 3D柱形圖表,這款HTML5圖表和之前分享的都不一樣,主要是外觀上比較吸引人,首先圖表是3D立體的,有一種非常棒的視覺效果;其次,當鼠標劃過柱形圖表時,會有很不錯的HTML5動畫效果。
2、HTML5 3D 粒子波浪動畫特效
今天我們分享一款升級版HTML5 3D粒子波浪動畫特效,我們可以旋轉不同的視角來欣賞粒子波浪的滾動特效。HTML5在動畫制作方面的確讓人眼前一亮。
3、HTML5自定義文字背景生成QQ簽名檔
這是一款利用HTML5實現的自定義文字背景應用,首先我們可以輸入需要顯示的文字,并且為該文字選擇一張背景圖片,背景圖片就像蒙版一樣覆蓋在文字上。點擊生成QQ簽名檔即可將文字背景融為一體生成另外一張圖片,你也可以下載這張擁有你QQ簽名檔的圖片。
4、HTML5坦克大戰游戲簡化版
今天分享的是一款簡化版的HTML5坦克大戰游戲,方向鍵控制坦克的行進方向,空格鍵發射子彈,命中敵方坦克后也會發出聲音,效果還算可以。
5、HTML5 3D陰影文字特效
今天我們要來分享一款非常簡單大氣的HTML5 3D文字特效,這個3D文字特效是通過文字加粗以及文字陰影來實現的,效果非常不錯。同時我們在html5tricks網站上也分享過很多炫酷的文字特效,比如CSS3文字陰影效果 陰影角度可隨鼠標變化、動感的CSS3 Loading文字特效。
6、HTML5 3D衣服擺動特效 超酷HTML5 3D動畫
今天向大家分享一款HTML5 3D衣服擺動動畫特效,動畫也是在HTML5 Canvas上完成,它模擬衣服晾在繩子上,點擊鼠標可以讓衣服擺動起來,就行風吹動它一樣,非常逼真炫酷。
7、HTML5/CSS3一組可愛的3D按鈕
這是一款利用HTML5和CSS3制作而成的按鈕組合,這款CSS按鈕非常具有個性化。該CSS3按鈕不僅具有3D的外觀,點擊按鈕也具有非常立體的效果,更具有特點的是這款CSS3按鈕的形狀是不規則的,而且按鈕中都有一個可愛的小圖標。
8、HTML5 Canvas 3D折線圖表應用
今天我們再來討論一下關于HTML5圖表應用的問題,這款HTML5圖表是基于canvas的3D折線圖表,圖表在初始化的時候會根據數據點把折線分割成多條線段,然后線段將逐漸懸浮到數據點對應數值的位置。由于是3D的效果,所以圖表的折線也和其他折線圖表的不同。
以上就是8個經典的HTML5 3D動畫賞析,希望大家喜歡。
前言
在大數據盛行的現在,大屏數據可視化也已經成為了一個熱門的話題。大屏可視化可以運用在眾多領域中,比如工業互聯網、醫療、交通、工業控制等等。將各項重要指標數據以圖表、各種圖形等形式表現在一個頁面上,各種數據一目了然。隨著瀏覽器不斷發展完善,使用 Web 做大屏展示也已經不是新鮮的事了。市面上已有不少的大屏解決方案,大部分是以放各種圖表的形式呈現,基本是 2D 的呈現。有些是根據投放屏幕的比例設計出來的,并不能自適應于其它的屏幕比例。最近學習了 Hightopo 的 HT for Web 產品,特有的矢量,在各種比例下不失真,加上布局機制,解決了不同屏幕比例下的展示問題,加上 3D 的呈現部分,可以做出別具一格的大屏系統。在這里與大家分享學習,先來張整體效果圖:
本文主要介紹內容如下,文章中以 HT 作為 HT for Web 的簡稱:
一、頁面搭建
在這個系統中,我們需要創建 ht.graph.GraphView 和 ht.graph3d.Graph3dView 來呈現 2D 和 3D 的內容。設計師給到的 display.json 是 2D 圖紙的內容,主要是使用矢量繪制呈現,有一些圖表是用了 Echarts,HT 也有機制可以讓我們使用它們。scene.json 是 3D 場景的內容,大部分模型都是通過 3dMax 建模生成的,該建模工具可以導出 obj 與 mtl 文件,在 HT 中可以通過解析 obj 與 mtl 文件來生成 3d 場景中的所有復雜模型,簡單的模型也可以通過 HT 來建模。關鍵代碼如下:
二、數據對接
頁面加載出來后,就可以與后臺通訊,請求相關數據對接到對應的元素上了。HT 一大強項是作為 Web 組態,所以有很友好的數據綁定方式,我們可以輕松將數據展示到各個節點上。我們這個案例采用隨機數模擬的方式模擬展示數據,在 json 中對相應的節點設置唯一標識 tag,在反序列化完成后,通過 g2d.dm().getDataByTag(tag) 來獲得相應節點,再根據這個節點的數據綁定來將數據展示到改節點上。
以上表格是一個用 ht 定義的矢量節點,矢量由一個個組件組成,組件不僅可以預定義的矩形,文本等內容,也可以引用其它定義好的矢量,甚至可以自定義繪制邏輯,這個表格就由此而來。矢量不僅可以用在 2D 圖紙里,還可以用在 3D 貼圖中,在我們 3D 場景中,以下截圖的幾個面板也是使用矢量實現,
HT 中數據都由 DataModel 驅動,所以 3D 對接數據也是一樣的,這里就不再贅述。
三、動畫效果實現
這個案例中最明顯的動畫應該就是鐵水罐車的動畫了,我們先來聊聊它的實現。基本流程是這樣的
如上,我們依然是在反序列化完成后,通過 car = g3d.dm().getDataByTag('car'); 得到鐵水罐車的節點對象。
通過 car.s('3d.visible', true | false); 就可以控制它的顯隱。
通過不斷修改節點的 3D 坐標就可以實現位移效果 car.setPosition3d(x, y, z);
至于鐵水罐車上的面板,也是個矢量,將它吸附于鐵水罐車節點,它就會跟隨車移動,不需要單獨控制它的坐標來實現動畫。
這部分動畫效果,只要不斷修改貼圖的 uv 值就可以實現,以下是示例代碼,node 還是由 getDataByTag 得來
總結
通過 2D 3D 結合的方式的大屏展示,可以非常直觀的看到數據呈現,比如在履帶出的上料數據,通過它的位置,不需要太多文字描述就知道這里是要展示什么內容。HT 非常輕量,可以結合 2D 3D 呈現數據,矢量在各種屏幕下不失真,還可以適應各種屏幕大小進行展示,用來做大屏可視化再合適不過了。除了在大屏上,電腦上可以展示良好,移動端同樣支持,最后放上一張移動端的效果圖。
作者:勤勞的搬運工
鏈接:https://juejin.im/post/5d6c57b1f265da03cd0a97ef
端數據可視化插件大盤點 圖表/圖譜/地圖/關系圖全有
在大數據時代,很多時候我們需要在網頁中顯示數據統計報表,從而能很直觀地了解數據的走向,開發人員很多時候需要使用圖表來表現一些數據。隨著Web技術的發展,從傳統只能依靠于flash、IE的vml,各個瀏覽器尚不統一的svg,到如今規范統一的canvas、svg為代表的html5技術,表現點、線、面要素的技術已經越來越規范成熟。我把前端數據可視化分為了五種:
1.圖表
2.圖譜
3.地圖
4.關系圖
5.立體圖
我將按照順序介紹62款前端可視化插件,下面就分享下34款圖表插件:
1.amcharts
url: http://www.amcharts.com/
browser:IE6+、chrome、safari、firefox、opear
resume:amCharts是一種先進的圖表庫,將適合任何數據可視化的需要。圖表解決方案包括柱、欄、線、區域,一步,一步沒有冒口,平滑線,燭臺,OHLC,餡餅/甜甜圈,雷達/極地,XY /分散/泡沫,子彈,漏斗/金字塔圖以及指標。
2.awesomechartjs
url:http://cyberpython.github.io/AwesomeChartJS/
github:https://github.com/cyberpython/AwesomeChartJS
browser:現代瀏覽器
resume:AwesomeChartJS是一個簡單的Javascript庫,可用于創建圖表基于HTML 5畫布元素。
3.axiis
url:http://www.axiis.org/
browser:官方未說明
resume:Axiis框架是一個開源的數據可視化為初學者和專家開發人員設計的。
4.bonsaijs
url:http://bonsaijs.org/
github:https://github.com/uxebu/bonsai
browser:IE9+、chrome20+、safari5+、firefox18+、opear12+
resume:用于創建圖形和動畫的js庫
5.canvasjs
url:http://canvasjs.com
browser:官方未說明
resume:一個使用HTML5、JavaScript創建圖表在畫布上,圖表包括幾個好看的主題和10倍的速度比傳統的基于Flash / SVG庫——導致輕量級的,美麗的和響應指示板。收費
6.canvasxpress
url:http://canvasxpress.org/
browser:Firefox 1.5+, Opera 9+, Safari 3.x+, Chrome 1.0+, IE 6+
resume:CanvasXpress是一個獨立的Javascript編寫的圖形庫,支持所有主流瀏覽器中計算機和移動設備。
7.chartist
url:http://gionkunz.github.io/chartist-js/
github:https://github.com/gionkunz/chartist-js
browser:Firefox, Chrome, Safari, Opera, IE9+
resume:繪制多種圖形的庫
8.chartjs
url:http://www.chartjs.org/
github:https://github.com/nnnick/Chart.js
browser:IE9+、chrome、safari、firefox、opear、部分支持IE7/8
resume:chartjs是一個可以繪制多種圖表的庫,使用了html5的canvas技術
9.chartkick
url:http://ankane.github.io/chartkick/
github:https://github.com/ankane/chartkick
browser:IE6+、chrome、safari、firefox、opear
resume:chartkick是一個依賴于ruby的繪制圖表的js庫,在Python中也可以使用
10.DataWrapper
url:https://datawrapper.de/
github:https://github.com/datawrapper/datawrapper
browser:支持大部分瀏覽器
resume:Datawrapper完全免費,開源。您可以使用他們的免費主機服務,或者安裝在您自己的服務器上。Datawrapper用PHP編寫,非常易于安裝、修改和拓展。可以繪制。但是DataWrapper是生成圖表后嵌入到站點的。
11.dataset
url:http://misoproject.com/dataset/
github:https://github.com/misoproject/dataset
browser:官方未說明
resume:dataset是一個JavaScript客戶端數據轉換和管理庫。數據集管理客戶端數據簡單處理加載、解析、排序、查詢和操縱來自各種數據源的數據。
12.dc
url:http://dc-js.github.io/dc.js/
github:https://github.com/dc-js/dc.js
browser:官方未說明
resume:專門為探索大型、多維數據集而進行優化的庫
13.dygraphs
url:http://dygraphs.com/
browser:IE8+、chrome、safari、firefox、opear
resume:dygraphs是一種快速、靈活的開源JavaScript庫圖表。
14.echart
url:http://echarts.baidu.com/index.html
github:https://github.com/ecomfe/echarts
browser:IE9+、chrome、safari、firefox、opear
resume:基于Canvas,純Javascript圖表庫,提供直觀,生動,可交互,可個性化定制的數據可視化圖表。創新的拖拽重計算、數據視圖、值域漫游等特性大大增強了用戶體驗,賦予了用戶對數據進行挖掘、整合的能力。
15.flotr2
url:http://www.humblesoftware.com/flotr2/
github:https://github.com/HumbleSoftware/Flotr2
browser:FF, Chrome, IE6+, Android, iOS
resume:Flotr2是HTML5畫圖表和圖形庫。可以繪制線圖、條圖、蠟狀圖、餅圖、氣泡圖
16.Flot
url:http://www.flotcharts.org/
browser:Internet Explorer 6+, Chrome, Firefox 2+, Safari 3+ and Opera 9.5+
resume:一個基于jQuery的繪圖庫,可以繪制折線、散點、條形、餅狀圖
17.fusioncharts
url:http://www.fusioncharts.com/
browser:IE6+、chrome、safari、firefox、opear
resume:一個專門用來繪制圖表的庫,可以繪制90多種圖表,但是收費
18.graphael
url:http://g.raphaeljs.com/
browser:Firefox 3.0+, Safari 3.0+, Opera 9.5+ and Internet Explorer 6.0+
resume:可以繪制各種圖表的插件,而且非常簡單靈活
19.highchart
url:http://www.highcharts.com/
github:https://github.com/highslide-software/highcharts.com/
browser:支持各種設備,ie6+
resume:在高版本瀏覽器中使用SVG,而在舊版本IE(包括IE6及更新版本)中使用后備的VML。有自己的團隊負責,但是只對非商業用途免費,可以繪制 line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types
20.humble Finance
url:http://www.humblesoftware.com/finance/index
browser:FireFox, Safari, Chromium, or IE6+
resume:HumbleFinance是一個HTML5數據可視化工具類似于Flash工具,完全是用JavaScript編寫的工具使用原型和Flotr庫。
21.ichartjs
url:http://www.ichartjs.com/
github:https://github.com/wanghetommy/ichartjs
browser:IE9+、chrome、safari、firefox、opear
resume:ichartjs 是一款基于HTML5的圖形庫。使用純javascript語言, 利用HTML5的canvas標簽繪制各式圖形。 ichartjs致力于為您的應用提供簡單、直觀、可交互的體驗級圖表組件。ichartjs目前支持餅圖、環形圖、折線圖、面積圖、柱形圖、條形圖。
22.icharts
url:http://www.icharts.net/
browser:官方未說明
resume:iCharts免費版本提供了一些基本的交互式圖表樣式,如果更使用高級的樣式,則需要購買高級版本。
23.JavaScript InfoVis Toolkit
url:http://philogb.github.io/jit/
github:https://github.com/philogb/jit
browser:官方未給出具體版本
resume:JavaScript InfoVis Toolkit可以動態繪制各種圖形,提供了一些預設的樣式可用于展示不同的數據
24.jqplot
url:http://www.jqplot.com/
browser:IE 7+, Firefox, Safari, and Opera
resume:基于jQuery的繪圖插件,可以繪制折線、條形、散點、餅狀圖
25.jscharts
url:http://www.jscharts.com/
browser:Firefox 1.5 +,Chrome 10 +,Internet Explorer 8 +,Safari 3.1 +,Opera 9 +
resume:jscharts是一個基于JavaScript的圖表生成器,需要很少或根本沒有編碼。jscharts繪制圖表是一個簡單和容易的任務,因為您只需要使用客戶端腳本(即由web瀏覽器)。不需要額外的插件或服務器模塊。就包括我們的腳本,準備你的圖表數據XML、JSON或JavaScript數組和你的表已經準備好了!允許您創建圖柱狀圖,餅圖或簡單的線條圖。收費但是有免費版本。
26.kendo-ui
url:http://www.telerik.com/kendo-ui
github:https://github.com/telerik/kendo-ui-core
browser:現代瀏覽器
resume:http://www.cnblogs.com/xiyangbaixue/p/3951297.html
27.nvd3
url:http://nvd3.org/
github:https://github.com/novus/nvd3
browser:Chrome,Firefox, Opera, Safari and Internet Explorer 10
resume:d3圖表庫
28.pizza-pie-charts
url:http://zurb.com/playground/pizza-pie-charts
github:https://github.com/zurb/pizza
browser:官方未說明
resume:主要用來生成餅狀圖的庫
29.protovis
url:http://mbostock.github.io/protovis/
github:https://github.com/mbostock/protovis
browser:現代瀏覽器
resume:Protovis組成自定義視圖的數據用簡單的標志如酒吧和點。與低級圖形庫,迅速成為可視化乏味,Protovis定義是通過編碼數據的動態屬性,允許繼承,尺度和layoutsto簡化施工。
30.Peity
url:http://benpickles.github.io/peity/
browser:Chrome, Firefox, IE9+, Opera, Safari
resume:可以繪制多種圖形,但是都是很小的圖形,與jQuery Sparklines相似
31.rgraph
url:http://www.rgraph.net/
browser:現代瀏覽器
resume:RGraph是一個基于HTML5的開放web圖表和圖表庫。RGraph創建這些圖表在web瀏覽器使用JavaScript,這意味著更快的頁面和web服務器負載,導致較小的頁面大小和更快的網站。
32.webfx
url:http://webfx.eae.net/
browser:Firefox 1.5, Opera 9 and Internet Explorer 6
resume:支持多種圖表的庫
33.xcharts
url:http://tenxer.github.io/xcharts/
github:https://github.com/tenXer/xcharts/
browser:現代瀏覽器
resume:xCharts美麗是一個JavaScript庫,用于構建和自定義數據驅動的web使用D3.js圖表可視化。使用HTML、CSS和SVG,xCharts被設計成動態、流體、集成和定制。
34.zingchart
url:http://www.zingchart.com/
browser:官方未聲明
resume:ZingChart創造驚人的可視化提供了靈活性和資源。提供超過100個圖表類型,獨特的特性,如縮放和交互式。
小結:
每款插件各有千秋,根據項目需求挑選不同插件。其中比較廣泛使用的如echart(百度產品)、highchart等,下面我將分享圖譜插件。
9款圖譜插件:
1.crossfilter
url:http://square.github.io/crossfilter/
github:https://github.com/square/crossfilter
browser:官方未說明
resume:一個可以操作大型、多元數據集的庫,幫助數據分析。
2.d3js
url:http://d3js.org/
github:https://github.com/mbostock/d3
browser:Firefox, Chrome, Safari, Opera, IE9+
resume:D3.js是一個JavaScript庫,基于數據操作文檔。D3可以幫助你把數據使用HTML、SVG和CSS。D3強調web標準給你完整的現代瀏覽器的功能沒有把自己和一個專有的框架,結合強大的可視化組件和DOM操作的數據驅動的方法。
3.envisionjs
url:http://www.humblesoftware.com/envision/index
github:https://github.com/HumbleSoftware/envisionjs
browser:IE6+、chrome、safari、firefox、opear
resume:envisionjs是一個庫來創建快速、動態和交互式可視化的圖表
4.jsxgraph
url:http://jsxgraph.uni-bayreuth.de/wp/
github:https://github.com/jsxgraph/jsxgraph
browser:現代瀏覽器
resume:JSXGraph交互式幾何是一個跨瀏覽器的庫,函數繪圖,圖表和數據可視化在web瀏覽器中。它完全實現在JavaScript中,不依賴于任何其他庫,并使用SVG VML或畫布上。
5.paperjs
url:http://paperjs.org/
github:https://github.com/paperjs/paper.js
browser:IE9+,chrome,firefox
resume:paperjs是一款不可多得的js插件,可以繪制各種動態圖形效果
6.processingjs
url:http://processingjs.org/
github:https://github.com/processing-js/processing-js/
browser:現代瀏覽器
resume:processingjs是用Java編寫的,所以圖形在網頁上顯示要靠Java程序,使用canvas技術
7.Rapha?l
url:http://raphaeljs.com/
github:
browser:Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ and Internet Explorer 6.0+.
resume:Rapha?l是一款繪制矢量圖的插件,支持低版本的瀏覽器
8.sparklines
url:http://omnipotent.net/jquery.sparkline/#s-about
github:
browser:Firefox 2+, Safari 3+, Opera 9, Chrome and Internet Explorer 6+,ios和andriod設備
resume:使用內嵌在HTML中的數據或通過javascript直接生成微線圖(小內聯圖表),最主要的特點是可以生成波形圖。
9.tangle
url:http://worrydream.com/Tangle/
github:
browser:
resume:Tangle是一個JavaScript庫,用于創建活性文檔。讀者可以交互式地探索可能性,玩參數,并立即看到文檔更新。Tangle是超級簡單,容易學習。
小結:后面將分享6款地圖插件。
6款地圖插件:
1.Kartograph
url:http://kartograph.org/
github:https://github.com/kartograph/kartograph.py
browser:Internet Explorer 7+,chrome,Firefox
resume:Gregor Aisch開發的一個基于JavaScript和Python的非常炫的、完全使用矢量的庫。
2.leafletjs
url:http://leafletjs.com/
github:https://github.com/Leaflet/Leaflet
browser:Chrome,Firefox,Safari 5+,Opera 12+,IE 7–11
resume:leafletjs是一個開源的支持移動端的地圖插件,js文件僅僅有33kb,
3.Modest Maps
url:http://modestmaps.com/
github:https://github.com/modestmaps/modestmaps-js
browser:Firefox, Chrome, Opera, iOS, Android, and Internet Explorer 7-9.
resume:Modest Maps支持各種設備,也有很多版本。雖然是一款老的地圖插件,但是非常小、可擴展而且免費
4.polymaps
url:http://polymaps.org/
github:https://github.com/simplegeo/polymaps
browser:現代瀏覽器
resume:Polymaps依賴于SVG,因此在較新的瀏覽器中表現很好。
5.imagemapster
url:http://www.outsharked.com/imagemapster/
browser:Firefox, Chrome, Safari, Opera, IE6+
resume:ImageMapster是一個jQuery插件,它使你的HTML圖片像Flash一樣炫
6.datavlab
url:http://datavlab.org/
github:https://github.com/TBEDP/datavjs
browser:IE6+、chrome、safari、firefox、opear
resume:datav.js是為了降低日常對于可視化方法使用的成本,用數據可視化的方法幫助到更多的人。
現在來分享9款關系圖插件:
1.arborjs
url:http://arborjs.org/halfviz/#/a-new-hope
github:https://github.com/samizdatco/arbor
browser:IE6+,chrome,firefox
resume:基于jQuery的圖譜可視化庫,對于高版本的瀏覽器這個庫使用了HTML的canvas元素
2.cubism
url:http://square.github.io/cubism/
github:https://github.com/square/cubism
browser:官方未說明
resume:時間序列數據可視化的D3插件
3.gantti
url:http://bastianallgeier.com/gantti/
github:https://github.com/bastianallgeier/gantti
browser:IE7+、chrome、safari、firefox、opear
resume:是一款PHP的前端數據展示插件
4.getspringy
url:http://getspringy.com/
github:https://github.com/dhotson/springy/
browser:官方未說明
resume:Springy是一個使用JavaScirpt實現的有向圖布局算法,使用了真實世界中的一些物理原理,你可以隨意拖動圖表中的元素。
5.graphdracula
url:http://www.graphdracula.net/
github:https://github.com/strathausen/dracula
browser:官方未說明
resume:graphdracula是一組工具來顯示和布局互動圖表,以及各種相關算法。
6.sigamajs
url:http://sigmajs.org/
github:https://github.com/jacomyal/sigma.js
browser:IE9+,chrome,firefox
resume:一個非常輕量級的圖譜可視化庫。Sigma.js很漂亮,速度也快。
7.smoothiecharts
url:http://smoothiecharts.org/
github:https://github.com/joewalnes/smoothie/
browser:IE7+、chrome、safari、firefox、opear
resume:smoothiecharts是一個非常小的圖表庫為實時流媒體數據而設計的
8.timeplot
url:http://www.simile-widgets.org/timeplot/
github:
browser:官方未說明
resume:Timeplot是基于dhtml AJAXy部件繪圖時間序列和覆蓋基于時間的事件
9.visjs
url:http://visjs.org/
github:https://github.com/almende/vis/
browser:Chrome, Firefox, Opera, Safari, IE9+
resume:Vis.js是一個動態的、基于瀏覽器可視化庫。庫被設計成易于使用,處理大量的動態數據,使操作和交互的數據。時間表,包括組件庫數據集網絡、Graph2d,Graph3d。
End. 作者:夕陽白雪 via:36大數據 感謝!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。