Re: [問題] Android繪圖
※ 引述《tkcn (小安)》之銘言:
: 這問題應該沒有你想像中難才是。
: 假設你已經有每一個角度 theta 的距離 dis,
: 其對應到直角座標系的座標就是 x = dis*cos(theta), y = dis*sin(theta)
: (請注意你內心中的直角座標系 x,y 所指方向,是否跟螢幕上的相同)
: (中間還有事情要做,我寫在更下面)
: 然後根據這些座標,畫一個多邊形出來就可以了。
: 光做到上面還不夠,因為此時雷達的中心會被畫在 (0,0),
: 也就是多邊形會有一大半根本畫在螢幕外,只能顯示其中 90 度。
: 所以你要做個平移 (offset),把雷達中心點移到畫面正中央。
: 再來就是多邊形的大小,
: 實際上你最好事先想清楚,
: 一個單位距離對應到螢幕應該是多少像素,
: 在 "平移" 之前將 x,y 乘上這個比例即可。
: 這個動作叫作縮放 (scale)。
: 希望你能徹底把這個問題解決,然後回答這兩個問題:
: 1. 如何做到平移,x, y 分別要加上多少?
: 2. 為什麼縮放需要在平移之前做?
我先前的想法是將畫面分割成兩塊,
一半顯示極座標表示的圖形,另一半顯示直角座標的圖形
我的想法是先取得螢幕的寬度,並在1/4及3/4寬度的地方標是兩點
分別作為兩座標軸的原點
坐標軸轉換沒有太大的問題
問題在於極座標上的繪圖
因為就我所知,Android的畫面是以直角座標XY所定義的
因此今天如果要如何單以半徑及角度繪圖變成了我最大的問題
JAVA還在學習階段,之前也沒接觸過繪圖相關的東西
煩請就極座標方面的繪圖能否再提供一些建議
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.159.25
推
08/20 11:46, , 1F
08/20 11:46, 1F
→
08/20 11:53, , 2F
08/20 11:53, 2F
→
08/20 11:56, , 3F
08/20 11:56, 3F
推
08/20 12:41, , 4F
08/20 12:41, 4F
推
08/20 13:28, , 5F
08/20 13:28, 5F
→
08/20 13:33, , 6F
08/20 13:33, 6F
→
08/20 13:34, , 7F
08/20 13:34, 7F
→
08/20 13:36, , 8F
08/20 13:36, 8F
→
08/20 13:38, , 9F
08/20 13:38, 9F
推
08/20 18:24, , 10F
08/20 18:24, 10F
→
08/21 20:25, , 11F
08/21 20:25, 11F
推
08/23 19:47, , 12F
08/23 19:47, 12F
→
08/23 20:09, , 13F
08/23 20:09, 13F
推
08/23 20:37, , 14F
08/23 20:37, 14F
討論串 (同標題文章)