簡體   English   中英

用繪圖儀畫一個圓

[英]Draw a circle using a plotter

我有一個名為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只是為要繪制的圓提供了一種顏色,可以隨意忽略它。

圓的draw方法的javadoc描述如下:

畫圓。 使用java.lang.Math類中的正弦和余弦函數來計算位於圓圓周上的有限點集,然后使用WinPlotter的drawTo方法繪制一系列小的連接直線段。 繪制足夠多的線段時(大約25個線段就足夠了),可以近似為一個光滑的圓。

如果您需要查看整個Circle javadoc,請在此處

這是WinPlotter javadoc用作參考。 我只對其他必須繪制的形狀使用過moveTo()drawTo()方法。

我只想知道在繪圖儀上畫圓的最佳方法。

我能想到的簡單方法是使用Math.sinMath.cos在設定的時間間隔內循環到360度Math.cos (2 * PI),在當前值和上一個值之間繪制線。

查看http://en.wikipedia.org/wiki/Trigonometric_functions並查看右側的圖片。 然后將其視為循環,循環變量為thea

GL關於您的作業。

編輯 :這里是您應該真正查看的鏈接http://iopixels.com/cos-sin-explain

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM