看板 java 關於我們 聯絡資訊
※ 引述《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
LPH66:極座標轉直角座標是高中數學的範圍喔~ 08/20 11:46
lachtchlee:全華 Java電腦繪圖list price 280 2005/4 260 pages 08/20 11:53
lachtchlee:內有 貝茲曲線 B-Spline Curve evolute etc. 08/20 11:56
chchwy:你的問題上一篇不就有解答了嗎XD 08/20 12:41
ericinttu:先練一下數學, sin, cos, tan, cot 08/20 13:28
lachtchlee:不要隨意貶人 08/20 13:33
fatalcord:還是在解釋一下好了,我的問題不在於座標軸轉換 08/20 13:34
fatalcord:在於如何以得到的半徑及角度,用哪個"函式"或方法繪圖 08/20 13:36
fatalcord:謝謝二樓提供參考書籍,我會去找來看看的 08/20 13:38
ericinttu:需要的東西不需要學起來嗎? 08/20 18:24
sbrhsieh:是國中數學~~ 08/21 20:25
lachtchlee:做雷達程設的人 數學絕對比樓上兩位高明 08/23 19:47
sbrhsieh:何以見得?! 08/23 20:09
lachtchlee:他懂Markov chain 我同他通過電話 08/23 20:37