【问题标题】:Generate points on a circle with fixed Euclidean distance [MATLAB]在具有固定欧几里德距离的圆上生成点 [MATLAB]
【发布时间】:2017-05-22 08:10:18
【问题描述】:

我想在圆上生成n 等距点。任意两个相邻点之间的欧几里得距离是一个固定的x 单位。如果我增加n,欧几里得距离应该仍然是x。这意味着圆的半径必须增加。但是,这里要注意的是,圆的半径只能是10 的倍数。

到目前为止,我已经想出了这段代码,但我无法弄清楚如何保持与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 , '*');

如果不可能同时满足这两个标准,那么无论如何都必须保持欧几里得距离。

谁能帮帮我?

提前谢谢你。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    这些点将形成一个正凸多边形。外接圆的半径由公式r=x/(2*sin(pi/n)) 给出,其中n 是点数,x 是点之间的距离,r 是圆的半径。

    你不可能总是同时满足这两个条件,因此你应该使用这个方程来计算圆的半径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      • 2011-07-04
      相关资源
      最近更新 更多