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

📄 elipse.java

📁 该程序是用JAVA来实现图形学中的中点算法来画直线
💻 JAVA
字号:
import java.applet.Applet;
import java.util.Scanner;
import java.awt.Color;
import java.awt.Graphics;
public class elipse extends Applet {
	/**
	 * a and b is the length of the elipse's shaft
	 */
	private int a,b;
 public void init(){
	 Scanner scanner = new Scanner(System.in);
	 System.out.println("please input a and b :");
	 a = scanner.nextInt();
	 b= scanner.nextInt();
 }
 public void paint(Graphics g){
	 int x,y,d,xP,yP,squarea,squareb;
	 squarea = a*a;
	 squareb = b*b;
     xP = (int)(0.5+(float)squarea/Math.sqrt((float)(squarea+squareb)));
     yP = (int)(0.5+(float)squareb/Math.sqrt((float)(squarea+squareb)));
     x = 0;
     y = b;
     d = 4*(squareb-squarea*b)+squarea;
 	 {g.drawString("。", x, y);
 	  g.drawString("。", -x, y);
 	  g.drawString("。", -x, -y);
 	  g.drawString("。", x, -y);
 	 }
 while (x <=xP){
	 if(d <= 0)
		 d = d+4*squareb*(2*x+3);
	 else{
		 d = d+4*squareb*(2*x+3)-8*squarea*(y-1);
		 y--;
	 }
	 x++;
 	 {g.drawString("。", x, y);
	  g.drawString("。", -x, y);
	  g.drawString("。", -x, -y);
	  g.drawString("。", x, -y);
	 }
 	 x = a;
 	 y = 0;
     d = 4*(squarea-squareb*a)+squareb;
 	 {g.drawString("。", x, y);
	  g.drawString("。", -x, y);
	  g.drawString("。", -x, -y);
	  g.drawString("。", x, -y);
	 }
 	 while (y <=yP){
 		 if(d <= 0)
 			 d = d+4*squarea*(2*y+3);
 		 else{
 			 d = d+4*squarea*(2*y+3)-8*squareb*(x-1);
 			 x--;
 		 }
 		 y++;
 	 	 {g.drawString("。", x, y);
 		  g.drawString("。", -x, y);
 		  g.drawString("。", -x, -y);
 		  g.drawString("。", x, -y);
 		 } 
     
 }
 }
 }
}

⌨️ 快捷键说明

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