繪製弧形,我已經上搜索計算器類似的問題,並嘗試使用一些建議從其他答案這樣一個實現:使用兩個點作爲參考
Point p1 = prop.getDisplayPoint();
Point p2 = prop2.getDisplayPoint();
int xCenter = p1.x - 50;
int yCenter;
if(p1.y > p2.y)
yCenter = p1.y - ((p1.y-p2.y)/2);
else
yCenter = p2.y - ((p2.y-p1.y)/2);
int r = (int)Math.sqrt((p1.x-xCenter)*(p1.x-xCenter) + (p1.y-yCenter)*(p1.y-yCenter));
int x = xCenter-r;
int y = yCenter-r;
int width = 2*r;
int height = 2*r;
int startAngle = (int) ((180/Math.PI)*Math.atan2(p1.y-yCenter, p1.x-xCenter));
int endAngle = (int) ((180/Math.PI)*Math.atan2(p2.y-yCenter, p2.x-xCenter));
g.drawArc(x, y, width, height, startAngle, endAngle);
但還是這個didnt幫助了我。 我試圖計算我的兩點的中心,但弧的結果並不是我正在等待的。
這是結果:
這就是我要找:
我每對點我想連接的座標,像在「汽車」點和「公共汽車」點,然後我想在它們之間畫一條弧線。角度永遠是這樣的。
你的輸出是什麼樣的?我猜測是一個半圈,但不想從你的代碼中弄清楚。 – parsifal 2013-03-27 16:39:10
圖像只是一個例子,我的輸出有更多的原子,但曲線遠離我想要的,甚至連接到的地方都沒有...... – TiagoM 2013-03-27 16:44:49
有一個原因,「一張圖片勝過千言萬語」 ;如果你不願意展示一張圖片(最好用你的「x」和「y」位置標識),那麼你將不得不拿出替換它的文字。否則,沒有人可以幫助你。 – parsifal 2013-03-27 17:09:56