• 
    

    
    

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

      ?

      SketchUp輔助風(fēng)景園林設(shè)計(jì)技術(shù)開發(fā)

      2022-07-23 15:51:54周丁丁
      現(xiàn)代計(jì)算機(jī) 2022年10期
      關(guān)鍵詞:輸入框朝向原點(diǎn)

      周丁丁

      (博興縣公用事業(yè)服務(wù)中心,濱州 256500)

      0 引言

      當(dāng)今,在風(fēng)景園林學(xué)科中,不管以圖片的方式還是其他多媒體(如虛擬現(xiàn)實(shí))的方式展示設(shè)計(jì)方案,三維模型的制作一般都是必不可少的環(huán)節(jié)。在三維模型的制作中,Trimble SketchUp(文中簡(jiǎn)稱SketchUp)彌補(bǔ)了項(xiàng)目可視化的不足,以“人人可操作的3D軟件”的優(yōu)勢(shì)得到了從業(yè)者廣泛的應(yīng)用。

      園林植物是風(fēng)景園林的重要組成部分,對(duì)于三維模型中園林植物的制作,在SketchUp中通常是運(yùn)用以下兩種方法:

      (1)將樹制作成SketchUp中的組件,再將這個(gè)組件通過復(fù)制或者類似復(fù)制的陣列操作來實(shí)現(xiàn)。

      (2)通過SketchUp與其他軟件的文件交換,通常是在AutoCAD中將樹制作成一個(gè)塊,并將這個(gè)塊通過復(fù)制或者陣列再導(dǎo)入SketchUp中,將這個(gè)塊(SketchUp跟AutoCAD的文件交換中,將AutoCAD中的塊轉(zhuǎn)化為SketchUp中的組件)通過SketchUp中的組件替換功能實(shí)現(xiàn)。

      這兩種方法中,其他的樹其底層都是通過對(duì)同一棵樹的復(fù)制來繪制的,所以形成的結(jié)果就是同一種樹的大小和角度都是相同的(見圖1),這顯然是不符合自然規(guī)律的。

      圖1 所有的樹都同樣大小

      如果保持這樣的結(jié)果,將使三維模型和后期以三維模型為基礎(chǔ)生成的其他文件看起來很不自然。為了讓三維模型看起來更自然,就需要挨個(gè)調(diào)整每一棵樹的大小,由于園林中的樹通常很多(尤其是綠化占主要內(nèi)容的項(xiàng)目),而且SketchUp本身自帶的縮放或旋轉(zhuǎn)工具效率不高,所以這就意味著較大的工作量和較低的工作效率。

      1 技術(shù)手段

      為了使運(yùn)用SketchUp制作的三維模型更加自然,提高勞動(dòng)效率,降低勞動(dòng)強(qiáng)度,本文開發(fā)了一款SketchUp插件,其可以一次性地按照用戶設(shè)定的縮放和旋轉(zhuǎn)邊界,以組件的原點(diǎn)為基準(zhǔn)對(duì)所選組件實(shí)現(xiàn)批量隨機(jī)縮放,從而解決上述的問題,使模型看起來更自然。

      插件運(yùn)用Ruby語言開發(fā),Ruby也是SketchUp命令的底層語言。

      插件通過each方法遍歷用戶選擇的每一個(gè)組件,并使其以原點(diǎn)為原點(diǎn)進(jìn)行縮放/旋轉(zhuǎn):

      2 技術(shù)人性化設(shè)計(jì)

      為方便用戶的使用,插件在算法中過濾掉了用戶選擇的圖元中的其它元素,使得縮放/旋轉(zhuǎn)變換只對(duì)組件起作用:

      為了在用戶填反最大值/最小值的情況下也能變換,插件采用自動(dòng)將用戶實(shí)際填入的值中大的作為最大值,小的作為最小值的處理方案(但仍會(huì)提示用戶檢查是否有其他錯(cuò)誤):

      #不管用戶如何填寫,最大值總是取大的,最小值總是取小的。

      3 技術(shù)的使用方法和使用效果

      3.1 插件的運(yùn)行環(huán)境

      經(jīng)測(cè)試,插件適合以下操作系統(tǒng)版本和SketchUp版本的任意組合。

      操作系統(tǒng)版本:Windows7、Windows10

      SketchUp版本:SketchUp8、SketchUp2013-2021

      在硬件方面,SketchUp8及以上版本的硬件都滿足插件的運(yùn)行需求。

      3.2 插件的使用方法和效果

      插件的名稱為“隨機(jī)縮放/旋轉(zhuǎn)”,通過Random_Scale_and_Rotation.rbz的rbz文件提供。

      在SketchUp中,依次點(diǎn)擊菜單欄擴(kuò)展程序管理器→安裝擴(kuò)展程序→根據(jù)用戶的存儲(chǔ)位置找到程序→打開即可將插件安裝到SketchUp中(見圖2)。

      圖2 插件的安裝方法

      插件安裝后位于工具欄中,默認(rèn)是隱藏的,使用時(shí)依次點(diǎn)擊視圖→工具欄→找到隨機(jī)縮放/旋轉(zhuǎn)并將前面復(fù)選框中的√勾選(或者在任意工具欄的空白處右擊,在彈出的菜單中找到隨機(jī)縮放/旋轉(zhuǎn)勾選)即可顯示插件。插件的圖標(biāo)為兩棵樹。

      當(dāng)用戶的選擇集中不包含組件時(shí),圖標(biāo)是不可用狀態(tài)(grey),當(dāng)用戶的選擇集中包含組件時(shí),插件即自動(dòng)激活(enable)。用戶點(diǎn)擊插件圖標(biāo),即可實(shí)現(xiàn)對(duì)所選組件的隨機(jī)縮放/旋轉(zhuǎn)。

      用戶點(diǎn)擊圖標(biāo),即彈出輸入縮放/旋轉(zhuǎn)邊界輸入框,讓用戶輸入縮放/旋轉(zhuǎn)的邊界,縮放比例以百分比為單位,旋轉(zhuǎn)角度以角度為單位,默認(rèn)縮放比例為80%~120%,旋轉(zhuǎn)角度為0°~360°(見圖3)。

      圖3 用戶可在輸入框中輸入縮放/旋轉(zhuǎn)上下界

      用戶輸入數(shù)值后點(diǎn)擊確定按鈕,即按照輸入的數(shù)值隨機(jī)縮放/旋轉(zhuǎn)用戶選擇的組件(見圖4)。

      圖4 樹隨機(jī)批量縮放/旋轉(zhuǎn)效果

      插件的第1個(gè)易用性在于插件在進(jìn)行隨機(jī)縮放/旋轉(zhuǎn)的過程中過濾掉了用戶選擇集中的其他圖元,只對(duì)組件起作用,由于SketchUp的選擇工具本身比較難用,這樣就避免了用戶誤將其它圖元選擇入選擇集時(shí)產(chǎn)生誤操作的情況。如在圖中,若用戶的選擇集中還包含了后邊的建筑、花池、草地、路,它們分別是SketchUp中的組、面、線圖元——但都不是組件圖元,插件并不對(duì)它們起作用,而只對(duì)組件圖元樹進(jìn)行如圖4所示的隨機(jī)旋轉(zhuǎn)或/和縮放。

      需要注意的是,插件是忽略角度的周期性的,即插件認(rèn)為10°跟370°是不同的角度,所以用戶的旋轉(zhuǎn)角度界限輸入為0°~10°和0°~370°時(shí)的效果是不同的,前者只能讓組件在0°~10°之間產(chǎn)生一個(gè)微小的隨機(jī)旋轉(zhuǎn),后者則能產(chǎn)生超過一個(gè)圓周的隨機(jī)旋轉(zhuǎn)。

      另外,根據(jù)SketchUp的算法,旋轉(zhuǎn)只對(duì)沒有勾選“總是朝向相機(jī)”選項(xiàng)的組件起作用,對(duì)于勾選了“總是朝向相機(jī)”的組件,不管怎么旋轉(zhuǎn),總是紅原點(diǎn)藍(lán)這個(gè)平面面向用戶(見圖5)。這不是插件的缺陷,而是SketchUp默認(rèn)的算法,這也是符合日常行為邏輯的,如一個(gè)圖片制成的面片樹組件,我們總是希望這個(gè)圖片面向著我們,這樣看起來才像棵樹,如果這個(gè)面轉(zhuǎn)了,它就是一條線了(轉(zhuǎn)90°的時(shí)候就只剩下一條線),這是我們所不希望的結(jié)果。

      圖5 旋轉(zhuǎn)命令對(duì)勾選了“總是朝向相機(jī)”的組件不起作用

      圖4中的樹就是一種總是朝向相機(jī)的組件,所以隨機(jī)旋轉(zhuǎn)在圖4中并不起作用,圖6中的樹并不總是朝向相機(jī),所以隨機(jī)旋轉(zhuǎn)對(duì)圖6是起作用的。

      圖6 旋轉(zhuǎn)命令對(duì)沒有勾選“總是朝向相機(jī)”的組件起作用

      若用戶錯(cuò)誤地將縮放/旋轉(zhuǎn)的最小值和最大值寫反了——即用戶將最大值(最小值)填寫成了最小值(最大值),插件會(huì)向用戶提示并根據(jù)用戶的選擇執(zhí)行忽略或者修改錯(cuò)誤,這是插件的第2個(gè)易用性。

      當(dāng)用戶將最大值和最小值填反時(shí),插件會(huì)彈出消息框,提示用戶填反了,并詢問用戶是否忽略錯(cuò)誤,將用戶填寫的實(shí)際數(shù)值中的最大值和最小值作為最大值和最小值進(jìn)行隨機(jī)縮放/旋轉(zhuǎn),若用戶選擇是,插件將忽略用戶的錯(cuò)誤,自動(dòng)按照用戶實(shí)際填寫數(shù)值中的最大值(最小值)作為縮放/旋轉(zhuǎn)邊界進(jìn)行運(yùn)算。若用戶選擇否,則返回輸入框界面,讓用戶修改數(shù)值后提交。

      插件的退出:插件可以在輸入框界面點(diǎn)擊關(guān)閉或者取消退出。

      4 結(jié)語

      插件可幫助實(shí)現(xiàn)園林三維模型的自然開發(fā),但顯而易見,其是針對(duì)SketchUp組件圖元的一項(xiàng)操作,所以,它適合有組件此類變換需求的任何行業(yè),如舞臺(tái)場(chǎng)景、游戲設(shè)計(jì)、工業(yè)設(shè)計(jì)、建筑設(shè)計(jì)等。另外,對(duì)于當(dāng)前的計(jì)算機(jī)系統(tǒng)或者編程語言,是不能產(chǎn)生真正意義的隨機(jī)序列的,所以同樣,插件對(duì)樹的隨機(jī)調(diào)整并不是真正意義上的隨機(jī)——這并不是插件的缺陷,而是當(dāng)前信息技術(shù)和計(jì)算機(jī)的發(fā)展水平。但顯然,即使如此,對(duì)于我們關(guān)注視覺效果的三維模型來說已經(jīng)足夠了。

      猜你喜歡
      輸入框朝向原點(diǎn)
      基于GGB的拖動(dòng)交互式練習(xí)題
      朝向馬頭的方向
      遼河(2022年1期)2022-02-14 21:48:35
      朝向馬頭的方向
      遼河(2022年1期)2022-02-14 05:15:04
      拍一拍,圖片識(shí)文字
      Book Pilot 飛行選書師,讓書重新回到原點(diǎn)
      重返歷史“原點(diǎn)”的旅程
      烏龜快跑
      輸入框設(shè)計(jì)中需注意的9個(gè)細(xì)節(jié)
      在原點(diǎn)震蕩的擾動(dòng)Schr?dinger-Poisson系統(tǒng)的無窮多個(gè)解
      關(guān)于原點(diǎn)對(duì)稱的不規(guī)則Gabor框架的構(gòu)造
      济南市| 吴旗县| 岑溪市| 含山县| 百色市| 荃湾区| 乌拉特后旗| 区。| 翁牛特旗| 闽侯县| 肇州县| 禄劝| 游戏| 荔波县| 惠来县| 华池县| 金秀| 蒙城县| 凤庆县| 紫金县| 纳雍县| 九寨沟县| 阳城县| 长宁县| 隆安县| 南昌市| 庆阳市| 镇平县| 铁岭县| 福鼎市| 石首市| 沐川县| 枣阳市| 婺源县| 庄浪县| 佛教| 阿合奇县| 苏尼特左旗| 永平县| 涪陵区| 青岛市|