色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

HT for Web (Hightopo) 使用心得(3)- 吸附與錨點

圖撲-數字孿生 ? 來源:物聯網袋鼠 ? 作者:物聯網袋鼠 ? 2023-10-12 10:44 ? 次閱讀

吸附與錨點是 HT for Web 中兩個比較重要的概念。這兩個概念在執行交互和動畫時會經常被用到。

吸附,顧名思義,是一個節點吸附到另一個節點上。就像船底的貝類一樣,通過吸附到船身,在船移動的時候自己也會跟著移動;而錨點,則決定了哪個位置是該節點的坐標點位置。這里繼續以船舶為例,錨點就是船舶拋錨后船錨所在點,只不過船的錨點在船外面,而 HT 節點的錨點通常在其中心。并且這里的錨鏈是剛性的不能彎曲。

吸附

HT 既支持 2D 吸附,也支持 3D 吸附。這里我們以 2D 為例說明一下其用法。在使用之前,有幾個方法先在這里介紹一下:

getHost()和setHost(host)獲取和設置吸附宿主對象,當節點吸附上宿主圖元時,宿主移動或旋轉時會帶動所有吸附者。

getAttaches()獲取吸附到自身的所有節點的ht.List類型數組。

onHostChanged(oldHost, newHost)當吸附宿主對象發生變化時回調該函數,可重載做后續處理。

handleHostPropertyChange(event)當吸附宿主對象屬性發生變化時回調該函數,可重載做后續處理。

isHostOn(node)判斷該圖元是否吸附到指定圖元對象上。

isLoopedHostOn(node)判斷是否與指定圖元形成環狀吸附,如A吸附B,B吸附C,C吸附回A,則A,B和C圖元相互環狀吸附。

wKgaomUnXsCAU5zoABYSghk-0T0334.png

在上例中,我們創建了4個服務器,并且在他們之間配置了連線。另外我們在這里為它們配置了吸附關系:

Server 4 吸附到 Server 3, Server 3 吸附到 Server 2, Server 2 吸附到 Server 1。

這樣,如果 Server 1 動,那么 Server 2 便會跟著動。由于 Server 3 吸附在 Server 2 上,Server 3 也會跟著移動。同理,Server 4 也會跟著 Server 3 移動。

由于前兩篇文章已經講過 2D 圖紙及節點,連線的創建。這里主要是配置吸附關系。關鍵代碼如下:

/**************** 分別創建 HT 節點并添加到圖紙中 ************************/
// 創建4個服務器節點
const server1 = createServerNode(100, 100, 'Server 1 (Host)', {'label.color': 'red'});
const server2 = createServerNode(300, 100, 'Server 2');
const server3 = createServerNode(100, 300, 'Server 3');
const server4 = createServerNode(300, 300, 'Server 4');
/****************************** 創建連線 *************************************/
......
/****************************** 連線動畫 *************************************/
......
/****************************** 設置吸附 *************************************/
server2.setHost(server1);
server3.setHost(server2);
server4.setHost(server3);

這里面主要的代碼就是 setHost() 那三句。在設置了 Host 節點之后,我們可以通過 host.getAttaches() 方法獲取所有吸附到 Host 上的所有節點。

const attaches = server1.getAttaches(); // 獲取的 ht.List 長度為1,即只有 server2

需要注意的是,盡管這里獲取的吸附節點個數為1,但由于吸附節點的遞歸關系,Server 3 和 Server 4 也會被間接吸附到 Server 1 上面。

吸附旋轉

前面提過,設置吸附后的節點,不但會跟隨 Host 節點移動,還會根據 Host 節點旋轉,這是非常有用的一個功能。其邏輯由 HT for Web 內部實現,我們在這里調用即可。

wKgZomUnXsSAEfWWABaswcjWcRg266.png

錨點

如上圖所示,4臺服務器都圍繞著一個中心點旋轉,該中心點就是 Server 1 的錨點。同時,它也是 Server 1 坐標所在點。也就是說:錨點影響著節點的坐標位置,錨點同時也是節點旋轉和縮放的中心點。

在 HT 中,錨點是Node上一個重要的概念。節點繪制的是一個矩形區域,而錨點是決定了矩形區域中哪個位置是節點的坐標點位置。

