




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章RAPTOR圖形與視窗交互
《基于RAPTOR的可視化計算案例教程》第2章RAPTOR圖形與視窗交互
《基于RAPTOR的可視學習目標RAPTOR環境如何繪制圖形?用戶如何與RAPTOR圖形環境交互?學習目標RAPTOR環境如何繪制圖形?RAPTOR圖形窗口簡介可視化計算的重要手段是使用圖形來描述計算問題、求解過程和結果RAPTOR過程調用在專門的圖形視窗中實現繪制矩形,圓,弧、橢圓圖形和線條,并在幾何形體中填充顏色,也可以在圖形窗口中顯示文本和數字RAPTOR圖形視窗可接受用戶使用鼠標與鍵盤與之交互,為游戲程序設計提供支持RAPTOR圖形窗口簡介可視化計算的重要手段是使用圖形來描述圖形窗口的打開與定義Open_graph_Window(X_Size,Y_Size)圖形窗口的打開與定義Open_graph_Window(X_RAPTOR圖形窗口和坐標表示RAPTOR圖形窗口和坐標表示圖形窗口的應用過程右圖程序所示,圖形窗口的打開和關閉通常是圖形應用中的第一和最后一個調用命令圖形窗口的應用過程右圖程序所示,圖形窗口的打開和關閉通常是圖繪圖過程與參數-常量繪圖過程與參數-常量繪圖過程與參數-變量繪圖過程與參數-變量繪圖過程與參數-公式繪圖過程與參數-公式繪制弧線Draw_Arc(X1,Y1,X2,Y2,Startx,Starty,Endx,Endy,Color)繪制弧線Draw_Arc(X1,Y1,X2,Y2,Star繪制弧線的思考題在一些圖形原稿的輸入中,例如手繪的動漫原型輸入到計算機中時,離不開弧線的輸入,問題是在弧線輸入時,如何才能獲取到定位所需的8個坐標點?繪制弧線的思考題在一些圖形原稿的輸入中,例如手繪的動漫原型輸非標區域繪制-三角形色彩填充:Flood_Fill(X,Y,Color)非標區域繪制-三角形色彩填充:Flood_Fill(X,Y,簡單的圖形窗口應用簡單的圖形窗口應用圖形窗口輸入主要考慮包括:如何提示用戶進行輸入?如何判斷用戶是否已經輸入?采用阻塞型輸入和非阻塞型輸入?采用鼠標還是鍵盤進行輸入?如果用戶輸入有錯,例如按下非輸入提示的鍵或者點擊了輸入區域以外的區域,程序是否需要進行提示?圖形窗口輸入主要考慮包括:名詞解釋阻塞型輸入使用阻塞型輸入命令時,將暫停程序運行,等待用戶輸入,直到用戶輸入后,程序才繼續運行;非阻塞型輸入使用非阻塞型輸入命令可以得到有關鼠標或鍵盤的當前信息,但不影響執行中的程序名詞解釋阻塞型輸入一個圓形按鈕輸入程序的設計一個圓形按鈕輸入程序的設計按鈕程序:maim子圖負責用戶輸入全局控制繪制按鈕畫面(creat子圖)等待用戶選擇(Get_Mouse_Button)檢測用戶點擊(detection子圖)最后顯示用戶的輸入結果按鈕程序:maim子圖負責用戶輸入全局控制create子圖打開和定義窗口大小循環繪制4個按鈕提示用戶輸入create子圖打開和定義窗口大小Detection子圖子圖用循環檢測點擊循環包含兩個過程:判斷點擊區域和顯示點擊出錯子圖設計中,用戶如果不選中某個按鈕,實際上不能退出子圖Detection子圖子圖用循環檢測點擊按鈕輸入程序的設計優缺點+鼠標位置的計算非常關鍵,這里使用了圓的標準方程“(x-a)2+(y-b)2=r2”(在算法中的表達為(x-a)^2+(y-125)^2<=2500的決策語句)進行判斷-執行效率較低-一旦出錯,出錯信息沒有清除功能按鈕輸入程序的設計優缺點+鼠標位置的計算非常關鍵,這里使用了一個矩形按鈕輸入程序的設計一個矩形按鈕輸入程序的設計Main子圖負責用戶輸入全局控制繪制按鈕畫面(drawbuttons子圖)等待用戶選擇(Get_Mouse_Button)用戶輸入提示檢測用戶點擊(detection子圖)Main子圖負責用戶輸入全局控制drawbuttons子圖drawbuttons子圖detection子圖子圖用分支處理點擊左側分支判斷點擊區域;右側表示出錯子圖設計中,無論選擇對錯,一律退出子圖detection子圖子圖用分支處理點擊思考與實驗題detection子圖中的決策條件:
Y<=200為何只有一個值?*矩形按鈕比圓形按鈕程序在算法上有何改進?思考與實驗題detection子圖中的決策條件:detection子圖子圖用分支處理點擊左側分支判斷點擊區域;右側表示出錯子圖設計中,無論選擇對錯,一律退出子圖detection子圖子圖用分支處理點擊在圖形視窗中畫點并自動連線設計的基本思路:手動接受用戶繪制的點;按照定義,使用專門語句完成部分不規則的邊連接,使用循環完成部分有規則的連接;輸出所有點的位置坐標,有利于將來將點的位置保存到數組,并從數組中恢復這個圖的同構圖。在圖形視窗中畫點并自動連線設計的基本思路:Drawpoints子圖(隨意點擊)繪圖的效果Drawpoints子圖(隨意點擊)繪圖的效果Drawpoints子圖兩種記錄圓點位置的方法,其中s字符串可以直接輸出到文件中Drawpoints子圖兩種記錄圓點位置的方法,其中s字符串圖論圖形中的邊的繪制(一)按照預定的要求繪制無規律的兩點之間的邊圖論圖形中的邊的繪制(一)按照預定的要求繪制無規律的兩點之間圖論圖形中的邊的繪制(二)使用循環方式繪制符合某種規律的邊圖論圖形中的邊的繪制(二)使用循環方式繪制符合某種規律的邊一個算法的兩種輸出(一)可視化的結果輸出形式一個算法的兩種輸出(一)可視化的結果輸出形式一個算法的兩種輸出(二)主控臺的字符串形式:(297,694)(627,223)(684,661)(281,234)(106,494)(823,438)Runcomplete.78symbolsevaluated.一個算法的兩種輸出(二)主控臺的字符串形式:算法輸入輸出的兩種形式的討論可視化輸入、輸出方式:方便與問題的原型進行比對,減少輸入錯誤,減少輸入時的工作量,符合人機交互需求;字符型的輸入、輸出:部分圖論問題可以使用字符形式進行輸入、輸出,但不是全部;字符形式的輸出可以方便文本文件的結果保存。算法輸入輸出的兩種形式的討論可視化輸入、輸出方式:方便與問題在圖形視窗中接受鍵盤輸入在圖形視窗中接受鍵盤輸入鍵盤輸入案例的要點點陣圖像的載入圖片中文字的設計無需考慮坐標問題鍵盤輸入案例的要點點陣圖像的載入鍵盤輸入指令Get_Key_String在RAPTOR中返回字符形式的鍵值,例如”a”,”A”,”PageDown”鍵盤輸入指令Get_Key_String在RAPTOR中返回鍵盤輸入指令與程序功能調用鍵盤輸入指令與程序功能調用RAPTOR圖形與視窗交互課件有關點陣圖形的應用思考題RAPTOR支持點陣圖形的特點,使得許多游戲程序可以在此環境下,以可視的形式來實現。例如,石頭、剪刀、布這個游戲是大家普遍熟悉的,可以實驗在網上尋找該游戲的圖片,剪裁后應用在自己設計的游戲程序中!有關點陣圖形的應用思考題RAPTOR支持點陣圖形的特點,使得在圖形視窗中繪制曲線曲線繪制的主要過程:通過對話窗口輸入函數的參數值在圖形窗口繪制坐標與參考線在規定區間內,以Δ的增量進行計算,并使用畫圓點的方式繪制曲線曲線繪制完成后,使用阻塞型輸入語句“Wait_for_Kay”將繪制完成的曲線進行展示,并等待用戶輸入任意鍵結束在圖形視窗中繪制曲線曲線繪制的主要過程:通過對話輸入參數并打開窗口通過對話輸入參數并打開窗口繪制坐標與參考線繪制坐標與參考線計算、增量和繪制考慮一下,為何
沒有使用畫線,而
是用畫點的方式,
進行曲線的繪制繪制的曲線區間,
是從哪里到哪里?計算、增量和繪制考慮一下,為何
沒有使用畫線,而
是用畫點的動畫繪制效果的輸出使用矢量方式在圖形界面中繪制動畫,是可視化計算中的一種重要的計算表達方式注意傳統動畫電影使用多幀放映,使用每一幅位圖之間的差異來表現動畫效果。而工程圖和卡通漫畫等,它們主要由線條和色塊組成,用代數式來表達每個元素。然后把這些元素的代數式和它們的屬性作為文件存盤,這樣生成的就叫矢量圖動畫繪制效果的輸出使用矢量方式在圖形界面中繪制動畫,是可視化RAPTOR的矢量動畫語句Freeze_graph_Window和Update_graph_Window可用來平滑動畫顯示Freeze_graph_Window通過為圖形對象提供特殊的屏幕緩沖區,圖像的重繪數據可以直接從緩沖區讀取在Freeze_graph_Window被調用語句后(Unfreeze_graph_Window調用語句前),該緩沖區保存了所有圖形調用語句的繪制結果RAPTOR的矢量動畫語句Freeze_graph_Wind動態圖象--鐘擺繪制流程圖初始部分:
注意在Freeze_graph_Window之后,所有圖形繪制的結果保存在緩存區動態圖象--鐘擺繪制流程圖初始部分:
注意在Freeze_g鐘擺繪制流程圖Clear_windows語句擦除前一幀圖像計算與圖形繪制被保存在緩存Update_Graph_Windows將緩存的內容輸出鐘擺繪制流程圖Clear_windows語句擦除前一幀圖像鐘擺繪制流程圖鐘擺繪制
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐廳保安用工合同協議
- 養老院投資合同協議書
- 合同付款單位變更協議書
- 戶外廣告合同終止協議書
- 煤炭站臺服務合同范本
- 廢舊包材回收合同范本
- 外圍股股份合同協議書
- 2025企業實習生勞動合同樣本
- 離婚協議書與合同書
- 船員雇傭合同協議書范本
- 工程造價咨詢服務投標方案(專家團隊版-)
- 滬教版八年級化學(下冊)期末試卷及答案
- DL-T-1878-2018燃煤電廠儲煤場盤點導則
- 2024年廣東省中考生物+地理試卷(含答案)
- (精心整理)林海雪原閱讀題及答案
- 19、38本翻譯附件104-bs10中文版
- 培訓課件-安全工器具
- 溝槽支護及土方開挖專項施工方案
- 應答器及地面電子單元(LEU)培資料
- 3D打印教學演講(課堂PPT)
- 全自動立式制袋包裝機
評論
0/150
提交評論