• 
    

    
    

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

      基于Authorware三視圖模擬識圖系統(tǒng)的實現(xiàn)

      2018-01-28 21:19:31王林玉
      電子技術與軟件工程 2017年18期
      關鍵詞:三視圖變量函數(shù)

      王林玉

      摘要

      通過Authorware的圖標化的編程方式,在Authorware中采用堆疊小立方體的方式,將15個小立方體隨機填充到一個3*3*3的矩陣樣式中,模擬空間的三維立體圖形。在生成的模擬三維立體圖形中,任選一個生成三視圖,用熱區(qū)響應的方式,選擇與三視圖對應的三維立體圖形。實現(xiàn)三視圖的模擬識圖系統(tǒng)的制作,從而達到強化三視圖識圖的目的。

      【關鍵詞】Authorware 變量 函數(shù) 三視圖

      在機械零件圖形繪制中,通常是用三視圖來表達一個機械零件在各個面上的投影的輪廓形狀。三視圖一般指對象的主視圖、左視圖和俯視圖,將機械零件用正投影法在三個相互垂直的投影面上產(chǎn)生的投影輪廓形狀作為各自不同的投影圖形,這種投影關系是一一對應的。CAD繪制三維圖形時,常用的方法是將簡單的二維圖形,通過拉伸旋轉和布爾運算之后,生成復雜的三維圖形。對三視圖的投影方法的理解以及三視圖與三維圖的對應關系,在工程繪圖或CAD三維繪圖都是很重要的一部分基礎知識。在Authorware中用小立方體的方式構造空間立體,用堆疊立方體的方式構造空間物體。實現(xiàn)三視圖識圖系統(tǒng)的制作,通過使用此系統(tǒng)可以加強三視圖識圖能力的練習。

      1系統(tǒng)設計思路

      此練習系統(tǒng)中,采用小立方體單元堆疊的方式來構造網(wǎng)格式的空間立體對象,就象魔方玩具一樣,空間立體對象是由3*3*3矩陣樣式排列的小立體構成。系統(tǒng)中,用15個小立方體隨機填充到不同的位置,就能構造出結構復雜又變化多樣的空間立體,在系統(tǒng)界面中,每次構造6個立體對象,處于不同的位置而且每組隨機取出一個立體構造其三視圖。

      用堆疊小立方體的方式構造空間立體時,從不可見的面向可見面堆疊。對于空間小立方體的繪制,建立一個用戶坐標系,確定基點坐標及各個坐標軸方法(圖1繪制小立方體坐標)。根據(jù)坐標軸的方向,在繪制空間立體各個小立方體單元,繪制時要按照從下向上(z坐標)、從右向左(y坐標)、從后到前(x坐標)的順序來繪制,這樣使空間位置靠前的小立方體能夠遮住后面的小立方體。其中靠前的小立方體遮住后面的小立方體部位不可見的線,用白色的線條繪制。

      在垂直于投影面的一列網(wǎng)格單元中,只要有一個位置被填充了小立方體,這列網(wǎng)格對應的投影位置就應出現(xiàn)一個小矩形。

      制作此系統(tǒng),首先建立基本的程序結構和界面,如圖2所示。

      在初始化中,設置變量stop和分組變量item設置初始值,設置stop:=0,item:=l。在決策圖標的屬性窗口,選擇循環(huán)屬性為直到判斷值為真,并定義退出的條件為item>20|stop=1,這樣,當分組變量item達到20或者停止標志變量stop被置為1,都將結束這個決策循環(huán),如圖3所示。

      2系統(tǒng)實現(xiàn)過程

      打開群組圖標,在一次測試流程圖中,設置分支結構如圖4所示。

      2.1隨機構造空間立體

      在分支中,六次決策圖標和之下的群組圖標,用來在窗口中生成隨機構造空間立體堆。其分支結構中,分別用三個計算機圖標,依次為生成“立方體”、“畫立方堆”、“下一個立方堆”來順序執(zhí)行。其后跟一個決策圖標“選擇立方堆”。

      其中,“生成立方體”計算圖標中,利用數(shù)組記錄3*3*3矩陣網(wǎng)格各立方體填充情況,先對數(shù)組初始化,程序代碼為:

      Repeat with x:=lto3

      Repeat with y:=lto3

      Repeat with z:=lto3

      E1:=x*100+y*10+z

      Arrayset(el,0)

      End repeat

      End repeat

      End repeat

      N:=l

      Repeat while n<=15;利用變量n控制總數(shù)不超過15個

      Rx:random(l,3,l);為變量rx隨機選擇一個1-3之間的整數(shù)

      Ry:=random(l,3,l);為變量ry隨機選擇一個1-3之間的整數(shù)

      If arrayget(rx*100+ry*10+l)=0then

      Arrayset(rx*100+ry*l0+1,1);判斷代表網(wǎng)格單元的數(shù)組元素值是否為0,是則將其值置為1

      Else

      If arrayget(rx*100+ry*10+2)=0 then

      Arrayset(rx*100+ry*10+2,1)

      Else

      If arrayget(rx*l00+ry*10+3)=0 then Arrayget(rx*100+ry*10+3,1)

      Else

      N:=n-1

      End if

      End if

      End if

      N:=n+1

      End repeat

      在計算圖標“畫立方堆”中,輸入如下程序

      Sx:=mot(keer,3)*130+80;用變量keer和mod函數(shù)、int函數(shù)確定空間立體的起始點坐標

      Sy:=int(keer/3)*130+190Repeatwithz:=lto3按照Z坐標、Y坐標、X坐標的順序繪制前面隨機確定的小立方體。

      Repeat with y:=3 down to 1

      Repeat with x:=3 down to 1

      If arrayget(x*l00+y*10+z)=l then 如果數(shù)組元素的值為1,該元素對應的空間立體單元位置有一個小立方體,因此進入繪制程序Cx:=sx-(y-x)*17

      Cy:=sy-(x+(y-z))*10-(z-l)*30;確定基點坐標endprint

      Setfame(l,rgb(255,255,255));使用白色的線條繪制不可見部分

      Line(1,cx,cy-20,cx-17,cy-10)

      Line(1,cx+17,cy-10,cx,cy-20)

      Linet)1,cx,cy-40,cx,cy-20)

      Setframe(l,rgb(255,0,0));用紅色繪制小立方體頂面的4條邊

      Line(1,cx,cy-20,cx-17,cy-30)

      Line(1,cx,cy-20,cx+17,cy-30)

      Line(l,cx-17,cy-30,cx,cy-40)

      Line(l,cx+17,cy-30,cx,cy-40)

      Setfame(l,rgb(0,255,0));用綠色繪制左側面的邊

      Line(1,cx,cy,cx-17,cy-10)

      Line(1,cx-17,cy-10,cx-17,cy-30)

      Line(1,cx,cy,cx,cy-20)

      Setframe(l,rgb(0,0,255));用藍色繪制前面的邊

      Line(1,cx,cy,cx+17,cy-10)

      Line(1,cx+17,cy-10,cx+17,cy-30)

      End if

      End repeat

      End repeat

      End repeat

      在流程線上加一個計算圖標“下一個立方體”,將位置變量keer:=keer+l,在下一個循環(huán)中在下一個位置繪制另一個空間立體。

      2.2隨機選擇空間立體構造三視圖

      在第四層流程圖中加入一個決策圖標,設置分支屬性為to calculated path,定義計算表達式為“keer=w”,由于變量keer是遞增的,而變量W是前面產(chǎn)生的隨機值,因此這樣設置可以隨機選擇一個空間立體。

      在群組圖標流程線上,加入三個計算機圖標,分別用來判斷小立方體是否在某一個面上有投影。其中實現(xiàn)程序如下:

      Vaz:=””

      Repeatwithz:=3downto1

      Repeat with x:=l to 3

      K:=arrayget(x*100+10+z*l)+arrayget(x*100+20+z*l)+arrayget(x*100+30+z*1)

      If k>0 then vaz:=vaz∧l else

      vaz:=vaz∧0

      End repeat

      End repeat

      判斷某一列是否有小立方體單元:將該列三個單元對應的數(shù)組元素的值相加,如果和大于0,說明有小立方體,同時為字符串變量vaz添加字符1,否則添加字符0。其它兩個視圖程序相同。

      在第三層流程線上,用一個群組圖標,加入顯示圖標和三個計算圖標,用來設置圖形的顯示和繪制,其實現(xiàn)程序如下:

      在程序中,利用函數(shù)substr從字符串變量vaz中取出前3個字符,中間3個字符和最后3個字符,并分別賦值給3個字符串變量,繪制最上面的一排單元格,如果字符為1,說明需要繪制小方塊,邊長設置為15,否則不繪制。繪制中間一排的單元格,小方塊的Y坐標增加15,然后繪制最下面一排單元格,小方塊的Y坐標再增加15。同理,繪制其它兩個視圖。

      2.3判斷及統(tǒng)計

      在系統(tǒng)設計后期,需要提示用戶要完成的任務。然后利用熱區(qū)響應判斷用戶選擇的是否正確,是則繼續(xù)下組練習,否則重新選擇,記錄選擇的正誤次數(shù),結束程序時顯示練習情況。具體的做法為如下:

      (1)在流程圖上加入一個交互圖標,其下加入兩個計算圖標,用按鈕響應,分別為返回和下一組練習。加入兩個群組圖標,分別是正確的選擇和錯誤的選擇,用熱區(qū)響應。

      (2)在正確的選擇群組圖標中,設置其分支流向為離開交互,在錯誤的選擇分支中設置其流向為返回。

      (3)在每次正確選擇之后,用擦除圖標來擦除正確提示信息。

      其流程圖如圖5所示。

      系統(tǒng)設計最后效果如圖6所示。

      3結論

      系統(tǒng)的設計與實現(xiàn),首先是用數(shù)組記錄空間立體構造情況,隨機為數(shù)組元素賦值。然后根據(jù)數(shù)組元素值,在對應位置繪制小立方體單元,隨機選個空間立體,用字符串變量記錄其在各投影面的投影情況,根據(jù)字符串變量的值繪制三視圖,利用熱區(qū)響應判斷用戶選擇是否正確,統(tǒng)計測試情況。

      參考文獻

      [1]宋一兵,遲潔茶.Authorware6典型應用實例與技巧[M].北京:人民郵電出版社,2002.

      [2]許永年,覃小斌.工程制圖[M].北京:中央廣播電視大學出版社,1999.endprint

      猜你喜歡
      三視圖變量函數(shù)
      二次函數(shù)
      第3講 “函數(shù)”復習精講
      抓住不變量解題
      二次函數(shù)
      函數(shù)備考精講
      也談分離變量
      借助長方體巧解棱錐的三視圖問題
      一種解決三視圖問題的方法——鑲嵌法
      三視圖題型例析
      三視圖解法探微
      罗源县| 潍坊市| 天门市| 绥阳县| 平顺县| 云林县| 盐源县| 昭通市| 吴忠市| 东乡族自治县| 承德市| 青阳县| 民县| 泗水县| 凤台县| 丰城市| 星子县| 富锦市| 黄浦区| 友谊县| 馆陶县| 隆林| 荔波县| 张家界市| 英山县| 张家港市| 鄂伦春自治旗| 巨鹿县| 丘北县| 芦溪县| 黄梅县| 那曲县| 常德市| 平乡县| 榆社县| 富顺县| 屏边| 宜昌市| 花莲市| 乌拉特后旗| 曲周县|