⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mid.java

📁 计算机图形学中的直线扫描和圆的扫描(可能斜率考虑不太全面)
💻 JAVA
字号:
import java.awt.*;
import java.applet.Applet;
public class mid extends Applet {
int x0,x1,y0,y1;String color;
public void init(){
x0=Integer.parseInt(getParameter("x0"));
y0=Integer.parseInt(getParameter("y0"));
x1=Integer.parseInt(getParameter("x1"));
y1=Integer.parseInt(getParameter("y1"));
}
 public void paint(Graphics g)
      {int i,x,y,n,d;
        int dx=x1-x0;
        int  dy=y1-y0;
int m=dy/dx;
if(m>0)           /////////////////////
n=(int)(m+0.5);
else
n=(int)(m-0.5);
        d=(2*n+1)*dx-2*dy;         //初始化d值
 int incrE=2*n*dx-2*dy;            //di>0,取中点以下的整数点
int incrNE=2*(1+n)*dx-2*dy;   //di<0,取中点以上的整数点
if(x1>x0)            //当终点横坐标大于起点横坐标,以保证从左向右取点
        {
          x=x0;          //画线从横坐标小的点出发
          i=x1;         //到横坐标大的点结束
          y=y0;
        }
       else 
         {
         x=x1;
            i=x0;
        y=y1; 
         }
g.setColor(Color.red);     //设置画笔颜色
g.drawString(".",x,y);       //画出起点
while(x<i)
{
if(d>0)
   {
d+=incrE;
y+=n;
x++;}
else {
d+=incrNE;
y+=n+1;
x++;}
g.drawString(".",x,y);
}
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -