這背後的數學很簡單。一個圓可以用x軸的正弦函數和y軸的餘弦函數表示。這裏有一些僞代碼:
int num = OverlappingPoints.Length;
for(int i = 0; i < num; ++i)
{
int radius = 50;
// using 2*pi because most math functions use radians... change 2*pi to 360 if your math library uses 360 degrees instead of 2*pi radians to represent a circle.
Map.Plot(OverlappingPoints[i].Latitude + radius*sin(2*pi*i/num),
OverlappingPoints[i].Latitude + radius*cos(2*pi*i/num));
}
該僞代碼,如果正確實施,將圍繞原點繪製出一個圓點。如果要增加圓的半徑,請將半徑倍數更改爲正弦函數和餘弦函數。 如果你想要螺旋點而不是做一個圓圈,選擇每圈圓周的點數,並用正弦/餘弦函數中的數字代替num
。此外,在每次循環迭代後增加半徑,可能是使用一個數字並將其乘以循環索引。 (即您可以將radius
更改爲50*i
)。
希望這會有所幫助。