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

    MaxScript在三維數(shù)字城市模型批量化處理中的應(yīng)用

    2019-08-23 02:44:24王衛(wèi)玲劉瑜初建崇劉洪春
    電子技術(shù)與軟件工程 2019年14期
    關(guān)鍵詞:腳本語言批量高程

    文/王衛(wèi)玲 劉瑜 初建崇 劉洪春

    1 引言

    數(shù)字城市的淵源來自于美國副總統(tǒng)戈爾于1998年1月21日提出的數(shù)字地球的概念,自此之后,中國學(xué)者特別是地學(xué)界的專家認(rèn)識到“數(shù)字地球”戰(zhàn)略將是推動我國信息化建設(shè)和社會經(jīng)濟、資源環(huán)境可持續(xù)發(fā)展的重要武器,并于1999年11月29日至12月2日在北京召開了首屆“數(shù)字地球”大會。至此,三維城市的發(fā)展也緊隨其后,成為近20年來的熱點之一。三維數(shù)字城市是城市資源可視化的最佳方式,是適應(yīng)社會飛速發(fā)展的技術(shù)手段,有助于城市的招商、引資,在城市建設(shè)、公安交通、城市管線、房地產(chǎn)發(fā)布等方面發(fā)揮著積極的作用。三維城市的發(fā)展與三維制作軟件和三維展示平臺是分不開的。目前,三維制作軟件已經(jīng)能夠滿足三維城市模型制作的要求,客觀、真實地反映出城市面貌,三維展示平臺也已經(jīng)有了諸如泰瑞公司的Skyline、偉景航的CityMaker等能夠承載海量場景、進行空間數(shù)據(jù)分析的優(yōu)秀軟件。對于一個城市而言,建筑數(shù)量往往多達幾十萬棟,工作量十分巨大。因此,尋求一種快速、高效的建模方法是構(gòu)建三維虛擬城市的關(guān)鍵,而MaxScript在其中的貢獻不容小覷。

    本文以山東省某市三維數(shù)字城市建設(shè)過程中遇到的實際問題為例,以3d Max為數(shù)據(jù)建設(shè)平臺,以Skyline為海量數(shù)據(jù)的承載、展示和分析平臺,從三維歷史數(shù)據(jù)的整理過程,介紹了3d Max的腳本語言MaxScript在整個工作流程中的完成的功能及部分代碼實現(xiàn)。由此可以看到,MaxScript在三維數(shù)據(jù)的批量化處理過程中能夠做到準(zhǔn)確、快速、有效,使得數(shù)據(jù)處理過程中大量繁雜、重復(fù)性的工作得以自動化處理,大幅提高了工作效率。

    圖1:批量修改max文件名稱界面

    2 MaxScript腳本語言

    MAXscript是3ds Max內(nèi)置腳本語言,Max2.0及以后加入的功能。它不但擁有一般程序語言的所有特點,而且可以在程序內(nèi)實現(xiàn)幾乎所有在3ds max界面下的交互操作,功能非常強大,而且語法比較簡單,容易上手。MAXscript也能使用在與3ds Max相關(guān)的產(chǎn)品中如Autodesk VIZ,character studio,Plasma和GMax;腳本可使用于建模,動畫,材質(zhì),渲染等等。它是專門為3D Studio Max設(shè)計的。

    圖2:批量修改名稱結(jié)果

    MAXscrip使用一個開放式界面來自定義和編寫 3ds Max 腳本,3ds Max的大多數(shù)功能都可以通過腳本調(diào)用,開發(fā)人員可以輕松擴展用戶界面和自動化操作以執(zhí)行批處理。用戶可以通過 OLE Automation 建立外部系統(tǒng)的實時接口??梢赃@樣說,用腳本可以把Max幾乎所有的功能重寫一遍(少數(shù)功能除外),而且能實現(xiàn)無法用鼠標(biāo)鍵盤實現(xiàn)的操作。

    MaxScript可以運用3D矢量、矩陣、四維數(shù)等代數(shù)工具來完成高級復(fù)雜的程序設(shè)計任務(wù),適用于對含有大量對象的集合進行操作。比如在大場景中進行十分復(fù)雜的選擇,構(gòu)造星空等復(fù)雜場景,或者把集中的大量物體分別放在精確的位置等,如果用手工來完成將會極其繁瑣和復(fù)雜,而且不能保證效果,而MaxScript卻可以通過幾行代碼瞬間完成。可以建立批處理工具,這樣可以把3d Max從業(yè)人員從一些簡單重復(fù)的工作中解脫出來。

    3 MaxScript在三維模型數(shù)據(jù)批處理中的應(yīng)用

    我中心的三維數(shù)字城市建設(shè)起步于2004年,屬于skyline系統(tǒng)平臺的首批用戶。模型建設(shè)從零起步,沒有成型的經(jīng)驗可供借鑒。因此,最早建設(shè)的三維模型數(shù)據(jù)跟現(xiàn)在成熟的建模流程相比,存在著很多不足:

    (1)模型命名采用中文。目前很多GIS軟件平臺對中文命名的模型支持度都不是很好,在模型的導(dǎo)入導(dǎo)出以及查詢分析的過程中會有兼容性不佳情況出現(xiàn)。

    (2)模型未與坐標(biāo)結(jié)合。建筑模型都是單個建設(shè),位于坐標(biāo)原點歸底歸中。模型無法批量化進入平臺,只能手工單個按照影像擺放,大大降低了工作效率。但是這批模型卻是極其具有歷史價值的,它是10多年前城市面貌的三維立體化展現(xiàn),是現(xiàn)有的三維城市模型所無法代替的。在歷史數(shù)據(jù)的整理過程中,需要MaxScript腳本語言輔助3d Max結(jié)合生成虛擬三維城市,其中涉及到中文名稱修改為英文、按坐標(biāo)擺放建筑模型、按dem將建筑模型墜地等工作,要實現(xiàn)這些過程的批量自動化檢驗和修正,MaxScript就成為了不可或缺的重要工具。MaxScript強大的批量操作功能,使重復(fù)性工作能夠準(zhǔn)確、快速完成,發(fā)揮出不可替代的作用。

    3.1 批量修改MAX模型名稱為英文名

    本文采用3d max建模,導(dǎo)出為.x或者為xpl2格式,進入SkyLine平臺進行大場景展示。導(dǎo)入導(dǎo)出的相關(guān)屬性信息均保存于shp表格中。在批量修改3dmax模型的名稱之前,首先要借助之前從平臺導(dǎo)出的shp文件,文件中包含有模型的中文名稱、坐標(biāo)信息、旋轉(zhuǎn)角度raw等內(nèi)容,如圖1所示。借助shp中的中文名稱這一屬性欄,利用excel表格的自動填充功能,制作出兩個csv文件,一個為原名.txt,另一個為要修改成的新名.txt。然后就可以啟動MaxScript編寫好的插件,批量進行模型名稱的修改。結(jié)果如圖2所示。

    部分簡要代碼如下:

    用MaxScript批量修改模型名稱,高效而準(zhǔn)確,節(jié)省了大量的人力物力,成倍提高了工作效率。

    3.2 批量移動模型到指定位置

    模型建設(shè)初期,由于沒有摸索出成型的建模經(jīng)驗,也沒有其他的經(jīng)驗可供借鑒,因此,模型采用了單體化建模,并且沒有跟gis坐標(biāo)相結(jié)合,每個3d Max模型都是在坐標(biāo)原點建模,

    這種建模方式存在著很大的制約性,將來不管是轉(zhuǎn)換坐標(biāo)系統(tǒng)還是要更換展示平臺,都會成為工作無法高效開展的瓶頸。因此,將單個模型按3d Max的數(shù)據(jù)承載度以區(qū)塊方式加坐標(biāo)存放模型勢在必行。

    首先,要按照事先導(dǎo)出的shp表格,做出一張模型名稱與坐標(biāo)及旋轉(zhuǎn)角度raw的對應(yīng)關(guān)系,然后利用maxscript編寫的插件,批量實現(xiàn)按區(qū)塊、按坐標(biāo)存放的模型。如圖3所示。

    簡要代碼如下:

    3.3 按照dem修改模型高程

    在三維平臺中準(zhǔn)備完畢的遙感影像已和高程屬性合一,所有樓房模型只需按照導(dǎo)入3d max的dem,統(tǒng)一在一個水平面上而浮動在遙感影像上即可,這樣的方法免去三維模型建造中的高程手工賦值工作。利用MaxScript操作所有模型數(shù)據(jù)統(tǒng)一高程,不但彌補了建模過程中可能出現(xiàn)的錯輸現(xiàn)象,對于已經(jīng)附帶高程屬性的模型也可按照這一標(biāo)準(zhǔn)執(zhí)行。據(jù)此,可利用MaxScript來進行批量修改這些模型的高程。如圖4所示。

    簡要代碼:

    4 結(jié)束語

    三維數(shù)字城市建設(shè)模型數(shù)據(jù)量龐大,準(zhǔn)確快速地構(gòu)建三維模型是進入場景進行三維分析應(yīng)用的首要前提。本文針對在工作中遇到的實際問題,在歷史模型整理的過程中,引入MaxScript腳本來解決批量修改成英文名稱、批量按坐標(biāo)導(dǎo)入3d max平臺、批量按dem修改模型高程的問題,為三維數(shù)據(jù)的應(yīng)用提供了極大的便利性。項目最終證明,采用MaxScript腳本語言進行數(shù)據(jù)處理是比較簡單易行的,大大提高了工作效率,在三維城市構(gòu)建中發(fā)揮了不可替代的重要作用。

    圖3:批量按坐標(biāo)擺放的界面及結(jié)果

    圖4:按dem修改模型高程界面及結(jié)果

    猜你喜歡
    腳本語言批量高程
    批量提交在配置分發(fā)中的應(yīng)用
    8848.86m珠峰新高程
    一種面向SSC的電信增值業(yè)務(wù)的生成方法及實現(xiàn)
    基于Unity3D的坦克大戰(zhàn)游戲設(shè)計與實現(xiàn)
    GPS控制網(wǎng)的高程異常擬合與應(yīng)用
    淺析計算機技術(shù)在flash動畫中的應(yīng)用
    淺議高校網(wǎng)銀批量代發(fā)
    SDCORS高程代替等級水準(zhǔn)測量的研究
    基于SiPESC平臺的Python擴展模塊開發(fā)
    回歸支持向量機在區(qū)域高程異常擬合中的應(yīng)用
    湛江市| 贵南县| 大庆市| 出国| 泰安市| 阳东县| 灵川县| 布尔津县| 博野县| 鱼台县| 洪湖市| 茂名市| 阳江市| 岳阳县| 五莲县| 垦利县| 梅州市| 临颍县| 鱼台县| 中阳县| 唐海县| 高陵县| 沂源县| 尼勒克县| 盐亭县| 盐源县| 临颍县| 西乡县| 珠海市| 江山市| 交城县| 沈丘县| 科技| 恩施市| 石柱| 峨眉山市| 枞阳县| 林芝县| 铜山县| 奉节县| 万全县|