0
我點甲(pointA = (x1, y1)
),我需要選擇隨機點乙(pointB = (x2, y2)
),使得甲之間的距離和B等於K。如何以一定的距離選擇的隨機點到參考點
我點甲(pointA = (x1, y1)
),我需要選擇隨機點乙(pointB = (x2, y2)
),使得甲之間的距離和B等於K。如何以一定的距離選擇的隨機點到參考點
讓我們以極地形式解決。
我們需要這些雙打distance
,x1
和y1
。
首先,我們要在弧度的角度:
double angle = Math.random()*2*Math.PI;
然後我們想從我們的觀點x和y偏移:
double xOff = Math.cos(angle)*distance;
double yOff = Math.sin(angle)*distance;
然後,我們添加這些給我們的第一點:
double x2 = x1 + xOff;
double y2 = y1 + yOff;
這會讓你從你的第一點開始有一個特定的distance
。
這是一個簡單的數學問題。
x2 = x1 - k + 2k*new Random().nextDouble()
現在您可以計算出y2。
[此答案] [1]有你在找什麼。 [1]:http://stackoverflow.com/a/929781/4805137 –
【計算兩點之間的距離]的可能重複(http://stackoverflow.com/questions/929773/calculating-兩點之間的距離) – gioele
這不是重複的。 –