1

以下是计算机图形概念扫描线算法的代码,但另一个平面不是多边形,而是彩色我该如何解决?

import javax.swing.*;
import java.awt.*;

public class CG4 extends JFrame {
    int m1 = -1,m2 = 0,m3 = 2;
    int ymax=400,ymin=100;
    int ytemp=ymin+1;

    public void Call(){

        CG4 cg4 = new CG4();
        cg4.setTitle("ScanLine");
        cg4.setSize(1000,1200);
        cg4.setVisible(true);
        cg4.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    @Override
    public void paint(Graphics g){
        Calculate(g);
    }

    public void Calculate(Graphics g){

        g.drawLine(250,100,200,200);
        g.drawLine(200,200,200,300);
        g.drawLine(200,300,250,400);
        g.drawLine(250,400,300,300);
        g.drawLine(300,300,300,200);
        g.drawLine(300,200,250,100);


        while(ytemp<ymax){
            int x1,x2;

            x1=(ytemp-400)/m1;
            x2=(ytemp+600)/m3;
            g.setColor(Color.green);
            g.drawLine(x1+1, ytemp, x2-1, ytemp);
            ytemp++;

            try{
                Thread.sleep(10);
            }
            catch(InterruptedException ex){
                Thread.currentThread().interrupt();
            }
        }
    }
}

我期望彩色多边形而不是额外的平面。它正在着色,但呈三角形格式,我不希望这样,请任何人都可以帮助修复此代码。

我认为错误可能在while循环中。

4

0 回答 0