今天来写k阶科赫雪花的递归实现,(K值需要你手动输入)至于科赫雪花是什么请大家自行百度。
首先来思考这个程序怎么写,当 count = 0 时就应该是一个三角形,这三个点是你一开始就确定的,以后的改变都依据这三个点发展的。当不是0的时候就需要计算相对于这个三角形的9个点,分别是每条边上的两个点,和它对应的三角形第三个顶点。
首先在JFrame中添加一个panel,我们需要在这个panel上画图。
大家再来看这个图片,这张图介绍了通过两个点来计算其他三个点的过程。
现在开始在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递归实现科赫雪花-创新互联
分享URL:https://www.cdcxhl.com/article48/ddhsep.html
成都网站建设公司_创新互联,为您提供品牌网站制作、微信公众号、网站排名、网站设计、云服务器、定制开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联