我想在圆上生成n
等距点。任意两个相邻点之间的欧几里德距离是固定的x
单位。如果我增加n
,则欧几里德距离仍应为x
。这意味着圆的半径必须增加。但是,这里的问题是圆的半径应该只是10
的倍数。
到目前为止,我已经提出了这段代码,但我无法弄清楚如何将欧几里德距离保持到x
,并且仅当10
为n
时,才能将半径保持为 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 , '*');
的倍数增加。
export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
如果不可能同时满足这两个标准,那么无论如何都必须保持欧几里德距离。
任何人都可以帮助我吗?
提前谢谢。
答案 0 :(得分:2)
这些点将形成一个规则的凸多边形。外接圆的半径由等式r=x/(2*sin(pi/n))
给出,其中n
是点数,x
点之间的距离和r
圆的半径。< / p>
您不能总是同时满足这两个标准,因此您应该使用此公式来计算圆的半径。