Math 求圆周的面积

Math 求圆周的面积,math,geometry,Math,Geometry,我正在研制一种雷达,可以显示一些坐标。但是我有一道数学题我解不出来。这是雷达: 它有两个区域:安全区域(白色区域)和危险区域(红色区域)。安全区域的半径为30,整个圆周的半径为100 我正在开发一个在危险区域创建随机坐标的功能,但为此,我需要在该区域中对X和Y进行随机测量,我不知道怎么做。中心为(0,0) 有什么建议吗?非常感谢。只需使用: 如果希望点在两个笛卡尔维度上均匀分布,则需要随机选取x和y坐标,然后丢弃不在所需区域内的任何结果。请参阅我对Borgeader答案的评论。 float r

我正在研制一种雷达,可以显示一些坐标。但是我有一道数学题我解不出来。这是雷达:

它有两个区域:安全区域(白色区域)和危险区域(红色区域)。安全区域的半径为30,整个圆周的半径为100

我正在开发一个在危险区域创建随机坐标的功能,但为此,我需要在该区域中对X和Y进行随机测量,我不知道怎么做。中心为(0,0)

有什么建议吗?非常感谢。

只需使用:


如果希望点在两个笛卡尔维度上均匀分布,则需要随机选取x和y坐标,然后丢弃不在所需区域内的任何结果。

请参阅我对Borgeader答案的评论。
float radius = min + rand(max - min); // 30 + rand(0..70)
float angle = rand(-PI, PI)

int x = radius*cos(angle);
int y = radius*sin(angle);