錨點的值是一個百分比數值,{x:0,y:0}是在區域左上角,{x:1,y:1}是在區域右下角,HT 默認以{x:0.5,y:0.5}為錨點,也就是圖元中心點。如果為節點配置大于1或者小于0則錨點則該錨點將處于節點矩形區域之外。可以通過node.getAnchor和node.setAnchor獲取和設置錨點,也可以通過node.getAnchorX、node.setAnchorX、node.getAnchorY、node.setAnchorY方法單獨設置獲取。

? getAnchor()和setAnchor(x, y | {x:0.5,y:0.5})獲取和設置圖元的錨點,錨點影響著節點坐標位置,錨點同時也是旋轉和縮放的中心點

Hightopo 的官網示例從多個維度展示了錨點的作用:

wKgaomUnXseAcvQUAAraEXreQVw342.png

在 3D 場景中,其錨點原理上與 2D 類似,只不過這里增加了一個維度。獲取和設置錨點的方法如下:

? getAnchor3d()和setAnchor3d(x, y, z | [x, y, z])獲取和設置圖元的 3D 錨點。需要注意的是,要想單獨獲取 Z 軸方向上的錨點,這里需要使用 node.getAnchorElevation 而不是 node.getAnchorZ

下圖展示的是一個六面體在 3D 場景中的錨點位置。HT 節點默認的錨點是 {x: 0.5, y: 0.5, z: 0.5}。這里我們將其改成了 {x: 0, y: 0, z: 0},因此,這里的坐標軸顯示在六面體的一角而不是中心位置。

wKgZomUnXsqAfkjvAAM3JN9-OJ0584.png

小結

本節我們主要介紹了 HT 的吸附和錨點功能。節點的吸附可以讓節點跟隨它所吸附的宿主對象一起移動或旋轉。使用 HT 的 setHost() 方法可以設置節點的宿主對象,使用 getAttaches() 方法可以獲取所有吸附到該宿主對象上的節點。此外,還介紹了節點旋轉和縮放的中心點——錨點。錨點的值是一個百分比數值,HT 默認以 {x:0.5,y:0.5} 為錨點,也就是圖元中心點。可以通過 node.getAnchor() 和 node.setAnchor(x, y | {x:0.5,y:0.5}) 等方法獲取和設置錨點。


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HT
    HT
    +關注

    關注

    0

    文章

    43

    瀏覽量

    30512
  • Hightopo
    +關注

    關注

    0

    文章

    2

    瀏覽量

    4222
