成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > 基于 HTML5 WebGL 實(shí)現(xiàn)的醫(yī)療物流系統(tǒng)

基于 HTML5 WebGL 實(shí)現(xiàn)的醫(yī)療物流系統(tǒng)

熱門(mén)標(biāo)簽:如何查看地圖標(biāo)注 惡搞電話機(jī)器人 黃石ai電銷(xiāo)機(jī)器人呼叫中心 電話機(jī)器人技術(shù) 智能電銷(xiāo)機(jī)器人被禁用了么 欣鼎電銷(xiāo)機(jī)器人 效果 ok電銷(xiāo)機(jī)器人 高德地圖標(biāo)注商戶怎么標(biāo) 地圖標(biāo)注軟件打印出來(lái)

前言

物聯(lián)網(wǎng)( IoT ),簡(jiǎn)單的理解就是物體之間通過(guò)互聯(lián)網(wǎng)進(jìn)行鏈接。世界上的萬(wàn)事萬(wàn)物,都可以通過(guò)數(shù)據(jù)的改變進(jìn)行智能化管理。IoT 的興起在醫(yī)療行業(yè)中具有拯救生命的潛在作用。
不斷的收集用戶信息并且實(shí)時(shí)的進(jìn)行診斷,所以未來(lái)  IoT 肯定在醫(yī)療行業(yè)的應(yīng)用會(huì)呈覆蓋性。下面是我最近做的一個(gè)醫(yī)療物流系統(tǒng),用來(lái)觀察醫(yī)療物流過(guò)程。

ht官網(wǎng)鏈接:http://www.hightopo.com/cn-index.html

demo鏈接: https://www.hightopo.com/demo/pivas/
 

實(shí)現(xiàn)過(guò)程

增加光源

 整個(gè)原場(chǎng)景其實(shí)是非常暗的,所以需要使用燈光的效果照亮整個(gè)場(chǎng)景,使其接近真實(shí)世界的場(chǎng)景。

 我們看下對(duì)比。

light 的一些屬性:

type 代表燈光的類(lèi)型

color 代表燈光的顏色

intensity 代表燈光的強(qiáng)度(1是最大值)

range 代表范圍

addLight() {
        const skyBox = this.dm.getDataByTag('skyBox')

        // 限制視野在天空球之內(nèi)
        this.gv.setSkyBox(skyBox)
        const light = new ht.Light()
        const lightSource = this.dm.getDataByTag('sunlight').p3()

        const config = {
            'light.type': 'point',
            'light.color': 'white',
            'light.intensity': 0.3,
            'light.range': 10000
        }

        light.s(config)
        light.p3(lightSource)this.dm.add(light)
 }

 

看向物體

 看到左下角的一個(gè)小窗口,其實(shí)是另一個(gè)3d場(chǎng)景,把它定位到左下角的,兩個(gè)場(chǎng)景都使用了反序列化( deserialize )。

 因?yàn)橐ㄎ会t(yī)療箱移動(dòng),所以這里使用到了 flyTo 方法 。

var renderCanvas = function (medical, duration) {
    ht.Default.startAnim({
       duration,
       easing(v, t) {
         return t
       },
       action(v, t) {
         outScreenG3d.flyTo(medical, { direction: [-5, 3, 5], distance: 300 })
       }
    })
 }

 

封裝動(dòng)畫(huà)

如果要實(shí)現(xiàn)這么多的動(dòng)畫(huà),首先想到的是一個(gè)個(gè)物體進(jìn)行移動(dòng)的過(guò)程。醫(yī)療箱的行走、電梯的升降、傳送帶運(yùn)送醫(yī)療箱等我們都可以對(duì)它們的動(dòng)作進(jìn)行封裝。

如圖可以看到醫(yī)療箱總是在動(dòng),所以定義了一個(gè)行走的動(dòng)畫(huà),每次醫(yī)療箱行走的距離、行走方向、動(dòng)畫(huà)的配置都進(jìn)行傳參。

這里要說(shuō)明的參數(shù):

1.node(對(duì)應(yīng)的元素)

