填充三角形而不填充多边形



所以我写了一个程序来编译,但它不能做我想做的事情。它应该在不使用填充多边形的情况下填充三角形。我试图将代码限制在循环中。

重点是使三条线越来越小,以填充三角形的每一部分。解决这个问题的方法是,我认为应该找出循环应该停止的地方。我猜了一下三角形(140)的一半高。

import javax.swing.*;
import java.awt.*;
public class Tri extends JApplet
  {
      int x1=0;
      int y1 = 140;
      int x2 = 120;
      int y2 = 140;
      int x3 = 60;
      int y3;

               public void paint (Graphics page)
               {
                  for (y3= 0; y3<=70; y3++)   
                  {
                  page.drawLine (x1, y1, x2, y2); 
                  page.drawLine (x2, y2, x3, y3);
                  page.drawLine (x3, y3, x1, y1); 

                  y1++;
                  x2--;
                  y2--;
                  x1++;
                  }

               }
   }

更改循环逻辑,尝试以下代码

int x1=0;
  int y1 = 140;
  int x2 = 120;
  int y2 = 140;
  int x3 = 60;
  int y3=0;

           public void paint (Graphics page)
           {
              page.drawLine (x1, y1, x2, y2); 
              page.drawLine (x2, y2, x3, y3);
              page.drawLine (x3, y3, x1, y1); 
              for (x1= 0; x1<=120; x1++)     
           {
              page.drawLine (x3, y3, x1, y1);

           }   }

保持两条线不变,并通过改变其坐标来改变另一条线的位置

有关paint()和paint的信息,请访问链接

paint()和重新绘制()`

最新更新