在具有固定欧氏距离的圆上生成点[MATLAB]
我想在圆上生成在具有固定欧氏距离的圆上生成点[MATLAB],matlab,Matlab,我想在圆上生成n等距点。任意两个相邻点之间的欧几里德距离是固定的x单位。如果我增加n,欧几里德距离仍应为x。这意味着圆的半径必须增加。然而,这里的要点是圆的半径应该是10的倍数 到目前为止,我已经提出了这个代码,但我无法弄清楚如何保持到x的欧几里德距离,并且只有当n增加时,才能保持半径为10的倍数 r = 50; % radius NumCNs = 100; % number of points dd
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 , '*');
如果不可能同时满足这两个标准,那么无论如何都必须保持欧几里得距离
有人能帮我吗
提前谢谢。这些点将形成正凸多边形。外切圆的半径由方程
r=x/(2*sin(pi/n))
给出,其中n
是点数,x
点之间的距离和r
圆的半径
您不能总是同时满足这两个条件,因此您应该使用此方程来计算圆的半径