2017-05-22 12 views
1

n円上に等距離点を生成したい。任意の2つの隣接点間のユークリッド距離は、固定されたx単位です。私がnを増やしても、ユークリッド距離はまだxであるはずです。これは、円の半径が増加しなければならないことを意味します。ただし、円の半径は10の倍数でなければなりません。ユークリッド距離を固定した円上に点を生成する[MATLAB]

は、これまでのところ私は、このコードが出ているが、私はxにユークリッド距離を維持し、半径にnが増加しているだけ10の倍数を維持する方法を見つけ出すことはできません。

r     = 50; % radius 
    NumCNs    = 100; % number of points 
    dd     = r*exp((0:1/(NumCNs-1):1)*pi*2*1i)'; % location of the points 
    XCor    = real(dd); 
    YCor    = imag(dd); 
    plot(XCor , YCor , '*'); 

それは同時に両方の基準を満たすことは不可能である場合には、ユークリッド距離がたとえ何を維持しないことがあります。

誰でも手伝ってもらえますか?

ありがとうございます。

答えて

2

ポイントは、規則的な凸多角形を形成します。外接円の半径は、r=x/(2*sin(pi/n))で与えられ、nは点の数であり、x点の間の距離であり、円の半径はrである。

いつも両方の基準を同時に満たすことはできないので、この方程式を使って円の半径を計算する必要があります。

+0

ありがとうございます。 – nashynash

関連する問題