@LazariusPaskalius

При рисовании графика стирается его половина,как это можно исправить?

создаю график прямой леймниската в java, она должна выглядеть так:r7WIW.png При рисовании рисуется весь график, но потом пропадает правая его часть, как это можно исправить?
import java.awt.*;

class FillPolygonCanvas extends Canvas{
    public int x0 = 200;
    public int y0 = 200;
    public int a = 100;
    public double y;
    public double x;
    public double r;
    public double fi=-(Math.PI/4);
    public void paint(Graphics g){
       Polygon poly = new Polygon();
       Polygon poly1 = new Polygon();
        while (fi<=Math.PI/4){
            r=a*Math.sqrt(2*Math.cos(2*fi));
            x=r*Math.cos(fi);
            y=r*Math.sin(fi);
            if(fi==-Math.PI/4){
                poly1.addPoint(x0,y0);
            }else{
                poly1.addPoint(x0+(int)x,y0-(int)y);
            }
            fi=fi+0.0001;
            g.drawPolygon(poly1);
        }


        fi=3*Math.PI/4+0.0001;
       while (fi<=5*Math.PI/(4-0.0001)){   //left
           r=a*Math.sqrt(2*Math.cos(2*fi));
           x=r*Math.cos(fi);
           y=r*Math.sin(fi);
           if(fi==3*Math.PI/4+0.0001){
               poly.addPoint(x0,y0);
           }else{
               poly.addPoint(x0+(int)x,y0-(int)y);
           }
           fi=fi+0.0001;

       }
        g.drawPolygon(poly);



    }
}
class MyFrame extends Frame{
    public MyFrame(){
        super("Graphics");
//        setLayout(new GridLayout(3,3));
        add(new FillPolygonCanvas());
        setSize(500,300);
        setVisible(true);

    }

}
public class Main{
    public static void main(String[] args) {
        Frame f = new MyFrame();
    }
}
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
@gansm
fi в paint перенеси - перетирает
public void paint(Graphics g){
       Polygon poly = new Polygon();
       Polygon poly1 = new Polygon();
       double fi=-(Math.PI/4);
....
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
29 нояб. 2024, в 07:44
20000 руб./за проект
29 нояб. 2024, в 04:45
5000 руб./за проект
29 нояб. 2024, в 04:42
5000 руб./за проект