中点画圆算法java实现

只贴代码,以后有时间再完善。

/  *  *
 * 中点画圆算法(八分之一圆)的简单实现,从控制台输入两对坐标,applet程序实现描点画线。
 * @author LOOK
 *   /
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.util.Scanner;

public class MidPointCircle extends Applet {
int a;

public void init() {
setSize(300, 300);
Scanner sc = new Scanner(System.in);
System.out.println("请输入圆的半径");
a = sc.nextInt();
}

public void paint(Graphics g) {
g.setColor(Color.pink);
for (int i = 10; i <= 210; i += 10) {
g.drawLine(i, 10, i, 210);// 竖线
g.drawLine(10, i, 210, i);// 横线
}
g.setColor(Color.BLACK);
g.drawLine(10, 210, 220, 210);// x坐标
g.drawLine(10, 0, 10, 210);// y坐标
int r = a;
int x, y;
double d;
x = 0;
y = r;
d = 1.25 - r;
g.drawOval(x * 10 - 2 + 10, 210 - y * 10 - 2, 4, 4);// 描点
while (x <= y) {
if (d < 0) {
d += 2 * x + 3;
} else {
d += 2 * (x - y) + 5;
y--;
}
x++;
g.drawOval(x * 10 - 2 + 10, 210 - y * 10 - 2, 4, 4);// 描点
}
}
}

转载于:https://www.cnblogs.com/LOOKAUST/p/5861056.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值