這個答案的最快的描述是,我試圖找到白點的座標。深紅色是繪製的圓上的繪製圓弧(深藍色)。
較長的解釋: 我已被延伸View
和被畫圈在畫布上的一類(在畫布具有相等的寬度和高度):
canvas.drawArc(rectF, 0, 360, true, paint); // mOvals is a RectF object with 4 coordinates
然後我劃弧即百分之N(假設在這種情況下爲225)。圓弧從-90度開始(因爲畫布中的0度意味着3'o個時鐘)和「渡」N度(在本例中爲225度)。
我想計算X/Y座標或其餘圓弧的中心(未被紅色圓弧覆蓋的區域,即在N和360之間)。
如果有一些幫助,我有半徑爲canvasWidth/2的圓。
以下是我畫的紅色弧線:(。原來的答覆更新它可能是一個有點太冗長了,但我希望它能幫助)
long arcEnd = (360 * fractionNumber)/totalNumber;
canvas.drawArc(rectF, -90, arcEnd, true, paint);
你能詳細一點?我嘗試通過'Math.atan2(x,y)'運行原始的X和Y座標,但它只返回一個數字,如「0.8612618928415864」。你知道我怎麼把它轉換成實際座標? –
它不是通過轉換提供的XY座標(笛卡爾座標),而是極座標。極地和笛卡爾只是表達同一事物的兩種方式(網格中的一個點)。極座標由角度(通常在0和360之間,或整個圓圈的0和2π)和距中心點的距離組成。您可以計算所需的角度,因爲您知道百分比,並且可以計算距離,因爲您知道圓的半徑。一旦確定了極座標,就可以使用鏈接到的函數將其轉換爲XY座標。 – Barend
任何人都可以在此找到解決方案?非常感謝您的幫助,謝謝 – ralphgabb