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