[英]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.sin
和Math.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.