3D分形_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 3D分形

3D分形

 2015/4/19 18:26:49  Herman威锋  程序员俱乐部  我要评论(0)
  • 摘要:画正方体的3D分形privatevoidDigui(Pointp0,intwidth){Pointp1=newPoint();Pointp2=newPoint();Pointp3=newPoint();Pointp4=newPoint();Pointpa=newPoint();Pointpb=newPoint();Pointpc=newPoint();Pointpd=newPoint();for(inti=2;i>=0;i--){for(intj=2;j>=0;j--){for
  • 标签:
画正方体的3D分形
private void Digui(Point p0, int width) {
Point p1 = new Point();
Point p2 = new Point();
Point p3 = new Point();
Point p4 = new Point();
Point pa = new Point();
Point pb = new Point();
Point pc = new Point();
Point pd = new Point();
for (int i = 2; i >=0; i--) {
for (int j =2; j >= 0; j--) {
for (int k = 0; k < 3; k++) {
p1.x = (int) (p0.x + width / 3 * k + j
* ((width - width / 4) / 3 * 1.41 / 2));
p1.y = (int) (p0.y - j
* ((width - width / 4) / 3 * 1.41 / 2) + i * width
/ 3);
p2.x = (int) (p0.x + width / 3 * (k + 1) + j
* ((width - width / 4) / 3 * 1.41 / 2));
p2.y = p1.y;

p3.x = p2.x;
p3.y = p2.y + width / 3;

p4.x = p1.x;
p4.y = p3.y;

pa.x = (int) (p1.x + ((width - width / 4) / 3 * 1.41 / 2));
pa.y = (int) (p1.y - ((width - width / 4) / 3 * 1.41 / 2));

pb.x = pa.x + width / 3;
pb.y = pa.y;

pc.x = pb.x;
pc.y = pb.y + width / 3;

pd.x = pa.x;
pd.y = pc.y;

if (i != 1 && k != 1 || i != 0 && k != 1 && j != 1
|| j != 1 && k != 2 && i != 1 || k != 0 && i != 1
&& j != 1 || i != 2 && j != 1 && k != 1) {
int[] array1x = { p1.x, p2.x, p3.x, p4.x };
int[] array1y = { p1.y, p2.y, p3.y, p4.y };
gra.setColor(Color.GRAY);
gra.fillPolygon(array1x, array1y, 4);

int[] array2x = { pa.x, pb.x, p2.x, p1.x };
int[] array2y = { pa.y, pb.y, p2.y, p1.y };
gra.setColor(Color.darkGray);
gra.fillPolygon(array2x, array2y, 4);

int[] array3x = { p2.x, pb.x, pc.x, p3.x };
int[] array3y = { p2.y, pb.y, pc.y, p3.y };
gra.setColor(Color.BLACK);
gra.fillPolygon(array3x, array3y, 4);
if (width / 3 > 10) {
Digui(p1, width / 3);
}
}
}
}
}
}
  • class='magplus' title='点击查看原始大小图片' />
  • 大小: 19.6 KB
  • 查看图片附件
  • 相关文章
发表评论
用户名: 匿名