2.fn(動(dòng)畫(huà)執(zhí)行完進(jìn)行回調(diào)的函數(shù))

3.config(動(dòng)畫(huà)配置)

4.coord(方向軸)

// 行走動(dòng)畫(huà)
walkAnim(node, fn, config, coord) {
  const { duration, space } = config
  const positionArray = node.p3()
  let isShadow = false
   let ShadowNode = null
    // 如果移動(dòng)的元素是icu車(chē)或者供應(yīng)車(chē)的話 獲取它的陰影跟隨元素移動(dòng)
   if (node.getTag() === 'supply' || node.getTag() === 'icuCar') {
     isShadow = true
     ShadowNode = this.dm.getDataByTag(`${node.getTag()}Shadow`)
   }

   ht.Default.startAnim({
     duration,
     easing: function (t) {
        return t
      },
      action(v, t) {
        if (coord === 'x') {
            node.p3(positionArray[0] + t * space, positionArray[1], positionArray[2])
            isShadow && ShadowNode.p3(positionArray[0] + t * space, positionArray[1], positionArray[2])
        } else if (coord === 'y') {
            node.p3(positionArray[0], positionArray[1] + t * space, positionArray[2])
            isShadow && ShadowNode.p3(positionArray[0], positionArray[1] + t * space, positionArray[2])
         } else {
           node.p3(positionArray[0], positionArray[1], positionArray[2] + t * space)
           isShadow && ShadowNode.p3(positionArray[0], positionArray[1], positionArray[2] + t * space)
         }
      },
      finishFunc() {
         typeof fn === 'function' && fn(node)
      }
   })
}

物體之間的影響

電梯的升降會(huì)影響很多東西,比如頻臺(tái)的移動(dòng)會(huì)帶著傳送帶和醫(yī)療箱,這里我用到了 sethost 吸附方法(吸附:節(jié)點(diǎn)指定宿主,宿主進(jìn)行改變會(huì)影響節(jié)點(diǎn))。

很多場(chǎng)景下非常合適,我需要電梯升降的過(guò)程中帶用醫(yī)療箱和頻臺(tái)一起上升,還有醫(yī)療箱放到傳送帶的時(shí)候,醫(yī)療箱要?jiǎng)悠饋?lái),感覺(jué)是這真的傳送帶在帶動(dòng)醫(yī)療箱進(jìn)行運(yùn)動(dòng)。

這里要說(shuō)明的參數(shù):

1.node(操作的電梯元素)

2.medicalKit(醫(yī)療箱)

3.fn(動(dòng)畫(huà)執(zhí)行完進(jìn)行回調(diào)的函數(shù))

4.status (電梯上升和下降的狀態(tài))

5.config(動(dòng)畫(huà)配置)

 

// 電梯升降動(dòng)畫(huà)
    elevatorAnim(node, medicalKit, fn, status, config) {
        const self = this
        // 獲取電梯的index 讓對(duì)應(yīng)的頻臺(tái)也跟著動(dòng)
        const elevatorIndex = node.getTag().replace(/[^0-9]/ig, '') - 0
        // 獲取醫(yī)療箱的index 控制電梯升降的距離
        const medicalKitIndex = medicalKit.getTag().replace(/[^0-9]/ig, '') - 0
        const positionArray = node.p3()
        const station = self.dm.getDataByTag(`station${elevatorIndex}`)
        //吸附宿主
        station.setHost(node)
        medicalKit.setHost(node)
        // 設(shè)置升降狀態(tài)
        if (elevatorIndex === 3) self.elevatorRunning = true
        // 升降距離 status 為 0 的時(shí)候是下降 最低部位的距離是固定的 所以只需要控制上升的距離
        const medicalKitLevel = self.returnMedicalKitLevel(medicalKitIndex)
        // 電梯的屬性
        // 最低點(diǎn)的位置 Lowest
        // 如果有軌道的話 就去軌道的位置  否則就按照層數(shù) orbitalP
        // 第一層的位置  distance
        let space
        const addSpace = medicalKitIndex === 7 ? 100 : 0
        if (status == 1) {
            space = config.orbitalP ? config.orbitalP : config.distance + addSpace + (400 * medicalKitLevel)
        } else {
            space = config.Lowest
        }
        // 下降狀態(tài)時(shí) 醫(yī)療箱不會(huì)做動(dòng)作
        if (status === 0) {
            medicalKit.setHost()
        }
        return ht.Default.startAnim({
            duration: config.orbitalP ? 2000 : (medicalKitLevel === 0 && elevatorIndex == 3 ? 700 : 2500 + (medicalKitLevel * 1000)),
            action(v, t) {
                node.p3(
                    positionArray[0],
                    positionArray[1] + ((space - positionArray[1]) * t),
                    positionArray[2]
                )
            },
            finishFunc() {
                station.setHost()
                typeof fn === 'function' && fn(node)
            }
        })
    }

 

