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

基于安卓手機的智能測量儀App設計與實現

2018-12-13 07:02:02孫嘉鵬北京市十一學校
數碼世界 2018年11期
關鍵詞:頁面按鈕測量

孫嘉鵬 北京市十一學校

1.開發背景與需求

在日常生活中,我們經常會遇到想要知道某個對象的距離或者高度,但恰巧沒有尺子或者不方便測量的情況。例如,你到旅游景點看到一個雕塑或者一棟大樓,想知道它的高度,卻不方便直接測量。又比如,當你在某個地方發現一件有趣的事情,你想把它的位置分享給朋友,但是GPS獲取的只是人自身的位置,而不是所感興趣目標的位置,這個時候我們希望有個工具能自動測量目標離人的距離,再與人的GPS位置和目標相對于人的角度(可通過手機的方向傳感器獲得)相結合,則可計算出目標的準確位置。

針對以上需求,本文將開發一款基于安卓手機的智能測量儀App,通過用戶的簡單操作即可實現測量某個感興趣目標的高度或者距離。該App將使用谷歌公司提供的App Inventor[1]平臺進行開發,該平臺是一個適用于安卓手機App開發的在線編程軟件,可通過代碼拼裝的方式快速方便地實現所需功能。

2.設計原理

測量距離和高度的基本原理如圖1所示。整個測量過程分為以下兩步:

步驟1)用戶手拿手機,打開攝像頭,并將手機屏幕中心對準被測量對象的底部,點擊拍照按鈕的同時,可利用手機的方向傳感器獲得向下的傾斜角α;

步驟2)用戶再次打開攝像頭,并將手機屏幕中心對準被測量對象的頂部,點擊拍照按鈕的同時,再次利用手機的方向傳感器獲得向上的傾斜角β。

假定用戶的身高h1已知,用戶手拿手機的位置與用戶的頭部大概距離為0.3m,則用戶手機離對面的高度為(h1-0.3)。因此,我們可以根據三角函數得到以下兩個公式,分別用來計算被測量對象與用戶的距離d,以及被測量對象的高度h2。

d=h1*tanα;

h2=h1-0.3+d*tanβ;

圖1 使用手機測量距離和高度的基本原理

3.界面設計

在App Inventor中,調用照相機時,會自動彈出照相界面,并引導用戶照相。所以我們不需要單獨為它設計界面。除此之外,還需要設計三個頁面。首先,用戶需要設置自己的身高,我們可以使用一個文本框供用戶輸入,同時提供一個按鈕供用戶第一次調用攝像頭,并給用戶相應的拍照方法提示,如圖2(a)所示。用戶點擊按鈕后,將第一次進入拍照界面,如圖3(a)所示。用戶將取像畫面中心對準被測量對象底部,然后點擊拍照按鈕,之后將返回第二個頁面,繼續引導用戶進行第二次拍照,如圖所示2(b)。用戶再次點擊按鈕后,將第二次進入拍照界面,如圖3(b)所示。用戶將取像畫面中心對準被測量對象頂部,然后點擊拍照按鈕,之后將進入第三個頁面,顯示計算結果,同時顯示我們所獲得的其它信息,包括身高和兩次拍照的角度,如圖2(c)所示。同時,該界面提供一個返回按鈕,可以回到第一個頁面,重新開始下一次測量。

圖2 智能測量儀的三個頁面

圖3 兩次拍照界面

4.功能實現

下面,分四個方面分別介紹該App的實現細節。

4.1 使用微數據庫存儲數據

用戶需要拍攝兩次來提供足夠的計算信息。在這里,可以選擇將數據以參數形式在頁面之間傳遞,也可以采用微數據庫[2]來存儲數據。因為App Inventor的限制,我們只能在頁面間傳遞一個參數,所以,為了方便起見,這里使用微數據庫。

對于同一個用戶來說,身高是不變的。所以,當用戶第二次以及以后再進行測量時,不需要用戶重新輸入身高了,除非用戶自己想要修改數據。同時,身高也是一個必需的計算參數,所以,如果用戶沒有正確輸入,要給出提示,讓用戶正確輸入身高。第一張頁面初始化和存儲身高信息的塊代碼,以及最后取用數據庫數據的塊代碼分別如圖4和圖5所示。

圖4 頁面初始化和存儲身高信息的塊代碼

圖5 取用數據庫數據的塊代碼

4.2 調用照相機

在App Inventor中,照相機組件是非常簡便易用的,從上圖可以看到,我們只需要一個塊代碼,就可以調用照相機來拍照。之后,在完成拍攝時,我們需要提取角度信息,需要調用拍攝完成事件來存儲傾斜角,相應的塊代碼如圖6所示。

圖6 調用拍攝完成事件來存儲傾斜角的塊代碼

