如何用布尔数组记录生成一个圆?例如bool circle3【】={0,1,0,
1,1,1,
0,1,0};
ps:设为一个黑白图像,1代表黑色,0代表白色,数组格式为3*3,4*4,等;不求完全匹配,大概就行,谢谢~
1,1,1,
0,1,0};
ps:设为一个黑白图像,1代表黑色,0代表白色,数组格式为3*3,4*4,等;不求完全匹配,大概就行,谢谢~
解决方案 »
- 如何替换掉JAR包里面的某个类??
- 请教java程序的调试技巧
- static 方法和普通的方法有什么优点缺点呢?
- 中间件的问题,欢迎讨论!!!
- Java的类库应当怎么样去使用(谢谢)
- 运行竟然只有窗口 没看到图形
- 关于运行JAR文件出现乱码的问题
- 大家都说要操作EXCEL到http://jakarta.apache.org/builds/jakarta-poi/这里找,可是到这里来down什么啊?全部的目录下的文件么??我是新
- 请问:如何在java中的jtree控件中使用checkbox
- 哪里有java的类库下载?sun里有吗?
- 最近在做图书管理系统,怎么实现借书还书的功能?
- JTable中的setValueAt不能被调用
2.从圆心开始,沿上下左右方向,根据x坐标和圆的公式,计算出圆上的点的坐标。将坐标上对应的数组元素标记为0.
再知道x,或y就可以计算出y或x
int circle[][] = circle(50,30);
for (int l = 0; l < 50; l++){
for (int c = 0; c < 50; c++){
System.out.print(circle[l][c]);
}
System.out.print("\n");
}
}
public static int[][] circle(int dim,int coe){
int circle[][] = new int [dim][dim];
for (int l = 0; l < dim; l++){
for (int c = 0; c < dim; c++){
if ((Math.pow((c+1)-(dim+1)/2, 2)+Math.pow((l+1)-(dim+1)/2,2)>Math.pow((dim-1)/2,2)-coe )&&
(Math.pow((c+1)-(dim+1)/2, 2)+Math.pow((l+1)-(dim+1)/2,2)<Math.pow((dim-1)/2,2)+coe )){
circle[l][c] = 1;
}
else
circle[l][c] = 0;
}
}
return circle;
}
瞎写了一个
第一个参数是数组的维数,第二个是个系数,越大,圆周越厚
我拿30以上作为维数试试还可以,可能较小时不太准确