Re: [問題] Android繪圖

看板java作者 (小安)時間12年前 (2011/08/19 23:09), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《fatalcord (QQ)》之銘言: : 標題: [問題] Android繪圖 : 時間: Fri Aug 19 21:52:39 2011 : : 最近在作雷達相關的程式開發 : 目前只做到從雷達收0~180度的物體距離資訊到手機 : 我的目標是在螢幕上訂定一個固定點作為座標原點 : 依據所得的距離資訊 : 在0~180度的位置各別依據其距離繪點 : 並把這些點連起來 : 有找了關於2D二維圖形的資料來看 : 但是不曉得該從何下手 : 不知道板上有沒有人做過相關程式的 : 可否提供一些意見或是網站資料作為參考 : : 由衷感謝 : : -- : → fatalcord:其實我的問題是該如何定義一個固定點作為極座標原點 08/19 22:00 : → fatalcord:再依照各點的半徑r以及角度繪製出圖形 08/19 22:02 : → fatalcord:或是用直角座標表示也可以 08/19 22:05 這問題應該沒有你想像中難才是。 假設你已經有每一個角度 theta 的距離 dis, 其對應到直角座標系的座標就是 x = dis*cos(theta), y = dis*sin(theta) (請注意你內心中的直角座標系 x,y 所指方向,是否跟螢幕上的相同) (中間還有事情要做,我寫在更下面) 然後根據這些座標,畫一個多邊形出來就可以了。 光做到上面還不夠,因為此時雷達的中心會被畫在 (0,0), 也就是多邊形會有一大半根本畫在螢幕外,只能顯示其中 90 度。 所以你要做個平移 (offset),把雷達中心點移到畫面正中央。 再來就是多邊形的大小, 實際上你最好事先想清楚, 一個單位距離對應到螢幕應該是多少像素, 在 "平移" 之前將 x,y 乘上這個比例即可。 這個動作叫作縮放 (scale)。 希望你能徹底把這個問題解決,然後回答這兩個問題: 1. 如何做到平移,x, y 分別要加上多少? 2. 為什麼縮放需要在平移之前做? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.78.231
文章代碼(AID): #1EJdoLFf (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1EJdoLFf (java)