• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Open Inventor的座椅壓力圖形化顯示

    2018-02-25 11:54:22周浩杰高峰石金繼
    電子技術(shù)與軟件工程 2018年11期
    關(guān)鍵詞:機(jī)軟件圖形化視圖

    周浩杰 高峰 石金繼

    摘要 通過壓力傳感器獲取座椅上的壓力值分布數(shù)據(jù),基于vc++與Open Inventor編寫上位機(jī)軟件,將壓力分布數(shù)據(jù)通過串口通信方式實(shí)時(shí)上傳到上位機(jī),將獲得的數(shù)據(jù)實(shí)時(shí)顯示在上位機(jī)上,并將數(shù)據(jù)繪制成三維圖像,使設(shè)計(jì)人員不必面對(duì)一系列復(fù)雜、抽象、雜亂的數(shù)據(jù),便于分析座椅壓力分布是否合理,減少設(shè)計(jì)人員設(shè)計(jì)座椅的難度。

    [關(guān)鍵詞]座椅 Open Inventor圖形化顯示vc++

    1 引言

    座椅在人們的生活中十分普遍,辦公室工作的人大部分工作時(shí)間是在座椅上度過的。長時(shí)間的坐姿容易使人產(chǎn)生疲勞。大量研究表明,一個(gè)設(shè)計(jì)良好的座椅,可以有效地緩解長時(shí)間工作帶來的疲勞。以往在設(shè)計(jì)座椅的時(shí)候,設(shè)計(jì)師們往往采用傳統(tǒng)的人機(jī)工程學(xué)理論和方法來評(píng)價(jià)座椅是否舒適,這種評(píng)價(jià)方式的客觀性很容易受到測試者自身的影響,很少考慮到座椅和人體之間的壓力分布情況。通過壓力傳感器獲得人體與座椅之間的壓力分布數(shù)據(jù),并通過上位機(jī)直觀的展現(xiàn)出來,設(shè)計(jì)人員就能夠了解人體各部位所承受的壓力,進(jìn)而改善座椅的結(jié)構(gòu)。如何有效地表達(dá)和顯示人體對(duì)座椅壓力的分布情況將是設(shè)計(jì)人員面臨的一大問題。因此,對(duì)于基于Open Inventor的座椅壓力圖形化顯示上位機(jī)軟件的研究就很有必要了。通過該上位機(jī)軟件設(shè)計(jì)人員可以直觀地觀察人體和座椅接觸面之間的壓力分布情況,從而設(shè)計(jì)出更加人性化、更加舒適的座椅,減輕座椅給人體帶來的不舒適感。

    2 0pen Inventor簡介

    Open Inventor是一個(gè)面向?qū)ο蟮?、廣泛應(yīng)用于三維場景的圖形軟件開發(fā)包。它作為一組組件庫,能夠以最少的代碼編寫出強(qiáng)大的圖形硬件功能的程序。Open Inventor構(gòu)建復(fù)雜三維場景一般比OpenGL方便得多。這是因?yàn)镺pen Inventor構(gòu)建三維場景的方式完全不同于OpenGL,這種構(gòu)建方式類似于“搭積木”的方式。通過對(duì)象與對(duì)象之間的直接拼接、組合來構(gòu)造復(fù)雜、優(yōu)美的三維場景是十分方便、快捷、直觀的。

    3 軟件的功能分析及流程設(shè)計(jì)

    3.1 軟件功能分析

    上位機(jī)軟件的主要任務(wù)是將一系列抽象而雜亂的數(shù)據(jù)通過一定的處理轉(zhuǎn)化為可視的、直觀的三維圖像,從而實(shí)現(xiàn)對(duì)座椅壓力分布情況的監(jiān)測,通過對(duì)座椅壓力分布情況的進(jìn)一步分析,從而能夠了解座椅的舒適性。因此,上位機(jī)軟件需具備以下幾項(xiàng)主要功能:

    (1)樣本數(shù)據(jù)的顯示。設(shè)計(jì)人員可以清楚的觀察到人體和座椅之間指定位置處的壓力數(shù)據(jù)。

    (2)實(shí)時(shí)數(shù)據(jù)三維圖形化顯示。設(shè)計(jì)人員可以實(shí)時(shí)且直觀地觀察人體與座椅之間的壓力分布情況。

    3.2 軟件開發(fā)流程

    根據(jù)實(shí)際功能的需要,對(duì)座椅壓力圖形化顯示上位機(jī)軟件的開發(fā)流程進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)采集數(shù)據(jù)在下位機(jī)與上位機(jī)之間的數(shù)據(jù)傳輸與處理。接收到的數(shù)據(jù)顯示方式有兩種:一種是樣本數(shù)據(jù)在ListCtrl控件上直接顯示,另一種是先在樣本數(shù)據(jù)的基礎(chǔ)上利用MATLAB三次貝塞爾插值函數(shù)獲得新數(shù)據(jù),再將這些新數(shù)據(jù)經(jīng)過Open Inventor的處理,從而實(shí)現(xiàn)數(shù)據(jù)圖形化顯示。

    開發(fā)流程如圖1所示。

    該流程分為三個(gè)步驟。第一步,STM32通過壓力傳感器獲取人體對(duì)座椅的壓力數(shù)據(jù)并傳入到串口內(nèi)存中。第二步,通過通信協(xié)議將上位機(jī)和下位機(jī)連接在一起,并將測得的數(shù)據(jù)實(shí)時(shí)地傳送給上位機(jī)軟件。第三步,上位機(jī)軟件完成數(shù)據(jù)的接收、數(shù)據(jù)的顯示和數(shù)據(jù)三維圖形的繪制。

    4 上位機(jī)程序設(shè)計(jì)

    4.1 窗口視圖靜態(tài)分割程序設(shè)計(jì)

    在MFC的SDI視圖中,默認(rèn)情況下一個(gè)文檔只能對(duì)應(yīng)于一個(gè)視圖,這樣不能很好的完成數(shù)據(jù)的顯示功能。為了更好的顯示樣本數(shù)據(jù)和座椅壓力圖形化的分布視圖,這就需要有兩個(gè)視圖類,可以利用CSplitterWnd::CreateStatic對(duì)視圖進(jìn)行靜態(tài)分割,同時(shí)使用CreateView函數(shù)添加新視圖。將原始視圖分割為兩個(gè)視圖,CFormView視圖類用來顯示樣本數(shù)據(jù),CView視圖類用來繪制數(shù)據(jù)壓力分布的三維圖形。

    4.2 MATLAB插值程序設(shè)計(jì)

    基于樣本數(shù)據(jù)不足以繪制出平滑、精致的三維曲面,因此,需要利用某種插值函數(shù)對(duì)樣本數(shù)據(jù)進(jìn)行處理。Visual C++ 2008本身并沒有直接用來進(jìn)行插值的函數(shù),而MATLAB是一個(gè)強(qiáng)大的數(shù)學(xué)和圖像處理工具。為了使Visual C++ 2008能使用MATLAB中的功能函數(shù),需要對(duì)其進(jìn)行一定的處理。它的基本思想是:把MATLAB中的功能模塊作為一個(gè)函數(shù),再通過MATLAB的某些指令,將函數(shù)轉(zhuǎn)化成動(dòng)態(tài)鏈接庫(dll)文件,Visual C++2008便可直接調(diào)用特定的接口函數(shù),從而實(shí)現(xiàn)調(diào)用MATLAB中的功能函數(shù)的目的。

    4.3 樣本數(shù)據(jù)顯示程序設(shè)計(jì)

    在類向?qū)е刑砑覥SplitterWndView類,基類選擇為CFormView,該視圖顯示樣本數(shù)據(jù)。為了更直觀、條理的顯示樣本數(shù)據(jù),這里使用ListCtrl控件。

    4.4 座椅圖形化顯示程序設(shè)計(jì)

    在類向?qū)е刑砑覥PaintOIV類,基類選擇為CView,該視圖顯示樣本數(shù)據(jù)。文檔視圖框架將數(shù)據(jù)處理和視圖顯示聯(lián)系在一起,當(dāng)文檔數(shù)據(jù)改變時(shí),在視圖類中調(diào)用文檔UpdataAllViews成員函數(shù)即可以更新視圖。

    5 運(yùn)行效果

    上位機(jī)軟件運(yùn)行界面如圖2所示。

    該上位機(jī)軟件可以實(shí)現(xiàn)如下功能:

    (1)通信端口可選:可以從COM1、COM2. COM3. COM4. COM5、COM6.COM7中選擇合適的通信端口。默認(rèn)端口為COMl;

    (2)實(shí)時(shí)、準(zhǔn)確地將下位機(jī)上傳的數(shù)據(jù)顯示出來;

    (3)將接收到的實(shí)時(shí)數(shù)據(jù)進(jìn)行三維圖形繪制,顯示數(shù)據(jù)的大小和分布。

    6 結(jié)論

    通過獲取人體對(duì)座椅的壓力數(shù)據(jù),并以直觀的三維圖像顯示,座椅設(shè)計(jì)人員可以很好地了解座椅設(shè)計(jì)的是否合理,從而對(duì)座椅進(jìn)一步改良,設(shè)計(jì)出更加舒適的座椅。本文對(duì)座椅壓力分布的圖形化顯示展開了研究,取得如下成果:

    (1)使用C++語言和Visual C++ 2008開發(fā)平臺(tái)開發(fā)軟件,并進(jìn)一步完成和OpenInventor的混合編程。

    (2)使用Visual C++ 2008的可視化界面,根據(jù)功能需求設(shè)計(jì)出座椅壓力圖形化顯示上位機(jī)軟件,實(shí)現(xiàn)了對(duì)座椅壓力數(shù)據(jù)的直觀、形象的三維圖形實(shí)時(shí)顯示等功能。

    (3)對(duì)上位機(jī)軟件進(jìn)行實(shí)時(shí)測試,運(yùn)行狀態(tài)良好。

    參考文獻(xiàn)

    [1]葉佳桐,譚研.汽車駕駛員座椅舒適性仿真方法…,中國農(nóng)業(yè)大學(xué)學(xué)報(bào),2016,8 (04):35-37.

    [2]王琨,基于CAN總線老人服務(wù)機(jī)器人通信方法的實(shí)現(xiàn)[J].現(xiàn)在制造工程,2016,23 (02): 45-48.

    [3]蔡磊,基于Open Inventor產(chǎn)品三維可視化系統(tǒng)研究[D].重慶:重慶大學(xué),2012.

    [4]張立科.Window API函數(shù)參考手冊(cè)[M],北京:人民郵電出版社,2002.

    猜你喜歡
    機(jī)軟件圖形化視圖
    LKJ自動(dòng)化測試系統(tǒng)圖形化技術(shù)研究
    5.3 視圖與投影
    視圖
    Y—20重型運(yùn)輸機(jī)多視圖
    SA2型76毫米車載高炮多視圖
    道岔監(jiān)測系統(tǒng)上位機(jī)軟件設(shè)計(jì)
    基于正交試驗(yàn)法的北斗用戶機(jī)軟件測試用例設(shè)計(jì)
    運(yùn)用圖形化聽寫式復(fù)習(xí),構(gòu)建高效地理課堂
    PCI-e高速數(shù)據(jù)采集卡的驅(qū)動(dòng)與上位機(jī)軟件設(shè)計(jì)
    電子器件(2015年5期)2015-12-29 08:43:12
    圖形化地區(qū)電網(wǎng)無功優(yōu)化軟件開發(fā)與應(yīng)用
    昭平县| 温州市| 平顶山市| 桂平市| 扎囊县| 赣州市| 阳高县| 陇川县| 宁晋县| 宽甸| 黔江区| 绿春县| 丰城市| 渝北区| 昌乐县| 运城市| 磐安县| 沧源| 冕宁县| 射阳县| 察哈| 五莲县| 宝应县| 紫阳县| 巫山县| 浮梁县| 鄂托克前旗| 张家港市| 揭阳市| 崇明县| 金川县| 新竹县| 新野县| 静宁县| 抚远县| 宜川县| 绥化市| 独山县| 沂源县| 珠海市| 南召县|