0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于 HT for Web 插件搭建組態(tài)拓撲結(jié)構(gòu)

圖撲-數(shù)字孿生 ? 來源:圖撲-數(shù)字孿生 ? 作者:圖撲-數(shù)字孿生 ? 2024-08-01 11:20 ? 次閱讀

wKgaomaq_smAOkA6AAYjuUClU6w433.png

在現(xiàn)代的數(shù)據(jù)可視化和網(wǎng)絡(luò)管理中,拓撲圖是一種非常重要的工具。它可以直觀地展示節(jié)點(Node)和節(jié)點之間的關(guān)系(Edge)。無論是在 2D 還是 3D 環(huán)境中,拓撲圖都可以幫助我們更好地理解和管理復(fù)雜的系統(tǒng)。

然而,由于這些拓撲圖通常極為復(fù)雜,傳統(tǒng)的手動布局方式不僅繁瑣且耗時。鑒于此,圖撲軟件自研 HT for Web 產(chǎn)品(以下簡稱為 HT)推出了自動布局、彈力布局插件,從根本上解決了這一問題。

wKgZomaq_sqAVxRYABNxX23nqn0910.gifwKgaomaq_suAfs9yAAj3fhEHg4s517.gif

這些案例不僅限于 2D 和 3D 拓撲圖,還涉及到 GIS 場景的應(yīng)用,展示了廣泛的應(yīng)用場景和強大的功能。

自動布局在 2D 中的運用

圖撲軟件 HT 自動布局插件總共有七種布局方式:圓形布局、對稱布局、層次布局、朝北布局、朝南布局、朝東布局和朝西布局。

wKgZomaq_suAZEf2AA30TCME7Xg463.gif

在拓撲圖的制作過程中,我們會使用自動布局來進行初始布局操作。然而,自動布局并非萬能良藥,無法在所有情況下都完全達到我們的預(yù)期效果。因此,通常在自動布局之后,我們也會對圖紙進行一些手動微調(diào),以達到優(yōu)質(zhì)的展示效果。

wKgaomaq_tGAP3kfAAC5BDYnR9w84.jpeg

以上圖示例為例,圖內(nèi)拓撲是從左到右布局的效果。盡管節(jié)點之間呈簡單的樹形層次關(guān)系,但節(jié)點位置錯落不齊,并且需要使用多種類型的連線,所以單純使用自動布局達不到預(yù)期的效果。接下來簡單介紹一下這個 demo 的實現(xiàn)步驟:

1.在圖紙上創(chuàng)建好節(jié)點并設(shè)定節(jié)點之間的連線關(guān)系后,我們可以使用自動布局來進行初始布局操作。在示例中,我們希望展示一個從左到右的布局,這時可以使用自動布局工具中的朝東布局(towardeast)來實現(xiàn)這一效果。設(shè)置自動布局的相關(guān)代碼:

let autoLayout = new ht.layout.AutoLayout(view, {

gap: 30

});

layout(false);

function layout(animate) {

autoLayout.setAnimate(animate);

autoLayout.layout('towardeast', function () {

view.fitContent(animate);

});

}

wKgZomaq_tKAek2xAATAbyP733o741.gif

朝東布局(towardeast)僅適用于樹形層次結(jié)構(gòu)。如果圖紙中存在非樹形層次結(jié)構(gòu)的連線,在初始布局時可以先不進行連線操作,待自動布局完成后再創(chuàng)建相應(yīng)的連線。

2.手動調(diào)整節(jié)點的位置:在獲取到節(jié)點后,通過 node.setPosition ({x: 100, y: 100}) 方法重新設(shè)置其位置。最終可以得到如下的效果圖:

wKgaomaq_teAHN2VAASQR411ZTs828.gif

3.經(jīng)過步驟 2 后,整體拓撲仍顯雜亂。此時,可以根據(jù)節(jié)點的位置等因素,調(diào)整連線的類型、間距和錨點等屬性。同時,還可以修改連線的顏色和寬度等樣式屬性,以實現(xiàn)理想效果。調(diào)整完成后的效果如下:

wKgZomaq_tiAWcdgAAZALvN9lZs955.gif