收藏 人收藏

    評論

    相關推薦

    HT for Web (Hightopo) 使用心得(1)- 基本概念

    本章主要介紹了 HT for Web 中的一些基本概念,包括:基礎數據 ht.Data、數據模型 ht.DataModel 和選擇模型 ht
    的頭像 發表于 09-11 10:45 ?1231次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (<b class='flag-5'>Hightopo</b>) 使<b class='flag-5'>用心得</b>(1)- 基本概念

    HT for Web (Hightopo) 使用心得(4)- 3D 場景 Graph3dView 與 Obj 模型

    這里我們通過代碼建立一個 3D 場景并添加一個 Obj 模型來介紹一下 HT for Web3D 場景和模型加載方面的使用。
    的頭像 發表于 11-20 11:05 ?965次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (<b class='flag-5'>Hightopo</b>) 使<b class='flag-5'>用心得</b>(4)- <b class='flag-5'>3</b>D 場景 Graph<b class='flag-5'>3</b>dView 與 Obj 模型

    MPLAB ICD 3 及PICKIT3 使用心得及注意事項

    `MPLAB ICD 3 及PICKIT3 使用心得及注意事項,與發燒友們共同分享!`
    發表于 11-24 15:38

    濾波電容的使用心得

    圖說濾波電容的使用心得,非常詳細,不信你還不懂~
    發表于 07-18 15:23

    關于Spartan6板子的使用心得

    給大家分享一下關于Spartan6板子的使用心得
    發表于 04-30 07:03

    TFT LCD使用心得

    TFT LCD使用心得體會的原因是,最近一段時間工作上一直在使用TFT LCD,主要是3.5寸LCD,以SAMSUNG的LTV350QV及其一些臺灣的兼容產品為主。工作的內容就是把這些屏在我們的產品上應用起
    發表于 10-16 13:04 ?45次下載

    詳細談談TFT LCD 的使用心得

    深入談談TFT LCD 的使用心得最近一段時間工作上一直在使用TFT LCD,主要是3、5 寸LCD,以SAMSUNG 的LTV350QV 及其一些臺灣的兼容產品為主。工作的內容就是把這些屏在我們的產品上
    發表于 03-18 17:49 ?3次下載

    ADXL345芯片使用心得

    ADXL345芯片使用心得,介紹使用傳感器過程的使用體會
    發表于 05-11 11:08 ?23次下載

    數字溫濕度傳感器DHT11使用心得

    溫濕度傳感器DHT11使用心得
    發表于 04-14 15:35 ?7次下載

    Django教程之Django的使用心得詳細資料免費下載

    本文檔的主要內容詳細介紹的是Django教程之Django的使用心得詳細資料免費下載。
    發表于 10-17 18:03 ?11次下載
    Django教程之Django的使<b class='flag-5'>用心得</b>詳細資料免費下載

    智慧服裝工廠電子看板試用心得

    智慧服裝工廠電子看板試用心得實現了企業生產的進度實時監控、現場拉式生產、生產節拍平衡和異常情況的反饋功能。而接下來我們主要討論的是智慧服裝工廠電子看板試用心得在生產線與倉庫之間的物料配送體系,要談到這個物料配送問題,則要首先考慮到物料的申請、準備、運輸追蹤和物料接收的流程
    的頭像 發表于 02-17 18:02 ?1152次閱讀
    智慧服裝工廠電子看板試<b class='flag-5'>用心得</b>

    HT for Web (Hightopo) 使用心得(2)- 2D 圖紙、節點、連線 與基本動畫

    概括來說,用 HT for Web 做可視化主要分為兩部分,也就是 2D 和 3D。這兩部分需要單獨創建。在它們被創建完成后,我們再把它們集成到一起。 HT for
    的頭像 發表于 09-21 10:52 ?1040次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (<b class='flag-5'>Hightopo</b>) 使<b class='flag-5'>用心得</b>(2)- 2D 圖紙、節點、連線 與基本動畫

    圖撲 HT for Web 風格屬性手冊教程

    圖撲軟件明星產品 HT for Web 是一套純國產化獨立自主研發的 2D 和 3D 圖形界面可視化引擎。HT for Web(以下簡稱
    的頭像 發表于 10-11 10:50 ?663次閱讀
    圖撲 <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> 風格屬性手冊教程

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

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

    HT for Web (Hightopo) 3D場景環境配置(天空球,霧化,輝光,景深)

    環形紋理作為天空背景。紋理通常是一個天空的全景圖(例如星空、日落、云層等),通過在球形網格的表面上將紋理映射,呈現出一個連續的、無縫的天空效果。 在 HT for Web中,天空球可以通過g3d.setSkybox(node)來
    的頭像 發表于 12-07 11:07 ?858次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (<b class='flag-5'>Hightopo</b>) <b class='flag-5'>3</b>D場景環境配置(天空球,霧化,輝光,景深)
    主站蜘蛛池模板: 日本福利片午夜免费观着 | 欧美日韩亚洲一区视频二区 | 久久婷婷五月综合色丁香花 | 一本一本之道高清在线观看 | 欧美黑人巨大videos免费 | 亚洲成人黄色在线 | 国产成人免费观看在线视频 | 亚洲色欲色欲无码AV | hd性欧美俱乐部中文 | 国产成人精品视频免费大全 | 午夜婷婷精品午夜无码A片影院 | 超碰97av 在线人人操 | 国产成人免费 | 欧美肥胖女人bbwbbw视频 | 世界第一黄暴漫画家 | 日韩在线看片中文字幕不卡 | 殴美黄色网 | 亚洲色图激情小说 | www.av天堂网.com| 国产野外无码理论片在线观看 | 国产午夜伦伦伦午夜伦 | 好男人好资源视频高清 | caoporen超碰在线视频 | 亚洲成人在线免费 | chinese东北老年tv视频 | 久久精品影视 | 欧美黄色精品 | 美女被爆羞羞天美传媒 | 久久婷五月综合色啪网 | 久久天天婷婷五月俺也去 | 男女久久久国产一区二区三区 | 伊人电院网 | 涩涩网站在线看 | 欧美2019高清hd巨大 | 色拍拍噜噜噜啦啦新网站 | 又黄又粗又爽免费观看 | 白丝女仆被强扒内裤 | CHINESE熟女老女人HD视频 | 乱辈通奷XXXXXHD猛交 | 手机在线观看mv网址 | 九九热免费在线观看 |