• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      編織網(wǎng)格模型處理及管理系統(tǒng)研究

      2021-04-18 23:56:53郭梓帆
      甘肅科技縱橫 2021年1期

      郭梓帆

      摘要:編織網(wǎng)格模型處理系統(tǒng)為服裝建模提供了良好的接口,本系統(tǒng)基于Java語(yǔ)言開(kāi)發(fā)了一個(gè)管理平臺(tái),將編織網(wǎng)格建模系統(tǒng)復(fù)雜的操作界面對(duì)用戶(hù)透明化,避免用戶(hù)手動(dòng)執(zhí)行每一個(gè)處理步驟,實(shí)現(xiàn)一鍵完成模型的處理。同時(shí)屏蔽了該系統(tǒng)額外的參數(shù)控制和其他功能菜單,只保留了核心功能,即模型處理的功能接口。系統(tǒng)還利用數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)權(quán)限控制和用戶(hù)管理,同時(shí)也對(duì)每個(gè)用戶(hù)的源模型文件和目標(biāo)模型文件兩種obj模型文件進(jìn)行管理,簡(jiǎn)化用戶(hù)的操作。本系統(tǒng)是基于B/S架構(gòu),采用SpfingBoot框架作為后臺(tái),MySQL作為數(shù)據(jù)庫(kù),layui框架作為前端界面簡(jiǎn)潔友好,讓用戶(hù)更加方便地使用編織網(wǎng)格建模系統(tǒng)。

      關(guān)鍵詞:Java;springBoot;MySQL;文件管理

      中圖分類(lèi)號(hào):TP311.1 文獻(xiàn)標(biāo)志碼:A

      0引言

      服裝建模技術(shù)應(yīng)用廣泛,例如CAD服裝設(shè)計(jì)、電影和游戲等領(lǐng)域都常常涉及到這個(gè)課題。編織服裝在我們?nèi)粘I钪泻艹R?jiàn),從襪子、褲子和T恤到冬季的毛衣和配飾,除此之外,編織服裝在電影和游戲中也很常見(jiàn)。目前在計(jì)算機(jī)圖形學(xué)中,編織網(wǎng)格為編織服裝造型提供了強(qiáng)大的接口,在編織網(wǎng)格建??蚣艿母倪M(jìn)系統(tǒng)中,將3D模型文件作為輸入,最終自動(dòng)生成拓?fù)溆行У木幙椌W(wǎng)格模型。得到的編織網(wǎng)格模型通過(guò)松弛處理后可用于具有紗線(xiàn)模擬的計(jì)算機(jī)圖形應(yīng)用或者可以直接使用3D打印機(jī)在現(xiàn)實(shí)中打印出實(shí)物。該系統(tǒng)也可以處理任何三維物體模型,模擬出該三維物體表面的編織網(wǎng)格模型,進(jìn)而生成紗線(xiàn)級(jí)模型。

      但是該系統(tǒng)操作繁瑣,使用時(shí)需要用戶(hù)依次手動(dòng)點(diǎn)擊每一個(gè)處理步驟的按鈕,而且處理模型的某一些步驟需要等待的時(shí)間較長(zhǎng),用戶(hù)的體驗(yàn)感不好。同時(shí),用戶(hù)界面還有一些額外的參數(shù)控制、功能菜單等,這些都是普通用戶(hù)不需要關(guān)注的;對(duì)于需要進(jìn)行處理的文件,該系統(tǒng)每次只能通過(guò)上傳單個(gè)文件,并且處理過(guò)后,也無(wú)法指定輸出文件的保存位置;同時(shí),每次處理完一個(gè)模型文件后,必須重啟該程序,才能進(jìn)行下一個(gè)模型文件的處理,否則會(huì)出現(xiàn)較為嚴(yán)重的錯(cuò)誤,無(wú)法得到用戶(hù)需要的目標(biāo)模型文件。

      基于上述問(wèn)題,我們期望將編織網(wǎng)格模型處理系統(tǒng)作為后臺(tái)系統(tǒng)部署到云服務(wù)器上,開(kāi)發(fā)一個(gè)B/S架構(gòu)的界面友好的前臺(tái)系統(tǒng),提供輸入與輸出模型文件的管理功能以及模型處理的接口,簡(jiǎn)化用戶(hù)的操作,方便用戶(hù)使用。

      1相關(guān)技術(shù)

      1.1SSM框架

      SSM框架是由spring框架、SpringMVC框架和MyB—atis框架集成組成的框架,是目前主流JavaEE框架,適用于搭建各種企業(yè)級(jí)應(yīng)用系統(tǒng)。

      Spring是一個(gè)Java框架,核心是控制反轉(zhuǎn)(Ioc)和依賴(lài)注入(DI)功能?;赑OJO(Plain ordinary JavaObject)編程,所有組件、方法等都作為Bean注入,利用此機(jī)制具有不需要在每次使用某個(gè)類(lèi)時(shí)進(jìn)行初始化,避免使用new關(guān)鍵字等特點(diǎn)。

      MVC是指Model(模型)、View(視圖)、Controller(控制器),是一種軟件設(shè)計(jì)的架構(gòu)模式,它通過(guò)將業(yè)務(wù)層、控制器層、模型層分離開(kāi)來(lái),從而降低系統(tǒng)的耦合度。SpringMVC是一款MVC框架,它與Spring具有良好的兼容性。其中,DispatcherServlet(前置控制器)是它的核心之一,其功能是在收到不同的請(qǐng)求時(shí)將其發(fā)送到對(duì)應(yīng)的處理器。SpringMVC可以采用基于注解的形式進(jìn)行配置和開(kāi)發(fā),減少代碼量。

      MyBatis是一款持久層框架。在傳統(tǒng)的JDBC代碼,首先要獲取驅(qū)動(dòng),然后獲取數(shù)據(jù)庫(kù)連接,從數(shù)據(jù)庫(kù)中取出數(shù)據(jù)時(shí)要修改格式,操作完成后還要關(guān)閉連接等等,MyBatis可以大大減少這些代碼。MyBatis提供映射方式,可以自己編寫(xiě)sq]語(yǔ)句,并將一些輸入?yún)?shù)進(jìn)行自動(dòng)映射,具體的方式是使用XML或者是注解來(lái)進(jìn)行配置和映射。

      1.2 SpringBoot

      Spring框架不斷發(fā)展壯大,現(xiàn)在進(jìn)行框架搭建、項(xiàng)目整合開(kāi)發(fā)需要配置很多文件,使用起來(lái)有些麻煩。Spring Boot是一個(gè)基于spring開(kāi)發(fā)的框架,本身不提供Spring框架的核心特性和擴(kuò)展功能,只用于快速、敏捷開(kāi)發(fā)新一代基于Spring框架的應(yīng)用程序。它以“約定大于配置”的核心思想,有大量的默認(rèn)設(shè)置,同時(shí)還集成了常用的第三方庫(kù)配置,只需要按照其約定的規(guī)范來(lái)開(kāi)發(fā),就可以減少配置的工作,基本實(shí)現(xiàn)零配置的開(kāi)箱即用。

      1.3 MyBatis-Plus

      MyBatis-Plus是對(duì)MyBatis的一個(gè)增強(qiáng)工具,內(nèi)置通用的Mapper、Service等,只需要少量配置就可以實(shí)現(xiàn)基本的表單CRUD操作,對(duì)復(fù)雜的查詢(xún)語(yǔ)句,也可以通過(guò)條件構(gòu)造器來(lái)完成。內(nèi)置了代碼生成器,可以快速生成控制器、業(yè)務(wù)層、實(shí)體類(lèi)、DAO層的代碼。內(nèi)置分頁(yè)插件,基于MyBatis的物理分頁(yè),只需要配置好插件后,分頁(yè)查詢(xún)便與普通的List查詢(xún)基本沒(méi)有區(qū)別。

      1.4 MySQL數(shù)據(jù)庫(kù)

      本論述實(shí)現(xiàn)的系統(tǒng)使用MySQL來(lái)管理數(shù)據(jù),它是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),使用標(biāo)準(zhǔn)化語(yǔ)言SQL,對(duì)用戶(hù)開(kāi)放源代碼并且完全免費(fèi)使用。MySQL作為中小型數(shù)據(jù)庫(kù),性能優(yōu)良,可以滿(mǎn)足本系統(tǒng)實(shí)現(xiàn)的各種功能需求。

      MySQL特點(diǎn):

      (1)提供支持多種語(yǔ)言連接操作的接口。

      (2)提供多種存儲(chǔ)引擎,支持事務(wù)、存儲(chǔ)過(guò)程和觸發(fā)器等。

      (3)研發(fā)語(yǔ)言使用C和c++,支持多種操作系統(tǒng),包括Windows、Linux、Unix等,方便移植。

      (4)提供了多種數(shù)據(jù)庫(kù)連接方式,如JDBC以及TCP/IP等。

      (5)體積小、速度快,管理工具操作簡(jiǎn)單,適合輕量級(jí)系統(tǒng)。

      1.5 Ajax

      傳統(tǒng)的JavaWeb程序中,用戶(hù)點(diǎn)擊前端頁(yè)面的按鈕向后臺(tái)服務(wù)器發(fā)送http請(qǐng)求,服務(wù)器調(diào)用相關(guān)的處理程序處理http請(qǐng)求,將結(jié)果返回給用戶(hù)時(shí),需要返回整個(gè)頁(yè)面(html、jsp等),因此想要提交表單或是更新內(nèi)容時(shí),都需要重新加載整個(gè)網(wǎng)頁(yè)。

      使用Ajax技術(shù)后,通過(guò)前端頁(yè)面,將部分表單數(shù)據(jù)通過(guò)發(fā)送ajax請(qǐng)求給后臺(tái)服務(wù)器,在后臺(tái)進(jìn)行少量的數(shù)據(jù)交換后,不再返回一個(gè)頁(yè)面,而只是將一個(gè)數(shù)據(jù)集合返回前端頁(yè)面就可以實(shí)現(xiàn)局部網(wǎng)頁(yè)的更新。Ajax的核心是XMLHttpRequest對(duì)象(xHR),XHR為向服務(wù)器發(fā)送請(qǐng)求和解析服務(wù)器響應(yīng)提供了接口,以異步方式從服務(wù)器獲取新數(shù)據(jù)。

      本系統(tǒng)的前后臺(tái)交互基本上都是通過(guò)Ajax請(qǐng)求實(shí)現(xiàn),因此控制器層不做頁(yè)面的刷新(不返回model),只返回?cái)?shù)據(jù)。

      1.6 obi格式文件

      obi文件是AliaslWavefront公司開(kāi)發(fā)的一種標(biāo)準(zhǔn)3D模型文件格式,適用于3D軟件中模型之間的互相傳導(dǎo),目前很多3D軟件都支持obi文件的讀寫(xiě)。

      obi文件實(shí)際上是一種文本文件,定義了三維幾何體的頂點(diǎn)、頂點(diǎn)索引、紋理坐標(biāo)等信息,按行進(jìn)行分割,格式如下:

      前綴符號(hào)參數(shù)1參數(shù)2參數(shù)3(…)

      其中前綴符號(hào)常用的有:

      (1)v幾何體頂點(diǎn),后面參數(shù)代表頂點(diǎn)的x、y、z軸坐標(biāo)。

      (2)vt貼圖坐標(biāo)點(diǎn),后面參數(shù)代表紋理坐標(biāo)的值。

      (3)vn頂點(diǎn)法線(xiàn),后面參數(shù)代表法向量的x、y、z軸坐標(biāo)。

      (4)f面,參數(shù)代表構(gòu)成該面的點(diǎn)的索引號(hào)。

      1.7編織網(wǎng)格模型

      編織網(wǎng)格結(jié)構(gòu)是紗線(xiàn)級(jí)幾何的抽象,大多數(shù)編織網(wǎng)格面是四邊形,具有兩個(gè)縱行wale邊和兩個(gè)橫向course邊,這些邊分別與縱向wale編織方向和橫向course編織方向一致。整個(gè)模型是按照如下方式進(jìn)行排列的:每個(gè)網(wǎng)格面沿course編織方向并排放置,形成行,沿著wale編織方向連接連續(xù)的行。

      2需求分析

      2.1 obi文件管理需求分析

      用戶(hù)在使用模型處理系統(tǒng)時(shí),需要選擇源模型文件進(jìn)行輸入,同時(shí)將處理后得到的目標(biāo)模型文件進(jìn)行保存。因此需要實(shí)現(xiàn)一個(gè)文件保存及管理的功能,為不同的用戶(hù)建立獨(dú)立的源模型文件存儲(chǔ)區(qū)和目標(biāo)模型文件存儲(chǔ)區(qū),并且提供文件上傳和文件下載的功能,同時(shí)還有對(duì)模型文件進(jìn)行修改、刪除等操作的管理功能。用戶(hù)在登錄系統(tǒng)后應(yīng)當(dāng)只能看到屬于當(dāng)前用戶(hù)的文件,并且可以對(duì)這些文件進(jìn)行相關(guān)操作。

      2.2模型處理功能需求分析

      在實(shí)現(xiàn)obi文件管理功能的基礎(chǔ)上,提供編織網(wǎng)格模型處理系統(tǒng)的功能接口。當(dāng)用戶(hù)選擇某個(gè)文件進(jìn)行處理時(shí),向服務(wù)器發(fā)送請(qǐng)求,在服務(wù)器后臺(tái)調(diào)用具體的處理程序,然后按照各個(gè)步驟對(duì)輸入的源模型文件進(jìn)行處理,完成后將目標(biāo)模型文件保存到當(dāng)前用戶(hù)的目標(biāo)模型文件管理區(qū),然后返回操作是否成功的提示信息。用戶(hù)可以同時(shí)選擇多個(gè)文件進(jìn)行處理,此時(shí)會(huì)生成處理隊(duì)列,依次對(duì)隊(duì)列中的文件進(jìn)行處理和保存。處理過(guò)程對(duì)用戶(hù)透明,用戶(hù)只需要等待一定的時(shí)間后,就可以在相應(yīng)的文件管理區(qū)管理和下載自己的目標(biāo)模型文件。

      2.3系統(tǒng)權(quán)限控制管理功能需求分析

      系統(tǒng)還需要實(shí)現(xiàn)一些基本的功能,例如用戶(hù)管理、登錄及注銷(xiāo)、權(quán)限控制等功能。編織網(wǎng)格模型處理系統(tǒng)提供了一些高級(jí)功能,例如對(duì)模型處理過(guò)程中一些例如向量場(chǎng)等參數(shù)的調(diào)整,但是這些功能應(yīng)該是面向高級(jí)用戶(hù)的,對(duì)于普通用戶(hù)這部分功能是不可見(jiàn)的。所以應(yīng)該對(duì)用戶(hù)的權(quán)限進(jìn)行戈Ⅱ分和控制,在用戶(hù)登錄時(shí)進(jìn)行認(rèn)證和授權(quán),讓用戶(hù)只能看到和使用該用戶(hù)權(quán)限等級(jí)所擁有的菜單功能。

      3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      3.1功能模塊劃分

      本系統(tǒng)的功能模塊圖如圖1所示。

      3.2 obi文件管理

      根據(jù)源模型文件與目標(biāo)模型文件的不同,將這兩部分的文件管理劃分到兩個(gè)不同的頁(yè)面。其中,源模型文件管理界面,如圖2所示。其中頁(yè)面主要分為上下兩個(gè)部分。上部分是提供條件查詢(xún)功能的表單組件,可以根據(jù)文件名進(jìn)行模糊查詢(xún),或者根據(jù)設(shè)置時(shí)間段條件來(lái)查詢(xún)?cè)谠摃r(shí)間段內(nèi)上傳的源文件。下部分是一個(gè)數(shù)據(jù)表格組件,分頁(yè)顯示每個(gè)文件的ID、文件名稱(chēng)、文件大小和創(chuàng)建日期,同時(shí)提供了表格頭部工具欄和行工具欄。行工具欄可以對(duì)文件的各個(gè)信息進(jìn)行修改或者刪除某個(gè)文件。頭部工具欄包含了文件上傳和模型處理兩個(gè)功能。文件上傳主要是用了layui的upload組件,選擇完文件后不會(huì)立即上傳,會(huì)在選擇文件按鈕后顯示出文件名稱(chēng),點(diǎn)擊右方的開(kāi)始上傳后才會(huì)真正將文件上傳到服務(wù)器的文件存儲(chǔ)區(qū)中。

      為了實(shí)現(xiàn)方便,本系統(tǒng)沒(méi)有將文件直接存儲(chǔ)到數(shù)據(jù)庫(kù)中,而是為每一個(gè)用戶(hù)建立一個(gè)用戶(hù)存儲(chǔ)區(qū),然后在數(shù)據(jù)庫(kù)中存儲(chǔ)的是文件的名稱(chēng)、大小、存放路徑、創(chuàng)建時(shí)間、文件類(lèi)型、所屬用戶(hù)等信息。

      目標(biāo)模型文件管理頁(yè)面中,數(shù)據(jù)表格的頭部工具欄只提供了文件下載的功能,其他部分與源模型文件管理頁(yè)面基本一致,故不再敘述。

      3.3模型處理功能

      這個(gè)功能組合在源文件管理頁(yè)面中。當(dāng)通過(guò)數(shù)據(jù)表格中數(shù)據(jù)項(xiàng)的復(fù)選框選中某個(gè)源文件后,點(diǎn)擊模型處理按鈕,此時(shí)會(huì)發(fā)送請(qǐng)求到服務(wù)器后臺(tái)。編織網(wǎng)格模型處理系統(tǒng)是使用c++語(yǔ)言實(shí)現(xiàn)的,編譯成exe程序后,在后臺(tái)控制器中使用iava.lang包中的Runtime類(lèi)調(diào)用該程序,然后按請(qǐng)求中包含的文件信息在磁盤(pán)存儲(chǔ)區(qū)中找到對(duì)應(yīng)文件,利用編寫(xiě)好的腳本程序?qū)⒃撐募鬟f給編織網(wǎng)格模型處理系統(tǒng),完成所有步驟后將得到的目標(biāo)模型文件存放到用戶(hù)的目標(biāo)文件存儲(chǔ)區(qū)中,然后從后臺(tái)控制器返回操作提示信息給前端頁(yè)面。當(dāng)操作成功時(shí),用戶(hù)便可在目標(biāo)文件管理中查看到經(jīng)處理得到的編織網(wǎng)格模型文件,同時(shí)可以進(jìn)行下載。

      3.4系統(tǒng)管理功能

      本系統(tǒng)的權(quán)限控制功能,通過(guò)五張數(shù)據(jù)庫(kù)表(用戶(hù)表、角色表、權(quán)限表、用戶(hù)角色關(guān)系表、角色權(quán)限關(guān)系表),以這樣的流程進(jìn)行:給角色分配權(quán)限,然后再給用戶(hù)分配角色從而獲得該角色所對(duì)應(yīng)的權(quán)限。本系統(tǒng)主要有三種角色,分別為普通用戶(hù),高級(jí)用戶(hù)和系統(tǒng)管理員。

      分配權(quán)限功能使用layui的dTree組件,添加了一個(gè)復(fù)選框。當(dāng)點(diǎn)擊分配權(quán)限按鈕——將sys_permission表下的所有數(shù)據(jù)用dtree樹(shù)組件顯示,查詢(xún)當(dāng)前角色已經(jīng)擁有哪些權(quán)限/菜單,已有的菜單,權(quán)限默認(rèn)選中。在分配權(quán)限時(shí),為了防止在角色一權(quán)限表sys_role_permission中又加入同樣的數(shù)據(jù),做這樣的處理:先刪除該角色原先擁有的權(quán)限,再把當(dāng)前分配選中的權(quán)限重新添加進(jìn)角色一權(quán)限關(guān)系表。用戶(hù)管理中給用戶(hù)分配角色,實(shí)現(xiàn)方法與給角色分配權(quán)限基本一致,需要改變的是查詢(xún)另一張用戶(hù)角色關(guān)系表sys_role_user。

      4總結(jié)及展望

      本系統(tǒng)用SpringBoot框架和Layui框架搭建了一個(gè)Web平臺(tái),目的是為了與編織網(wǎng)格模型處理系統(tǒng)實(shí)現(xiàn)良好的對(duì)接,屏蔽掉復(fù)雜的操作細(xì)節(jié),只保留必要的操作功能接口,同時(shí)通過(guò)為用戶(hù)建立磁盤(pán)存儲(chǔ)區(qū)和使用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)文件索引信息,實(shí)現(xiàn)了對(duì)每個(gè)用戶(hù)的源文和目標(biāo)文件管理,簡(jiǎn)化了obi文件的管理和操作,方便用戶(hù)使用。

      但是本系統(tǒng)還存在著一些不足之處,例如,雖然將繁瑣的操作透明化,用戶(hù)不再需要手動(dòng)操作每個(gè)處理步驟,而是一鍵即可生成編織網(wǎng)格模型,但是同時(shí)對(duì)三維模型的初始形狀和每個(gè)步驟完成后的變化的的渲染顯示,也對(duì)用戶(hù)屏蔽了。同時(shí)本系統(tǒng)實(shí)際上用的還是后臺(tái)管理界面的風(fēng)格,界面比較單一。日后可以開(kāi)發(fā)更加多樣化的前端界面,并且為有需要的用戶(hù)提供圖形渲染顯示功能,給用戶(hù)以更好的體驗(yàn)。

      404 Not Found

      404 Not Found


      nginx
      资中县| 石渠县| 江永县| 铜陵市| 元谋县| 南康市| 乐安县| 开鲁县| 四子王旗| 榆树市| 合作市| 镇远县| 永和县| 吐鲁番市| 鄢陵县| 安图县| 正蓝旗| 巴彦淖尔市| 南涧| 杭锦旗| 河池市| 新安县| 班玛县| 旬阳县| 盐池县| 翁源县| 南昌市| 汉寿县| 尤溪县| 张家口市| 忻州市| 康马县| 县级市| 民乐县| 固镇县| 平阴县| 东港市| 饶阳县| 丹江口市| 镇江市| 闽清县|