4.最后再加上一些文本內(nèi)容,一個完整的拓撲圖就完成了。

wKgaomaq_tmAcOzYAAzQUOrVdxo236.gif

自動布局在 3D 中的運用

隨著 OpenGL 和 WebGL 等圖形技術(shù)的發(fā)展,3D 視覺表達方式越來越受到重視。拓撲圖的呈現(xiàn)方式也從傳統(tǒng)的 2D 展示逐漸轉(zhuǎn)向更立體和動態(tài)的 3D 展現(xiàn)。圖撲 HT 的自動布局功能不僅在 2D 中廣泛應(yīng)用,在 3D 中也同樣適用。

無論是在 2D 還是 3D 環(huán)境中,自動布局的使用方式都是一致的。在 3D 環(huán)境中,自動布局實際上設(shè)置的是 3D 坐標(biāo)中的 xz 平面。對于 3D 場景中獨有的的 y 軸,則需要通過 node.setElevation(elevation) 方法來進行設(shè)置。

只設(shè)置了自動布局產(chǎn)生的效果如下:

wKgZomaq_tqATIZ_AAqvMFx95L4227.gif

根據(jù)層級設(shè)置不同 y 軸坐標(biāo)產(chǎn)生的效果:

wKgaomaq_tuASoCFACbLb-jK8LU006.gif

彈力布局

彈力布局又稱之為導(dǎo)向布局,根據(jù)節(jié)點之間的斥力、相互連接的節(jié)點之間存在在引力運行,并且會逐漸達到收斂穩(wěn)定的平衡狀態(tài)。彈力布局具有指向性,通常用于標(biāo)識物與物、人與人之間的關(guān)系,這種布局方式特別有助于表達元素之間的關(guān)聯(lián)性和依賴性,使用戶直觀地觀察到各個元素之間的交互和聯(lián)系。

接下來用一個示例來演示彈力布局的實現(xiàn)過程,示例效果如下:

wKgZomaq_tyAfqfZAFAH11-FGww482.gifwKgaomaq_t-ASi5HAEEpm2amRc8380.gif

在圖紙上創(chuàng)建好節(jié)點并設(shè)置好節(jié)點間的連線關(guān)系后,就可添加彈力布局相關(guān)代碼。在實例化 ht.layout.ForceLayout 時,可以傳入 DataModel 、GraphView 和 Graph3dView 三種參數(shù)。默認僅對未選中圖元進行布局,如果參數(shù)為 GraphView 和 Graph3dView 時,則視圖組件的 isMovable 和 isVisible 函數(shù)將影響圖元是否可布局,圖元 style 上的 layoutable 屬性也可設(shè)為 false 阻止圖元參與布局。

const forceLayout = new ht.layout.ForceLayout(view);

forceLayout.start(); // 啟動彈力布局

forceLayout.setNodeRepulsion(0.7) // 設(shè)置節(jié)點間斥力,值越大節(jié)點間斥力越大,節(jié)點布局越分散。

forceLayout.setEdgeRepulsion(0.7) // 設(shè)置節(jié)點間斥力,值越大連線節(jié)點間斥力越大,連線節(jié)點布局越分散。

view.setZoom(0.38); // 設(shè)置圖紙縮放值

在 3D 中也可使用 ht.layout.Force3dLayout 類來設(shè)置彈力布局,具體設(shè)置方式同 ht.layout.ForceLayout。

wKgZomaq_uCAG-OGAAX2xlzF6Ws939.gif


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 組態(tài)
    +關(guān)注

    關(guān)注

    0

    文章

    143

    瀏覽量

    14807
  • 數(shù)據(jù)可視化

    關(guān)注

    0

    文章

    454

    瀏覽量

    10221
