999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

矢量圖算法生成系統的研究

2019-07-25 08:03:28鄭澤濤余健
現代計算機 2019年17期
關鍵詞:界面系統

鄭澤濤,余健

(韓山師范學院計算機與信息工程學院,潮州521041)

0 引言

自十八世紀中期,瓦特改良了蒸汽機之后,由一系列技術革命引起了從手工勞動向動力機器生產轉變的重大飛躍,這就是人們常說的第一次工業革命。自工業革命以來,機器所帶來的生產力遠遠超過了人工。隨著機器的產生,又出現了機器人。機器人脫離了空間的限制,可以自由移動,前進、后退、左轉、右轉都是可以實現的。光可以移動,還是不夠的,人們又給機器人加上了諸多感應器,充當機器人的眼睛、耳朵和手等[1]。

機器人的產生,也帶來了機器人編程,可是受到實物的限制,不能廣泛傳播,因為不可能讓每一個初學者都去購買機器人回來測試,畢竟這東西還是蠻貴的。此時,模擬機器人運行環境的程序的出現就剛好解決了這個問題,以RobotBASIC 為例,使用它可以很方便地在電腦上做各種關于機器人的測試。但是,僅僅依靠RobotBASIC 也無法解決一些問題,如矢量圖畫法的數據填充問題,此時開發工具的配合使用,就體現出它的強大之處,很多依靠RobotBASIC 自身無法解決的問題,可以通過配合其他開發工具,如VS2010 解決[2]。

本文主要是研究并開發一個矢量圖算法生成器,利用winForm 的可視化界面,為系統和用戶提供一個良好的交互環境,用戶只需要修改對應的數值,就可以自動一鍵生成對應的算法代碼,即解決了“矢量圖畫法的數據填充問題”,又為用戶保留了創新的空間[3]。

1 系統設計

1.1 需求

通過“矢量圖畫法”完成以下任務:即通過機器人的移動、落筆、收筆,畫出自己的名字或者其他字符[4]。

系統需要解決以下問題:

(1)機器人如何實現矢量圖畫法

(2)如何把算法轉化為可視化參數

(3)如何把可視化參數轉化為算法代碼

1.2 系統總體設計

系統體系架構圖和系統流程圖分別如圖1 和圖2所示。

圖1 系統體系架構圖

圖2 系統流程圖

1.3 系統詳細設計

矢量圖原理其實就是利用二維數組存儲像素點,通過0 不畫1 畫的方式來畫。而在RobotBASIC 中,只有一維數組,即二維數據存在一維數組中,機器人走到每行的末尾時,由于下個點是下一行的開始,所以機器人必須從尾部重新跑回去起始點[5],如圖3 所示。

圖3 矢量圖行走邏輯

該模塊的主要功能是,把難以理解的算法參數,轉化為用戶肉養可見的可視化參數,用戶可以直接通過修改參數,達到修改算法代碼的目的[6]。下面介紹以下常用的參數名:

(1)顯示文字:該參數輸入的是要顯示的字符,當字符數為0 時無法生成代碼

(2)字體種類:該參數讀取了系統本地所有的字體種類供用戶選擇

(3)文字坐標:該參數設置文字顯示的(x,y)位置

(4)文字字體大小:該參數設置文字的字體大小

(5)旋轉點:該參數設置的是顯示界面的旋轉中心,初始坐標為(400,300)

(6)旋轉角度:該參數設置的顯示界面的旋轉角度

(7)機器人半徑:該參數用于設置機器人的半徑,取值區間為[1,50],由于在RobotBASIC 中,機器人移動碰到邊緣時會出錯,該參數是為了保證代碼不會運行出錯

(8)僅顯示截取框內容(勾選):該參數用于顯示和隱藏無效區域

(9)生成代碼(按鈕):點擊可以生成代碼