4.3 獲取傾斜角

在APP Inventor中,傾斜角的定義是:當設備水平放置時,其值為0°;隨著設備頂部向下傾斜至豎直時,其值為90°,繼續沿相同方向翻轉,其值逐漸減小,直到屏幕朝向下方的位置,其值變為0°;同樣,當設備底部向下傾斜直到指向地面時,其值為-90°,繼續沿同方向翻轉到屏幕朝上時,其值為0°。如圖7所示。

圖7 傾斜角測量示意圖

因為手機豎直時,傾斜角給出的角度是90度。向前向后繼續傾斜,角度絕對值都將同樣變小,所以,我們計算出的高度值,可能有兩個。如上圖所示,我們的照相角度都為負值,所以在塊代碼中取絕對值,相應的塊代碼如圖8所示。

圖8 計算傾斜角的塊代碼

4.4 距離和高度計算

通過前面的分析,我們需要進行兩次三角變換來分別計算距離和高度,以及我們可能獲得兩個高度值。我們需要一些局部變量作為中間變量來進行計算,相應的塊代碼如圖9所示。

圖9 計算距離和高度的塊代碼

5.總結與展望

本文基于App Inventor設計與實現了一款用于測量對象距離和高度的安卓手機App,在日常生活中有廣泛的應用。然而,本App還有一些待完善和擴展的地方。首先,在用戶瞄準被測量對象時,應該在屏幕中間提供一個“十”字準星幫助用戶獲得更準確的角度信息,但是由于APP Inventor的限制,照相機無法被放置在一個畫布中,只能被獨立調用,所以我們只能讓用戶盡量將被測對象位置置于屏幕中央。這樣一來,測量的結果就存在更大的誤差。另外,不同型號的手機對角度的測量準確性也有很大差異,需要設計一些校準方法來提高測量的準確性。另外,該App需要用戶操作兩個步驟才能測量高度,未來可探索只操作一次即可測量高度的方法。

猜你喜歡
頁面按鈕測量
這些按鈕能隨便按嗎?
大狗熊在睡覺
當你面前有個按鈕
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 青草精品视频| 在线观看的黄网| 亚洲无线一二三四区男男| 天堂岛国av无码免费无禁网站| 大香网伊人久久综合网2020| 亚洲第一成年网| 国产一区二区三区在线精品专区| 精品91自产拍在线| 香蕉色综合| 亚洲国产精品日韩欧美一区| 日本免费新一区视频| 欧美午夜在线播放| 亚洲国产天堂久久综合| 亚洲人成色在线观看| 国产精品主播| 免费99精品国产自在现线| 国产69精品久久久久孕妇大杂乱| 在线精品视频成人网| 狠狠色丁香婷婷综合| 在线中文字幕网| 激情无码视频在线看| 小13箩利洗澡无码视频免费网站| 少妇精品网站| 欧美特黄一免在线观看| 婷婷伊人五月| 精品国产aⅴ一区二区三区| 天天操天天噜| 久热精品免费| 国产91av在线| 色偷偷一区| 97在线免费| 国产凹凸一区在线观看视频| 国产高清在线精品一区二区三区| 国内熟女少妇一线天| 日韩无码一二三区| 亚洲国产精品成人久久综合影院| 欧美亚洲香蕉| 伊人久久久久久久| 日本一区二区不卡视频| 国产成人三级| 日本在线亚洲| 亚洲一区毛片| 国产福利在线观看精品| 亚洲日韩久久综合中文字幕| 日本伊人色综合网| 女人毛片a级大学毛片免费| 久久亚洲日本不卡一区二区| 午夜一区二区三区| 精品成人一区二区| 香蕉蕉亚亚洲aav综合| 毛片视频网址| 麻豆AV网站免费进入| 国产精品免费入口视频| 国产免费a级片| 色欲不卡无码一区二区| 亚洲AV无码不卡无码| 日本成人在线不卡视频| www.91在线播放| a毛片免费观看| 在线观看精品自拍视频| 国产成人久久综合777777麻豆 | 亚洲无码日韩一区| 精品伊人久久久香线蕉| 中文字幕天无码久久精品视频免费 | 午夜国产大片免费观看| 91福利免费| 五月婷婷导航| 成年女人a毛片免费视频| 日韩无码一二三区| 欧美国产精品不卡在线观看| 成人免费视频一区| 亚洲日韩在线满18点击进入| 岛国精品一区免费视频在线观看| 67194在线午夜亚洲| 久久综合丝袜长腿丝袜| 8090午夜无码专区| 国产精品久久久久鬼色| 亚洲成人福利网站| 日韩欧美91| 99re经典视频在线| 九九热精品在线视频| 天堂av综合网|