[iOS programming] 觸控點截取與座標轉換

阿吉老師iphone班出給學生的作業:當手繞著畫面中心繞一圈時,畫面可以回傳0~359.9度。

這個作業挺好的,可以結合觸控,三角函數與基本的幾何概念,我們之前用LabVIEW與Android, App Inventor都有實作過,今天是用 iOS的版本。其中一位學員交的作業。請由此下載:

延續上一篇[[誰說數學不重要] 生氣鳥裡的數學Basic Mathematics of “Angry Birds”] 中,提到生氣鳥其實就是以三角函數將觸控點與畫面中點的距離 r 與夾角 θ 轉換為發射速度與角度。

以機器人來說就是前進速度與前進幅度,都是一樣的概念唷!

有進行iOS程式設計的朋友可以下載程式來玩玩看,也歡迎在這一篇來留言索取Objective-C自修講義

主要的概念就是這張圖,任一點座標(x,y) 透過反正切函數 atan 求出角度之後,再判斷觸控點是位於哪一個象限,如果x>0且y>0 -->第一象限,還記得嗎?  r 自然就是 (x^2 + y^2)開根號,以上都只用到了高一數學唷,但卻是非常實用的技巧。

note: (VL, VR)代表左右輪速度,這是機器人才要用到的參數,純粹要練習座標截取的朋友可以不用理會。

下載範例程式之後可以用模擬器執行,手機會自動回傳當下的觸控點與畫面中心夾角(我們沒有把觸控點畫出來,有興趣的朋友可以自行補強)。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *