大家好,欢迎来到IT知识分享网。
门格海绵的结构简单来说就是从一个正方体开始;再把正方体的每一个面分成9个正方形,这时就形成了由27个小正方体组成的一个大正方体;然后再把每一面的中间的正方体和最中心的正方体去掉,最终留下20个正方体。最后,把每一个留下的小正方体都重复前面的步骤。把以上的步骤重复无穷多次以后,得到的图形就是门格海绵。演变过程如下所示:
在实际代码编程时的思路是将一个门格海绵分为上中下三层,如图:
如图,将立方体7个顶点依次用p1,p2,p3,p4,p5,p6,p7表示;dx,dy是透视偏移量,立方体的边长设为d。
基础值设置好后,就可以开始画第一个立方体。绘制思路:通过设置一个立方体顶点的坐标来确定需要的其他六个顶点的坐标,然后画出一个立方体,再将该立方体分为20个小立方体,每个小立方体同样是通过顶点坐标的信息,递归调用画图方法绘制出来的。
第一步,先画出一个立方体的线框,给三个面填充颜色。
常规操作,显示一个界面,添加按钮;
package menggehaimian; import java.awt.FlowLayout; import java.awt.Graphics; import javax.swing.JButton; import javax.swing.JFrame; public class menggehaimian1 extends JFrame { public void initUI(){ this.setSize(500,600); this.setTitle("经典分形"); this.setDefaultCloseOperation(3); FlowLayout fl = new FlowLayout(); this.setLayout(fl); //加上按钮 JButton buDraw = new JButton("添加图片"); this.add(buDraw); //加监听器 this.setVisible(true); //获取画布,一定在界面可见之后 Graphics g = this.getGraphics(); Draw
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/148491.html