收藏 人收藏

    評論

    相關(guān)推薦

    HT for Web并力ARMxy工業(yè)計算機實現(xiàn)數(shù)字化轉(zhuǎn)型可視化解決方案

    ,用戶可以輕松設(shè)計出直觀的監(jiān)控場景,實現(xiàn)對工業(yè)過程的實時數(shù)據(jù)展示和交互控制。而ARMxy系列產(chǎn)品以其強大的數(shù)據(jù)處理能力和靈活的IO配置,精準(zhǔn)響應(yīng)生產(chǎn)需求,驅(qū)動自動化流程,助力企業(yè)實現(xiàn)數(shù)字化轉(zhuǎn)型。 一、HT for Web軟件簡介 HT
    的頭像 發(fā)表于 08-28 16:17 ?258次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b>并力ARMxy工業(yè)計算機實現(xiàn)數(shù)字化轉(zhuǎn)型可視化解決方案

    基于圖撲 HT for Web 實現(xiàn)拓撲關(guān)系圖

    拓撲結(jié)構(gòu)在計算機網(wǎng)絡(luò)設(shè)計和通信領(lǐng)域中非常重要,因為它描述了網(wǎng)絡(luò)中的設(shè)備(即“點”)如何相互連接(即通過“線”)。這種結(jié)構(gòu)不僅涉及物理布局,即物理拓撲,還可以涉及邏輯或虛擬的連接方式,即
    的頭像 發(fā)表于 06-24 14:09 ?301次閱讀
    基于圖撲 <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> 實現(xiàn)<b class='flag-5'>拓撲</b>關(guān)系圖

    VSCODE IDF插件加載web視圖出錯的原因?怎么解決?

    Vscode無論是安裝espidf4.4 還是4.2 ,都不能打開配置引導(dǎo)頁面,提示加載web視圖出錯, 重裝idf插件一樣無效,
    發(fā)表于 06-13 07:38

    什么是Mesh?Mesh組網(wǎng)拓撲結(jié)構(gòu)淺析

    什么是Mesh?Mesh組網(wǎng)拓撲結(jié)構(gòu)淺析? Mesh(網(wǎng)狀結(jié)構(gòu))是一種網(wǎng)絡(luò)拓撲結(jié)構(gòu),它由多個節(jié)點相互連接而成,每個節(jié)點都可以直接與其他節(jié)點通
    的頭像 發(fā)表于 02-04 14:07 ?2279次閱讀

    網(wǎng)絡(luò)拓撲結(jié)構(gòu)有哪幾種類型 網(wǎng)絡(luò)拓撲結(jié)構(gòu)的優(yōu)缺點

    網(wǎng)絡(luò)拓撲結(jié)構(gòu)是指計算機網(wǎng)絡(luò)中節(jié)點與連接線之間的總體布局形式。根據(jù)節(jié)點與連接線的布局形式,網(wǎng)絡(luò)拓撲結(jié)構(gòu)可以分為以下幾種類型: 星型拓撲:星型
    的頭像 發(fā)表于 02-04 10:22 ?1776次閱讀

    網(wǎng)絡(luò)拓撲結(jié)構(gòu)的隱患和網(wǎng)絡(luò)硬件的安全缺陷屬于

    網(wǎng)絡(luò)拓撲結(jié)構(gòu)的隱患和網(wǎng)絡(luò)硬件的安全缺陷是當(dāng)前網(wǎng)絡(luò)安全領(lǐng)域中的重要問題。隨著互聯(lián)網(wǎng)的不斷發(fā)展和普及,網(wǎng)絡(luò)拓撲結(jié)構(gòu)和網(wǎng)絡(luò)硬件的安全問題日益凸顯。本文將詳細分析網(wǎng)絡(luò)
    的頭像 發(fā)表于 01-31 14:54 ?1370次閱讀

    什么是計算機網(wǎng)絡(luò)的拓撲結(jié)構(gòu)?主要的拓撲結(jié)構(gòu)有哪些?

    計算機網(wǎng)絡(luò)的拓撲結(jié)構(gòu)是指計算機網(wǎng)絡(luò)中各個節(jié)點(包括計算機、服務(wù)器、路由器等)之間連接的方式和形式。拓撲結(jié)構(gòu)可以影響到網(wǎng)絡(luò)的性能、可靠性和擴展性。在計算機網(wǎng)絡(luò)中,常見的
    的頭像 發(fā)表于 01-31 10:40 ?1582次閱讀

    網(wǎng)絡(luò)拓撲結(jié)構(gòu)有哪幾種類型 網(wǎng)絡(luò)拓撲結(jié)構(gòu)優(yōu)缺點

    網(wǎng)絡(luò)拓撲結(jié)構(gòu)是指網(wǎng)絡(luò)中各個節(jié)點(計算機、路由器等)之間的連接方式。根據(jù)節(jié)點之間的連接方式不同,網(wǎng)絡(luò)拓撲結(jié)構(gòu)可以分為以下幾種類型: 星型拓撲
    的頭像 發(fā)表于 01-30 10:04 ?1291次閱讀

    工控系統(tǒng)Web組態(tài)工具的特點

    組態(tài)軟件的定義 組態(tài)軟件主要作為SCADA系統(tǒng)及其他控制系統(tǒng)的上位機人機界面的開發(fā)平臺,為用戶提供快速地構(gòu)建工業(yè)自動化系統(tǒng)數(shù)據(jù)采集和實時監(jiān)控功能服務(wù)。它使用靈活的組態(tài)方式,提供快速構(gòu)建
    的頭像 發(fā)表于 01-26 15:31 ?711次閱讀
    工控系統(tǒng)<b class='flag-5'>Web</b><b class='flag-5'>組態(tài)</b>工具的特點

    DDR拓撲結(jié)構(gòu)的詳細解析

    在進行多片DDR設(shè)計的時候,通常DDR會存在拓撲結(jié)構(gòu), 下面我們將詳細介紹一下各種拓撲結(jié)構(gòu)的區(qū)別以以及應(yīng)用場景。 首先我們先介紹一下,當(dāng)只存在一片DDR的時候通常是采用點對點的連接方式
    的頭像 發(fā)表于 12-26 07:45 ?1061次閱讀
    DDR<b class='flag-5'>拓撲</b><b class='flag-5'>結(jié)構(gòu)</b>的詳細解析

    eclipse安裝web插件步驟

    Eclipse 是一款功能強大的集成開發(fā)環(huán)境 (IDE),廣泛用于 Java 開發(fā)和各種 Web 應(yīng)用程序的開發(fā)。通過安裝適當(dāng)?shù)?b class='flag-5'>插件,可以將 Eclipse 轉(zhuǎn)變?yōu)橐粋€強大的 Web 開發(fā)工具。本文
    的頭像 發(fā)表于 12-06 13:48 ?968次閱讀

    eclipse中沒有web怎么辦

    在Eclipse中沒有Web的情況下,可以采取以下的解決方法: 第一種方法是通過Eclipse的插件來添加Web開發(fā)功能。原始的Eclipse版本可能不包含Web開發(fā)的相關(guān)
    的頭像 發(fā)表于 12-06 11:30 ?2329次閱讀

    HT for Web (Hightopo) 使用心得(5)- 動畫的實現(xiàn)

    其實,在 HT for Web 中,有多種手段可以用來實現(xiàn)動畫。我們這里仍然用直升機為例,只是更換了場景。增加了巡游過程。 使用 HT 開發(fā)的一個簡單網(wǎng)頁直升機巡邏動畫(Hightopo 使用心
    的頭像 發(fā)表于 11-29 11:04 ?705次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (Hightopo) 使用心得(5)- 動畫的實現(xiàn)

    電路拓撲結(jié)構(gòu)方案介紹

    電子發(fā)燒友網(wǎng)站提供《電路拓撲結(jié)構(gòu)方案介紹.doc》資料免費下載
    發(fā)表于 11-14 11:27 ?1次下載
    電路<b class='flag-5'>拓撲</b><b class='flag-5'>結(jié)構(gòu)</b>方案介紹

    國產(chǎn)常用Web組態(tài)編輯器(含開源軟件)

    組態(tài)軟件最早出現(xiàn)在80年代初,那時是基于DOS系統(tǒng)開發(fā)的,當(dāng)時的主要產(chǎn)品是Onspec、Paragon等;進入90年代,主要是基于WINDOWS系統(tǒng)的組態(tài)軟件,如Intouch、Kingview、Ifix 等;隨著物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的高速發(fā)展,當(dāng)下最熱的
    的頭像 發(fā)表于 11-06 17:31 ?2384次閱讀
    國產(chǎn)常用<b class='flag-5'>Web</b><b class='flag-5'>組態(tài)</b>編輯器(含開源軟件)