版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
豐收仿真模擬了三個不同在豐收時使用的設(shè)備(收割機(jī)、谷物車和卡車)豐收仿真設(shè)計(jì)用來解釋豐收作物相關(guān)的邏輯動態(tài)并使用戶能夠看到優(yōu)化設(shè)備之間的交互作用的復(fù)雜度。系統(tǒng)的容量設(shè)置如下:收割機(jī)-300英斗,谷物車-1000英斗,卡車-2500英斗。Agentbased方法進(jìn)行建模。新建五個主動對象類,分別命名為、bine、Truck、StockClock3D,分別用來模擬谷物車、收割機(jī)、卡車、裝置和3D時鐘。其中的、bine、Truck在其main。將新建好的、bine、Truck、StockClock3Dmain界面中。并將stock命名為bin。InFlow、OutFlowVInitialdouble100、0、00,前三個變量的改變時處填入onchange()(該方法將在步驟e中定義,最后一個為空,四個為空(只有行為stock容量滿的時候和空的時候執(zhí)行的事情。if(InFlow>OutFlow)if(InFlow>OutFlow)V=}elseV=}onFull()動作,反之,當(dāng)前容量為0,執(zhí)行onEmpty()動作。if(timer.isActive())doubleonchangeif(timer.isActive())V=}if(InFlow>OutFlow)timer.restart((Capacity-V)/(InFlow-OutFlow)}elseif(OutFlow>InFlow)timer.restart(V/(OutFlow-InFlow)}in=InFlow;out=OutFlow;if(if(v<0||v>Capacityerror("Thevaluespecifiedinsetv()isoutside[0,Capacity]range");V=v;if(InFlow>OutFlow)timer.restart((Capacity-V)/(InFlow-OutFlow)}elseif(OutFlow>InFlow)timer.restart(V/(OutFlow-InFlow)}if(if(timer.isActive())if(in>outreturnCapacity-timer.getRest()*(in-outreturntimer.getRest()*(out-in}return拖入七個參數(shù),分別命名為Velocity、Capacity、UnloadingRate、RowSpacing、HarvestDensity、Field和Parking,其中前五個類型選擇double,后兩個分別為ShapeRectangleShape,初始值分別為、、、、.01、空和空。七個變//statusoffieldfinalstaticintNOTSTARTED//statusoffieldfinalstaticintNOTSTARTED1; 、pleted和YDirection,類型分別為double、double和int,其中YDirection的初始值為NOTSTARTED。 Control中的StartedHarvesting處的觸發(fā)于選擇訊息,訊息類在Loading處的進(jìn)入行為填入stock.set_InFlow(harvestRate());,退出行為處填入stock.set_InFlow(0);,分別將stock的流入速度設(shè)置為收割速入"STARTED_UNLOADING"、"EMPTY"、"FINISHED_UNLOADING"和"FINISHED_HARVESTING"行為處分別填入moveControl.fireEvent("RESUME");、main.cart.moveControl.fireEvent"COMBINE_EMPTY"在Unloadingstock.set_OutFlowUnloadingRate退出速度和0。WithCart的退出行為處填入doublex=Field.getX()+doublex=Field.getX()+RowSpacing/2;//halfwidthofcombinedoubley=Field.getY()+Field.getHeight();moveTo(x,y變遷選擇第二個并填入"ARRIVED",行為處填入://startingharvesitingfield//startingharvesitingfieldXCompleted=0;//norowscompletedYCompleted=Field.getHeight();//startingfromSouthYDirection=NORTH;//andgoingNorth controller pletedrowgoingNorthXCompleted+=RowSpacing;YCompleted=0;//makeU-jumpTo( pletedrowgoingNorthXCompleted+=RowSpacing;YCompleted=0;//makeU-jumpTo(getX()+RowSpacing,getY()//andwillgo pletedrowgoingSouthXCompleted+=RowSpacing;YCompleted=Field.getHeight();//makeU- pletedrowgoingSouthXCompleted+=RowSpacing;YCompleted=Field.getHeight();//makeU-jumpTo(jumpTo(getX()+RowSpacing,getY()//andwillgoNorthYDirection=NORTH;YDirection=if(main.checkBoxAuto.isSelected())main.cart.moveControl.fireEvent(" if(main.checkBoxAuto.isSelected())main.cart.moveControl.fireEvent(" transition8(指向歷史狀態(tài))String,觸發(fā)變遷選擇第二個并填入"RESUMETransition6(GoingToPark)的觸表示如果收割結(jié)束則回到起點(diǎn)。在GoingToPark處的進(jìn)入行為填入狀態(tài))的觸發(fā)于選擇訊息,訊息類型為String,觸發(fā)變遷選擇第二個并填入"ARRIVED",行為處填入setRotation(0); if(moveControl.isStateActive(MoveHarvesting) if(moveControl.isStateActive(MoveHarvesting)returngetY()-harvestRatereturnVelocity*RowSpacing*HarvestDensity;表示收為0,onFull和onEmpty分別填 Control.fireEvent("FULL");Control.fireEvent("EMPTY"的類型為double,最后的類型為Shape,初始值分別是 、和空。該四 bine.isMoving() bine.isMoving())doublex bine.getTargetX()-doubley moveTo(x,y} bine.getY()利用狀態(tài)圖連接成如下圖樣子,來表示谷物車工作的邏輯狀態(tài)圖。其中if(main.checkBoxAuto.isSelected()if(main.checkBoxAuto.isSelected() art))moveControl.fireEvent( BINE"表示如果combine進(jìn)入到MoveWaitCart的狀態(tài)則Cart發(fā)出" bine的進(jìn)入行為中寫入//go//gotodoublex= bine.getX()-40;doubley= bine.getY();moveTo(x,y); //synchronizespeedwithcombine bine.getVelocity());//startmovingwith //restoreoriginalvelocitysetVelocity(Velocity); bine.UnloadingRatebine.harvestRate());退出行為處寫入stock.set_InFlow0Stock stock.set_InFlow(0);仍表示設(shè)置Stock的流入速度。Parking.getY());表示回到起點(diǎn)卸載。Unloading處的進(jìn)入行為處寫入main.truck.moveControl.fireEvent"START_LOADINGstock.set_OutFlow(UnloadingRate);退出行為寫入stock.set_OutFlow(0);表示設(shè)置流出速度。 的變遷的行為處填入setRotation( bine.getRotation());,LoadingAndHarvest指向自身的變遷的行為處填入 JustHarvest的行為處填入 mand的變遷的行為處填入main.truck.moveControl.fireEvent("FINISHED_LOADING");。0,VInitial為0,onFull和onEmpty分別填入moveControl.fireEvent"FULL和moveControl.fireEvent("EMPTY");setVelocity(VelocitysetVelocity(VelocityjumpTo(Parking.getX(),Parking.getY()拖入一個函數(shù),命名為atField,返回類型選擇boolean,代碼為利用狀態(tài)圖繪制卡車狀態(tài)邏輯圖如下圖所示。其中AtField的退出行為填入main.cart.moveControl.fireEvent("TRUCK_ARRIVED");Loading出行為為stock.set_InFlow(0);,表示設(shè)置stock的流入速度。GoingToBinmoveToBin.getX()Bin.getY(,表示將卡車移動到最終儲藏罐。Unloading的進(jìn)入行為處寫入stock.set_OutFlowUnloadingRate);main.bin.set_InFlowUnloadingRate);退出行為處寫入setRotationPI0,VInitial0,onFullonEmpty分別填入moveControl.fireEvent"FULL和moveControl.fireEvent("EMPTY");setVelocity(VelocitysetVelocity(VelocityjumpTo(Parking.getX(),Parking.getY()inth=inth=intintm=return(h<10?"0":"")+h+":"+(m<10?"0":"")returnreturngetDayOfMonth()+""+formatMonth(getMonth(),和1.011.01。第一行文本的動態(tài)的顏色處填入:getDayOfWeek()==SATURDAY||getDayOfWeek()==SUNDAY?red:steelBlue。中間的時針建立一個hourGroup,并在動態(tài)中的Z向旋轉(zhuǎn)弧度處填入((getHourOfDay()+getMinute()/60.)/12.)*2*PI,分針也建立一個minuteGroup,并在動態(tài)中的Z向旋轉(zhuǎn),弧度處填入12,Z向旋轉(zhuǎn)弧度處填入index12*2*PI。初始值為newdouble[2000],表示將要收獲的谷物。 intinthrs=(int)(time()/hour()intmin=(int)((time()%hour())/minute() pleted.setText("Completedin"+hrs+"hours+min+"minutes");拖入一個文本,命名為文本pleted,文本處為空。拖入一個矩形,動態(tài)處的重復(fù)寫入Xunits.lengthX寫入XunitsindexY寫入Yunits[index]。從三維中拖入一個光,命名為light,光類型選擇平行光。再拖入一個機(jī),命名為camera,X向旋轉(zhuǎn)寫入55,Z向旋轉(zhuǎn)為0。型選擇限制Z向0以上。HarvestDensityHarvestDensityCartVelocity10Capacity為1000,UnloadingRate為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年健康檔案管理制度
- 北京市人大附中2024年高三下學(xué)期模塊考試數(shù)學(xué)試題
- 2024年09月廣東2024年中國光大銀行深圳分行秋季校園招考筆試歷年參考題庫附帶答案詳解
- 2024年09月山西2024屆廣發(fā)銀行太原分行校園招考筆試歷年參考題庫附帶答案詳解
- 箱包配飾知識培訓(xùn)課件
- 2024年09月安徽2024年中國銀行安徽省分行校園招考筆試歷年參考題庫附帶答案詳解
- 工廠有限空間培訓(xùn)
- 2024年09月上海/江蘇2024年上海銀行總行秋季校園招考筆試歷年參考題庫附帶答案詳解
- 廣西南寧市武鳴區(qū)2025屆初中生物畢業(yè)考試模擬沖刺卷含解析
- 2024年09月2024年中國銀行股份有限公司全球校園招聘筆試歷年參考題庫附帶答案詳解
- 2024年南京市第一醫(yī)院分院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 熱電站汽輪機(jī)發(fā)電安全操作規(guī)程(2篇)
- 2025年中考物理復(fù)習(xí)資料專題18 生活用電(知識梳理+典例+練習(xí))(原卷版)
- 2025年產(chǎn)業(yè)園區(qū)運(yùn)營與管理企業(yè)組織結(jié)構(gòu)及部門職責(zé)
- 2024年學(xué)院宣傳工作總結(jié)(4篇)
- 公司安全事故隱患內(nèi)部舉報、報告獎勵制度
- 第19課《棗兒》課件+2023-2024學(xué)年統(tǒng)編版語文九年級下冊
- 2024-2030年中國土壤修復(fù)行業(yè)十三五規(guī)劃及發(fā)展前景展望報告
- 靜脈治療護(hù)理技術(shù)操作標(biāo)準(zhǔn)解讀
- 2024統(tǒng)戰(zhàn)工作總結(jié)
- 福建省泉州市2023-2024學(xué)年高一上學(xué)期期末質(zhì)檢英語試題(解析版)
評論
0/150
提交評論