日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

echart实现3d地图_3D飞线效果——让线“飞”起来的秘密

發布時間:2024/9/27 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 echart实现3d地图_3D飞线效果——让线“飞”起来的秘密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在城市規劃、統計、交通等行業,地圖可視化已成為最直接也最吸引眼球的一種表達方式。例如人群遷徙、人口流動、OD出行、職住分析、客流來源等眾多場景都需要用到飛線效果呈現。

2D飛線效果圖

隨著可視化技術的進一步發展,傳統的2D飛線效果略顯單調,而3D飛線可以展示更豐富、更直觀、更炫酷的效果。

3D飛線效果圖

前不久,百度地圖慧眼結合地圖可視化技術發布了《帝都24小時圖鑒》(戳這里查看原文),該項目受到行業內許多技術愛好者的一致好評,更有小伙伴前來咨詢:文中炫酷的3D飛線效果是如何實現的?今天,就讓百度地圖慧眼前端工程師帶你探尋“3D飛線”飛起來的秘密。

01 元素準備

為了實現上圖的3D飛線效果,我們需要先分析一下飛線的構成元素。大致上來說,一個完整的飛線效果,無論是2D還是3D,都是由地點、連接線和連接線上的動畫點綴構成的。下面,帶大家一步步來看看每個部分的實現過程。

02 地點圓的實現

地點圓的組成元素有兩樣,一個靜態的圓形和一個向外逐漸擴散并變透明的圓環。畫出這兩個圖形并不難,但是怎么讓這個擴散的圓環動起來呢?

要實現動畫,我們可以首先想象一個場景:在一個小本子上的每一頁都畫一個一模一樣的沒有腿的小人兒,再在每一頁給這個小人畫上位置不同的腿,然后快速翻動本子,就可以看到小人兒奔跑的動畫了。

現在圓形和圓環都已經畫好了,為了讓圓環動起來,就需要使用一個名為requestAnimationFrame的函數,簡稱rAF,rAF是瀏覽器里專門用于動畫效果的一個函數。所以接下來我們在全局設置一個rAF讓它一直循環,然后在其中進行一些動畫操作,比如這里修改圓環的大小和透明度。而這個rAF就是“畫腿”的過程。

03 連接線的實現

畫完了點,我們就要開始準備連接線了。畫一條連接線很簡單,但是這里為了讓它的效果更豐富,就需要處理了一下線條的細節:

1)通過貝塞爾曲線算法,將直線拉成曲線,在3D視角下看起來更有張力。

2)給組成曲線的每個頂點賦值不同的顏色,達到顏色、透明度漸變的效果,使其看起來不那么單調。

04 讓線“飛起來”

完成了上述的準備工作,接下來才是重頭戲。

首先,我們在連接線的軌跡上再給它附著上一根帶有寬度的線作為點綴,為了避免這根點綴的線看起來太呆,我們用三角函數處理一下它的寬度,讓它看起來扭曲一點。然后,我們就要用到上文所說的rAF讓它動起來了!

那么問題來了,控制顏色和透明度很簡單,該怎么控制它按軌跡移動以及出現與消失呢?

這里用到一個小技巧,我們知道“線”有一個實線與虛線的屬性,在這里我們把這根點綴線設置成虛線,然后通過在rAF里修改虛線的dashOffset屬性,讓它沿著連接線的軌跡一直偏移,就可以在視覺上造成移動的效果了~另外,還可以在rAF里同時改變點綴線的寬度,造成一種“呼吸感”的動畫效果,這樣上面的動畫就完成了。

可是這樣的效果還略顯呆板,太過整齊劃一的動畫看久了容易審美疲勞,所以我們再給這個虛線的長度加一份隨機的偏移,讓它們有一種不規律感。這樣,最終版3D飛線就完成了!

05 更多可能效果

之所以說在3D場景,飛線的效果更豐富,就是因為在上面的基礎上,我們可以繼續發揮,做出更多效果、適配更多場景的飛線~

換個貼圖后的樣子

模仿噴泉的樣子

模仿流星的樣子

06 應用成效

百度地圖慧眼3D飛線可視化技術,使得人群遷徙、人口流動、OD出行、職住分析、客流來源等場景得以生動、形象表達,有助于城市規劃、統計、交通等行業的可視化管理。下圖是百度地圖慧眼人口監測可視化大屏的效果樣例:

總結

以上是生活随笔為你收集整理的echart实现3d地图_3D飞线效果——让线“飞”起来的秘密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。