谢宾斯基三角形

本次任务主要是谢宾斯基三角形。
如下图:

 这里设置了一个变量t,t取5,用来规定递归多少次。
 其次,设置了三个坐标:ax,ay,bx,by,cx,cy,分别表示三角形的三个顶点。然后,我就可以开始画线了。用gr.drawLine()这个方法,画出三角形的三条边即可。接着,要计算出这个三角形三条边的中点,计算出来后,再以这三个中点为顶点,再画一个三角形。然后,我就可以开始递归了。
 至于具体应该怎么递归,我这里画了一个示意图:

 现在我就得到了四个三角形,中间三角形里不可以画东西,在最上面那个三角形里,取那三条边的中点,然后画三角形,剩下两个三角形同理,当然这一步骤靠递归来完成。然后就可以用if(e.getClickCount()==1)这个来实现点一下就画出来这个图形的操作了。这里实际参数的数据可以自己取实际数字,取实际数字时注意一下取某个数字时三角形画出来后,呈现出来的将是一种什么样子。
 当然这里也要在写的方法的括号里加MouseEvent e,否则就会报错!Graphics gr当然也是要加的!


 代码实现如下:

注意这里代码是两张截图!下面那个if是在mouseClicked(MouseEvent e)这个方法里的!

posted @ 2020-12-22 21:45  EvanTheBoy  阅读(510)  评论(0)    收藏  举报