動(dòng)畫(huà)方法

 動(dòng)畫(huà)的過(guò)程中有個(gè)問(wèn)題需要處理就是等待電梯的動(dòng)畫(huà),醫(yī)療箱在動(dòng)畫(huà)過(guò)程中,需要判斷電梯是否在上升,如果不在地面的話,需要等待。

 我的思路是,當(dāng)醫(yī)療箱走到離電梯一點(diǎn)距離的時(shí)候,需要判斷電梯是否在上升狀態(tài),如果是的話,需要調(diào)用動(dòng)畫(huà)暫停的方法。

 當(dāng) elevatorRunning 為 false 的時(shí)候代表電梯沒(méi)有運(yùn)動(dòng),否則在運(yùn)動(dòng)中。

 電梯動(dòng)畫(huà)開(kāi)始的時(shí)候設(shè)置為 true,結(jié)束后設(shè)置變量為 false,  就可以監(jiān)控它的狀態(tài)了。

 ht.Default.startAnim 方法返回一個(gè)實(shí)例,利用 action 方法, 實(shí)現(xiàn)輪詢監(jiān)聽(tīng)動(dòng)畫(huà)狀態(tài),然后進(jìn)行操作。

 當(dāng) elevatorRunning 為 true 的話, 使用 anim.pause() 暫停當(dāng)前動(dòng)畫(huà)。

 當(dāng) elevatorRunning 為 false 的話, 使用 anim.resume() 繼續(xù)當(dāng)前動(dòng)畫(huà)。

const anim = ht.Default.startAnim({
  duration,
  action(v, t) {
    node.p3(
       positionArray[0],
       positionArray[1],
       positionArray[2] - (tpMax - positionArray[2]) * t
     );
     if (index > 1 && self.elevatorRunning === true) {
         if (node.p3()[2] <= stopMax) {
           anim.pause();
           const t = setInterval(() => {
             if (self.elevatorRunning === false) {
                anim.resume();
                clearInterval(t);
               }
           }, 100);
       }
    }
   },
   finishFunc() {
     typeof fn === "function" && fn();
   }
});

 

事件監(jiān)聽(tīng)(發(fā)布、訂閱)

 因?yàn)樾枰O(jiān)聽(tīng)某個(gè)當(dāng)前動(dòng)畫(huà)的結(jié)束,然后進(jìn)行相機(jī)位移。

 如圖,我需要監(jiān)聽(tīng)第一個(gè) 3d 場(chǎng)景中顯示提示文字動(dòng)畫(huà)結(jié)束,然后執(zhí)行第二個(gè) 3d 場(chǎng)景的顯示。因?yàn)?個(gè)是不同的場(chǎng)景,是不能用回調(diào)的方法監(jiān)聽(tīng)到的,所以這里就用到了 eventBus 事件總線。

 下面是 eventBus 的使用,第一個(gè)參數(shù)代表要監(jiān)聽(tīng)的注冊(cè)函數(shù)名,第二個(gè)是回調(diào)函數(shù)。

// 事件總線 監(jiān)聽(tīng)事件
eventbus.on('animation1', _ => {
  const medical = dm.getDataByTag('medicalKit1')
  renderView(medical, dm, gv)
})

 

