使用java中的行创建一个圆

时间:2016-11-04 04:20:29

标签: java math geometry lines

我已经检查了与此相关的所有其他问题,但他们并没有帮助我。我没有试图提出重复的问题。我需要在java中使用行创建一个圆圈(9对于我现在正在使用的工具来说是准确的)。 Formula

int points = 9;
int r = 100;
float originX = width/2+r;
float originY = height/2;
float angle1;
float angle2;

void setup() {
    size(500, 500);
}

void draw() {
    for(int i=0; i < points;++i) {
        angle1 = i * 2 * PI / points;
        angle2 = i * 2 * PI / points;
        line(originX + r * cos( angle1), originY + r * sin(angle1),
             originX + r * cos( angle2), originY + r * sin(angle2));
    }
}

这就是公式,我知道圆圈的环境 2pi弧度所以我使用(2*pi)/9作为我的theta。 我目前的代码位于上方。

有人可以告诉我如何让这个工作吗?

1 个答案:

答案 0 :(得分:0)

目前,您正在绘制轮子的轮辐,而不是圆周。要执行此操作,您需要从第i个点到第(i + 1)个点绘制一条线

for(int i=0; i < points;++i) {
    angle1 = i * 2 * Pi / points;
    angle2 = (i+1) * 2 * Pi / points;
    line(OriginX + r * cos( angle1), OriginY + r * sin(angle1),
         OriginX + r * cos( angle2), OriginY + r * sin(angle2)) ;
}