1
我目前正在尝试为圆形实现绘制方法,但是我的唯一工具是从多个点绘制线条(特定于此示例,我有一个“笔”,可以移动到,然后从该位置画到新位置上的网格。)在java中使用线绘制圆形
这是我当前的代码
public void draw(WinPlotter plotter){
setPenColor(plotter);
plotter.moveTo(xo,yo); //xo,yo being original X and Y cords (origin)
for (int i = 0; i > 360; i++){
double x = Math.sin(i) * radius;
double y = Math.cos(i) * radius;
plotter.drawTo(x,y);
}
}
我不知道我错过了什么,但其实这不会输出任何东西总之,我已经测试过确保xo和yo被正确地传递给方法,所以我相信我的问题在于我试图从线条画出一个圆的逻辑。
编辑:
public void draw(WinPlotter plotter){
setPenColor(plotter);
plotter.moveTo(xo,yo+radius);
for (int i = 0; i <= 360; i++){
double x = xo+ Math.sin(i * (Math.PI/180)) * radius;
double y = yo+ Math.cos(i) * radius;
plotter.drawTo(x,y);
}
}
这是我固定的代码。仍然没有建立社交圈,而不是创建这个(圆圈应该是在顶部)
我试过这个,并用更新编辑了我原来的问题。你能看看吗? – user3120910
@ user3120910您修正了'sin()'调用,但不修改'cos()'调用;你将弧度投给一个和另一个度。 – TypeIA
好吧,这是我愚蠢的哈哈谢谢。我想我对整个方法感到很慌乱,所以我并没有批判性地思考。再次感谢 – user3120910