网站建设资讯

NEWS

网站建设资讯

java递归实现科赫雪花-创新互联

今天来写k阶科赫雪花的递归实现,(K值需要你手动输入)至于科赫雪花是什么请大家自行百度。

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的容城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

首先来思考这个程序怎么写,当 count = 0 时就应该是一个三角形,这三个点是你一开始就确定的,以后的改变都依据这三个点发展的。当不是0的时候就需要计算相对于这个三角形的9个点,分别是每条边上的两个点,和它对应的三角形第三个顶点。

首先在JFrame中添加一个panel,我们需要在这个panel上画图。

大家再来看这个图片,这张图介绍了通过两个点来计算其他三个点的过程。

java递归实现科赫雪花

现在开始在panel中画图:

static class showpanel extends JPanel{ 
    int number = 0; 
    public void setNumber(int number) { 
      this.number = number; 
      repaint(); 
    } 
    public void paintComponent(Graphics g) { 
      super.paintComponent(g);//画一个简单的panel 
       
      int side =(int)(Math.min((int)getWidth(),(int)getHeight())*0.8); 
      int high =(int)(side*Math.cos(Math.toRadians(30))); 
       
       Point p1 = new Point(getWidth() / 2, 10); 
       Point p2 = new Point(getWidth() / 2 - side / 2, 10 + high); 
       Point p3 = new Point(getWidth() / 2 + side / 2, 10 + high); 
        
       playKochSnowFlake(g, number, p1, p2); 
       playKochSnowFlake(g, number, p2, p3); 
       playKochSnowFlake(g, number, p3, p1); 
       
    } 


网页名称:java递归实现科赫雪花-创新互联
文章分享:http://cdweb.net/article/ddhsep.html