其中雙框截取同步模塊主要是為了給用戶提示無效區域。由于機器人碰到邊緣時會出錯,所以機器人的畫圖區域受其半徑影響,也就是在主界面邊緣往里半徑以內的區域都是無法畫圖了。用戶可以直觀地看到無效區域中的內容和實際上可以畫出來的內容,如圖4 所示。

圖4 顯示和隱藏無效區域內容

2 系統實現

2.1 系統界面

如圖5 所示,這是系統的可視化界面,用戶可以通過該界面,修改顯示文字、字體種類、文字坐標、文字字體大小、旋轉點、旋轉角度、機器人半徑,還可設置是否顯示無效區域的內容,最后確定后,通過點擊[生成代碼]按鈕,可以生成代碼。

圖5 矢量圖算法生成器界面

2.2 運行效果

通過圖6 的對比可以看出,骨架畫法顯然比不上矢量圖畫法,而且每次畫新的字符時,都需要重新編寫行走代碼,復用性極差;而矢量圖畫法畫出的結果更美觀,且復用性好。

圖6 骨架畫法和矢量圖畫法對比

如圖7,將字體的種類修改為“華為隸書”后,再修改旋轉參數,使字符旋轉一定的角度后,個性的字符圖產生了。

圖7 顯示界面

由于RobotBASIC 中機器人觸碰到邊緣時會產生錯誤,所以機器人的半徑就是臨界值,使得界面中有一部分無法畫到,被稱為無效區域。無效區域內的內容在展示時是不會出現的,如圖8 所示。

RobotBASIC 界面是800×600 像素,機器人半徑r,則所需存儲的像素點數據量為:

S=(800-2*r)*(600-2*r)(0

可以解得:350000<=S<480000。

這是一個龐大的數據量,如圖9 所示,“Robot”字符所產生的代碼長度約為842KB。

圖8 無效區域的顯示

圖9 生成代碼字節長度

生成的算法代碼在RobotBASIC 中運行算法,開始運行時間是:21:41:47,結束運行時間是:22:03:23,總共花費時間是:22:03:23-21:41:47=0:21:36,花費時間超過21 分鐘,如圖10 所示。

圖10 原算法運行

前面對于數據的填充,是把除無效區域外的所有數據全部計入,但是這有一個問題,以圖11 為例,有效數據其實只有中間“Robot”這一部分的數據,周圍的空白區域其實機器人根本不需要行走到,機器人走過是在浪費時間,但是也被填入到數據中。通過更新填充算法,先計算出有效數據像素點所占的矩形范圍,從而分別獲取橫、縱坐標的最大值和最小值,如圖11 所示,縮小了填充數據的范圍,大大減少了機器人完成任務的時間。

3 矢量圖行走算法

矢量圖原理其實就是利用二維數組存儲像素點,通過0 不畫1 畫的方式來畫。而在RobotBASIC 中,只有一維數組,即二維數據存在一維數組中,機器人走到每行的末尾時,由于下個點是下一行的開始,所以機器人必須從尾部重新跑回去起始點。但是,這樣每次走回每行的起始點,這部分時間是浪費的,所以我們采用新的行走邏輯算法。利用一、二維數據的轉換關系,用兩個參數i 和j 分別表示當前的點是第(i+1)行,第(j+1)列,這里+1 是因為數組下標從0 開始計算。在一個列數為n 的矩陣中,一維數組表示形式就是c[i*n+j],這是等價于二維數組的c[i][j]的。然后在機器人走到一行的末尾時,行數+1,列數不變,讓機器人轉個180°,從一行的末尾往前走,這樣就可以節省掉機器人跑回行首的時間了,如圖12 所示,減少了幾乎一半的行走時間。

圖11 尋找有效矩形區域

圖12 新舊行走方式對比

從圖13 中可以很明顯看出差別,原算法代碼字節長度是842KB,新算法代碼字節長度是29KB,減少了約813KB,減少了96.556%的字節長度,新算法的字節長度僅是原算法字節長度的3.44%,大大縮小了數據填充量,提高了機器人的運行效率。

圖13 新舊算法字節長度對比

如圖14 所示,系統維護更新后新算法的運行時間僅是39s,而原算法運行時間是21 分鐘36 秒,合計1296 秒,新算法所用時間僅是原算法所用時間的3.01%,減少了約96.99%的時間消耗。

圖14 新算法運行

4 結語

本文主要是通過解決“矢量圖畫法的數據填充問題”,研究開發工具聯合使用的作用。從文中可以很明顯的看出,單單靠RobotBASIC 根本無法完成“矢量圖畫法”這種難度極大的任務,然而在Visual Studio 參與聯合開發之后,問題變得輕松了許多。并且在一開始設計時,由于沒有考慮到“數據量大”和“行走方式的缺陷”,導致算法代碼字節長度過長和運行時間過長,不過通過不懈的努力和研究,系統還是得到了完善,成功解決了該文研究的問題。

系統目前處于一個比較穩定的狀態,但是同時也存在一個問題,那就是如果填充數據過于分散時,系統的數據填充量和機器人的運行時間依然會很長,這個問題暫時還沒有得到解決,在后續更新維護中會逐步解決。

猜你喜歡
界面系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開材料界面世界之門
主站蜘蛛池模板: 久久一本日韩精品中文字幕屁孩| 成人av手机在线观看| 中文字幕欧美日韩| 九九九精品视频| 日韩高清欧美| 性视频久久| 国产喷水视频| 波多野结衣无码中文字幕在线观看一区二区 | 亚洲人成电影在线播放| 五月激情综合网| 四虎亚洲国产成人久久精品| 亚洲欧美精品日韩欧美| 依依成人精品无v国产| 亚洲免费福利视频| 成人福利在线视频| 国产网站免费| 国产一级毛片在线| 69av在线| 国产亚洲精品97AA片在线播放| 久视频免费精品6| 亚洲中文精品久久久久久不卡| 国产香蕉97碰碰视频VA碰碰看| igao国产精品| 福利一区在线| 免费观看国产小粉嫩喷水| 亚洲一区二区成人| 国内精品自在自线视频香蕉| 日韩在线播放欧美字幕| 夜夜拍夜夜爽| 欧美激情首页| 国产免费精彩视频| 99re热精品视频中文字幕不卡| 欧美一区二区自偷自拍视频| 国产成人AV综合久久| 国产福利一区在线| 国产91无毒不卡在线观看| 久久综合五月婷婷| 日韩东京热无码人妻| av尤物免费在线观看| 欧美在线视频不卡| 久久久久免费精品国产| 国产成人亚洲综合a∨婷婷| 亚洲久悠悠色悠在线播放| 中文字幕乱码中文乱码51精品| 亚洲中文字幕久久精品无码一区| 97精品国产高清久久久久蜜芽| 国产在线小视频| 国产97视频在线| 亚洲人成网线在线播放va| 精品久久久久久成人AV| 日韩欧美国产三级| 免费亚洲成人| AV熟女乱| av一区二区人妻无码| 国产成人免费视频精品一区二区| 日本在线视频免费| 午夜丁香婷婷| 日本在线视频免费| 亚洲精品国产乱码不卡| 亚洲欧美自拍视频| 99re热精品视频中文字幕不卡| 国产喷水视频| 亚洲水蜜桃久久综合网站 | 伊人久久精品无码麻豆精品 | 久久精品人人做人人| 国产精品欧美亚洲韩国日本不卡| 国产成人综合日韩精品无码不卡| 国产91在线|日本| 国内熟女少妇一线天| 99热这里只有精品久久免费| 露脸真实国语乱在线观看| 在线观看的黄网| 日韩亚洲高清一区二区| 夜夜高潮夜夜爽国产伦精品| 亚洲欧洲日韩综合色天使| 香蕉伊思人视频| 91亚洲精选| 香蕉色综合| 亚洲精品国产综合99久久夜夜嗨| 免费国产在线精品一区| 欧美成人亚洲综合精品欧美激情| 成人福利一区二区视频在线|