使用绘图仪绘制圆圈

时间:2014-01-07 22:25:20

标签: java

我有一个名为Circle的类,它从一个名为Shape的类扩展而来。我试图找出如何使用draw()方法的给定描述在绘图仪上绘制圆圈。

这是我到目前为止的课程:

public class Circle extends Shape{

    private double radius;

    public Circle(double x_origin, double y_origin, double r, Color c){
        super(x_origin, y_origin, c);
        this.radius = r;
    }

    public void draw(WinPlotter plotter){
        setPenColor(plotter);


    }

}

setPenColor只为要绘制的圆提供颜色,随意忽略它。

圆圈绘制方法的javadoc描述如下:

  

绘制圆圈。使用来自的正弦和余弦函数   java.lang.Math类,用于计算位于其上的有限点集   圆周,然后使用drawTo方法   WinPlotter绘制一系列小型连接直线   段。绘制足够的段时(大约25个段)   足够的),近似平滑的圆圈。

如果您需要查看整个Circle javadoc,here it is

以下是WinPlotter javadoc用作参考。我只使用moveTo()drawTo()方法来绘制我必须绘制的其他形状。

我只是想知道在绘图仪上绘制圆圈的最佳方法。

1 个答案:

答案 0 :(得分:0)

我能想到的简单方法是使用Math.sinMath.cos在设定的时间间隔内循环到360度(2 * PI),在当前值和前一个值之间画线。 / p>

查看http://en.wikipedia.org/wiki/Trigonometric_functions并查看右侧的图片。然后将其视为循环变量为thea

的循环

GL做你的作业。

编辑:以下是您应该真正关注的链接http://iopixels.com/cos-sin-explain