下面是 eventBus 發(fā)射的使用,第一個(gè)參數(shù)代表要觸發(fā)的函數(shù)名,第二個(gè)是發(fā)射給函數(shù)的參數(shù)。

// 觸發(fā)事件
eventbus.emit("animation1", null); 

總結(jié)

 做完這個(gè) demo 之后,除了對(duì) HT for Web 更加熟練之外,對(duì)物聯(lián)網(wǎng)也有了更深刻的概念。

 我身為一名前端工作者,在這個(gè)時(shí)代感覺(jué)非常的自豪,因?yàn)槲夷芡ㄟ^(guò)自己的技能創(chuàng)造出許多能造福和改善人們生活的東西。

 希望大家看到我的 demo 能夠得到一些啟發(fā),同時(shí)也要相信自己能夠創(chuàng)造不可能,為社會(huì)做出貢獻(xiàn)。

標(biāo)簽:綏化 萍鄉(xiāng) 阿壩 中山 赤峰 金昌 盤(pán)錦 聊城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于 HTML5 WebGL 實(shí)現(xiàn)的醫(yī)療物流系統(tǒng)》,本文關(guān)鍵詞  基于,HTML5,WebGL,實(shí)現(xiàn),的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于 HTML5 WebGL 實(shí)現(xiàn)的醫(yī)療物流系統(tǒng)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于基于 HTML5 WebGL 實(shí)現(xiàn)的醫(yī)療物流系統(tǒng)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    狠狠艹夜夜干| 最新日韩在线| 国产剧情av在线| 97影院理论午夜| 日本一区二区三区免费观看| 福利一区视频| 性8sex亚洲区入口| 国产精品无码电影| 免费成人黄色大片| 亚洲欧洲一区二区天堂久久| 新片速递亚洲合集欧美合集| 国产精彩视频一区二区| 在线免费观看一区二区| 亚洲永久免费视频| 国产片在线观看| 欧美影视一区二区三区| 91久久爱成人| 91亚洲人电影| 麻豆精品蜜桃| 亚洲码国产岛国毛片在线| 欧美一区二区不卡视频| 性欧美13一14内谢| 茄子视频成人在线| 久久中文亚洲字幕| 欧美精品与人动性物交免费看| 亚洲欧美日韩成人在线| 色老头一区二区| 日韩欧美亚洲一区| 黄网视频在线观看| 亚洲国产精品毛片av不卡在线| 国产美女视频免费看| 污视频网站在线播放| 亚洲欧美韩国综合色| 女同性恋一区二区| 妺妺窝人体色777777| 阿v视频在线观看| 日韩午夜中文字幕| 欧美二区观看| 国产精品精品一区二区三区午夜版| 亚洲一卡二卡三卡四卡无卡久久| 久久久久久久久久久免费精品| 中文字幕精品久久| 日韩国产伦理| 中文字幕第7页| 亚洲电影一级黄| 精品国精品国产| 亚洲AV无码国产精品午夜字幕| 天天干视频在线| 色视频欧美一区二区三区| 97成人精品视频在线观看| 亚洲国产另类 国产精品国产免费| 在线观看国产一区二区三区| 91国产视频在线观看| 国产成人精品免高潮在线观看| 国产有色视频色综合| 国产性色一区二区| 国产专区精品| 日韩成人在线视频网站| 亚洲欧美日韩在线不卡| 一级黄色毛毛片| 久久综合影视| 先锋影音国产精品| 久久久久久亚洲| 丰满人妻一区二区三区53视频| 国产欧美久久久精品影院| 欧美日韩亚洲国内综合网俺| 欧美一区二区视频17c| 麻豆影视在线| 亚洲欧美日韩成人网| 激情成人开心网| 操一操视频一区| 男人的天堂视频在线| 国产高清精品久久久久| 亚洲国产视频一区二区| 亚洲韩国一区二区三区| 久久蜜桃av一区精品变态类天堂| 少妇搡bbbb搡bbb搡打电话| 久久久久狠狠高潮亚洲精品| 成人一区在线观看| 亚洲 小说 欧美 激情 另类| 性xxxfreexxxx性欧美| av电影天堂一区二区在线观看| 精品国产髙清在线看国产毛片| 中文精品无码中文字幕无码专区| 国产一级久久久| 2020久久国产精品| 久久精品国产免费| 91短视频推广| 精品裸体舞一区二区三区| 精品捆绑调教一区二区三区| 中文字幕一区二区三区精品| а天堂中文在线官网| 成人午夜精品久久久久久久蜜臀| 欧美日韩电影在线观看| 成人ar影院免费观看视频| 成人动漫在线免费观看| 欧美午夜影院在线视频| 99re在线视频| 91精品久久久久久久久久久久| 国产精品久久久亚洲| 99久久精品免费看国产小宝寻花| 一本色道久久综合无码人妻| 男女羞羞在线观看| 91国产在线免费观看| 亚洲欧洲精品一区| 久久久久久com| 91高清视频在线观看| 自拍偷拍一区| 三级网站在线| 国产青草视频在线观看视频| 久久国产亚洲精品| 人妻熟人中文字幕一区二区| 欧美一级淫片播放口| 中文一区在线| 国产h在线观看| 中文字幕日韩视频| 亚洲精品无码久久久久久久| 国产精品porn| 欧美高跟鞋交xxxxhd| 中文字幕视频一区| 国产污在线观看| 国产精品va在线播放| 国产三级精品在线不卡| 欧美三级日本三级| 天天精品视频| 中文字幕一二三区| 天天干天天干天天干| 嫩草影视亚洲| 亚洲乱码国产乱码精品精天堂| 色噜噜狠狠一区二区| 成人久久一区二区| 成人性教育av免费网址| 四虎成人精品永久免费av九九| 亚洲成人av动漫| 自拍小视频在线观看| 亚洲天天在线日亚洲洲精| 国产精品网在线观看| 国产精品久久久久久久久久久久久| 日韩av网址在线观看| av日韩中文| 亚洲一二三四久久| 日韩一区日韩二区| 91免费版看片| 久久久综合九色合综国产精品| 国产午夜精品一区二区三区欧美| 久久视频精品在线观看| 精品毛片免费观看| h片在线免费观看| 欧美日韩午夜视频在线观看| 少妇久久久久久被弄到高潮| 在线观看国产精品视频| 精品国产一区二区三区久久久狼| 日本xxxxxwwwww| 又大又长粗又爽又黄少妇视频| 久久久亚洲精品视频| 国产综合色精品一区二区三区| 亚洲国产美女搞黄色| 色婷婷在线视频| 国产91露脸中文字幕在线| 中文字幕久热精品在线视频| 日韩电影第一页| 91网站在线播放| 精品国产一区二区亚洲人成毛片| 九色精品高清在线播放| 免费日韩中文字幕| 美女尤物国产一区| 社区色欧美激情 | www.久久久久久久| 成视人a免费观看视频| 国产一区啦啦啦在线观看| 青青操视频在线| 电影91久久久| 午夜电影福利| 国产区一区二| 成年人网站在线| 欧美激情综合色综合啪啪五月| 日本超碰在线观看| 日本一区二区三区免费看| 欧美黄色免费| 中文在线资源| 国语对白做受xxxxx在线中国| 国产精品500部| 亚洲精品456| 影音av资源站| 欧美1819sex性处18免费| 97香蕉久久超级碰碰高清版| av在线播放国产| 国产精品成人在线| 搡老女人一区二区三区视频tv| 中文字幕欧美日韩久久| 婷婷丁香久久五月婷婷| 成人在线免费网站| 国产乱码精品一区二区亚洲| 国产在线日本| 97超碰资源站| 欧美大片网站| 久久这里只有精品视频网| youjizz.com在线观看| 亚洲精品在线网址| 中文字幕福利视频| 加勒比一区二区三区在线| 久久艹免费视频| 日韩免费视频播放| 免费在线黄色网址| 国产v日韩v欧美v| 爱爱爱免费视频在线观看| 高h调教冰块play男男双性文| 欧美在线视频观看免费网站| 精品夜夜嗨av一区二区三区| 私拍精品福利视频在线一区| 国产精品视频自在线| 欧美大片黄色| 国产精品免费区二区三区观看| 日日夜夜精品网站| 一级二级三级视频| 欧美一区二区大胆人体摄影专业网站| 欧美在线啊v一区| 91精品国产乱码久久蜜臀| 中文字幕久精品免费视频| 中文字幕av一区二区三区免费看| 色婷婷久久久| 亚洲图片在线观看| 久久久精品一区二区毛片免费看| juy有坂深雪中文字幕| 国产成人av一区二区三区| 好吊妞无缓冲视频观看| 最新视频 - x88av| 国产精品美女久久久久人| 波多野结衣二区三区| 伦理中文字幕亚洲| 56国语精品自产拍在线观看| 色内内免费视频播放| 欧美成人精品欧美一级| 91免费小视频| 波多野结衣亚洲| 91色在线看| 久久久蜜桃一区二区| 久久综合亚洲社区| 麻豆精品国产免费| 久久精品美女视频网站| 亚洲一区在线日韩在线深爱| 日韩电影在线观看电影| a视频免费在线观看| 久久五月精品中文字幕| 亚洲精品国产综合区久久久久久久| 国产精品三区www17con| 亚洲第一黄色网址| 久久一区二区三区电影| 亚洲图片在线播放| 色婷婷综合中文久久一本| 日本高清久久一区二区三区| 精品国产一区二区三区在线| 久久久久九九九| 久久久国产视频91| 国产中文字幕一区二区三区| 韩国精品福利一区二区三区| 欧美天堂在线观看| 亚洲曰韩产成在线| 神马久久一区二区三区| 小嫩嫩12欧美| 99精品一区二区三区| 97久草视频| 国产一区玩具在线观看| av一本久道久久综合久久鬼色| 色99之美女主播在线视频| 国产成人免费视频网站高清观看视频| 最新国产黄色网址| 日本高清视色| 制服.丝袜.亚洲.中文.综合| 午夜精品一区二区在线观看| 久久这里只有精品视频网| 中文日韩在线| 亚洲变态欧美另类捆绑| 99这里只有精品视频| 日韩中文字幕1| 国产在线一二三区| 国产精品极品| 三级网站视频在在线播放| 欧美日韩午夜在线| 全免费a级毛片| 国产人妻777人伦精品hd| 久九九久频精品短视频| www.国产一区| 久久99影视| 亚洲美女在线国产| 欧美极品美女视频网站在线观看免费| 毛片视频网站在线观看| 91看片淫黄大片一级在线观看| 麻豆免费在线观看| 寂寞少妇一区二区三区| 清纯唯美亚洲综合| 免费看一级大黄情大片| 乱色精品无码一区二区国产盗| 国产污视频在线| 欧美怡红院视频| 国产精品a成v人在线播放| 欧美大片在线播放| 又色又爽又黄18网站| 欧美极品影院| 久久国产精品久久久久久| 97精品国产97久久久久久免费| 一卡二卡三卡日韩欧美| 精品国产一区二区三区忘忧草| 欧美aaaaaaaa牛牛影院| 久久机热这里只有精品| 国产福利成人在线| 日韩在线视频第一页| 黄网站视频在线观看| 亚洲在线成人精品| 黄频网站在线观看| 亚洲一区二区三区加勒比| cao在线观看| 中文字幕66页| 亚洲网站视频福利| 欧美 日韩 国产 精品| 久久成人精品| 欧美xxxx18性欧美| 国产精品成人久久久久| 婷婷婷国产在线视频| 激情小说亚洲色图| 老司机aⅴ毛片免费观看| 中文字幕一区二区三区有限公司| 国产美女在线一区| 亚欧精品视频一区二区三区| 亚洲国产精品日韩| 欧美丝袜丝nylons| 九九热在线视频观看这里只有精品| 欧美午夜精品一区二区三区电影|