換了新工作,也確定了我未來數(shù)據(jù)可視化的發(fā)展方向。新年第一篇博客,又逢春運(yùn),這篇技術(shù)文章就來交給大家如何做一個(gè)酷炫的遷徙圖(支持移動哦)。(求star 代碼點(diǎn)這里

   遷徙圖的制作思路分為靜態(tài)的元素和變換的動畫。其中動畫是圍繞著靜態(tài)的元素變換,所以我們首要的任務(wù)就是如何繪制靜態(tài)的元素。

  仔細(xì)看一下,靜態(tài)的元素分為弧線(Arc)、弧線端點(diǎn)的箭頭(Marker),動畫部分主要是弧線終點(diǎn)向脈沖波一樣的圓(Pulse),以及像流星一樣的動態(tài)小箭頭和弧線的光暈,這兩個(gè)我們放在一起成為Spark。我們可以看到Spark主要在弧線上運(yùn)動,如果你仔細(xì)觀察一下會發(fā)現(xiàn)終點(diǎn)處點(diǎn)頭的指向也是朝著終點(diǎn)處的切線方向,所以我們把主要的任務(wù)放在如何根據(jù)兩個(gè)點(diǎn)繪制一段弧線。

  我們要繪制這段弧線就要知道圓心和半徑,而數(shù)學(xué)定理告訴我們的是三點(diǎn)定圓,過兩個(gè)點(diǎn)的圓有無數(shù)個(gè),所以我們只能找一個(gè)比較合適的圓。

  所以現(xiàn)在的問題變成了已知兩點(diǎn)pointF和pointT,求一個(gè)合適的圓心pointC (xc, yc);

  根據(jù)pointF和pointT所以我們能夠確定一條直線,他的斜率 kt =(yt - yf)/ (xt - xf);

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式