20130706 谢尔宾斯基三角形
我自认为自己是一个编程新手。我是一个不怎么有耐心,自制力又有点差的人。平常做什么事,没有人督促的话很难坚持到底。也许是因为这个原因,在学习上有没有下什么苦功夫,靠一些小聪明,算是顺利的来到了大二。
这种情况有了改变,还是在这一学期,在听过一个交流会之后,迷茫的我突然找到了方向。知道了自己应该做什么,近期的目标就是想学到一些东西,不想再做一个编程上的无知者。
我不太喜欢定什么目标,我比较喜欢走一步看一步,因为我始终相信,计划赶不上变化,我相信,只要做好自己手头上的事情,有什么理由不成功呢?
所以从什么都不知道,到现在可以通过自己的努力做出一些简单的东西,我仍旧感到很有成就感。
以下是谢尔宾斯基三角形的代码:
package dyh20130706; import java.awt.Graphics; import javax.swing.JFrame; public class Triangle extends JFrame{ public static void main(String[] args) { //实例化一个 窗体的类 Triangle dmb=new Triangle(); //调用界面初始化方法 dmb.initGUI(); } //定义界面初始化的方法 public void initGUI(){ //定义窗体的属性 this.setTitle("递归画三角形"); this.setLocation(300,150); this.setSize(500, 500); this.setResizable(true); this.setDefaultCloseOperation(3); this.setVisible(true); //窗体可见之后,在窗体上添加画布对象 Graphics g=this.getGraphics(); triListener tl =new triListener(g); this.addMouseListener(tl); } }
以下是监听器的代码:
package dyh20130706; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class triListener implements MouseListener{ private Graphics g; public triListener(Graphics g){ this.g=g; } @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { double x1=200; double y1=100; double x2,y2,x3,y3; int a1,b1,a2,b2,a3,b3; x2=x1-150; y2=y1+150*Math.sqrt(3); x3=x1+150; y3=y1+150*Math.sqrt(3); a1=(int)x1; b1=(int)y1; a2=(int)x2; b2=(int)y2; a3=(int)x3; b3=(int)y3; g.drawLine(a1,b1,a2,b2); g.drawLine(a2,b2,a3,b3); g.drawLine(a1,b1,a3,b3); draw(a1,b1,a2,b2,a3,b3,6); } //定义一个画三角形的方法 public void draw(int X1,int Y1,int X2,int Y2,int X3,int Y3,int count){ int A1,B1,A2,B2,A3,B3; if(count>0){ count--; A1=(X1+X2)/2; B1=(Y1+Y2)/2; A2=(X2+X3)/2; B2=(Y2+Y3)/2; A3=(X1+X3)/2; B3=(Y1+Y3)/2; g.drawLine(A1, B1, A2, B2); g.drawLine(A2, B2, A3, B3); g.drawLine(A1, B1, A3, B3); this.draw(X1, Y1, A1, B1, A3, B3, count); //this.draw(X2, Y2, A1, B1, A2, B2, count); //this.draw(X3, Y3, A2, B2, A3, B3, count); } else{ return; } } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } }
相关推荐
谢尔宾斯基三角形,别的写的,和大家分享下哈!
L系统_重写系统_希尔伯特曲线_谢尔宾斯基三角形_科赫曲线_雪花曲线
代码是基于VS2015编写的,如果你的IDE高于此版本双击.sln文件...代码编译成功运行之后:先用鼠标在界面里面左键单击选择三个点作为三角形的顶点,然后双击界面即可迭代生成一次分形,再次双击即可迭代两次,以此类推
谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出。它是自相似集的例子。它的豪斯多夫维是log(3)/log(2) ≈ 1.585
绘制谢尔宾斯基三角形(1).py
主要介绍了python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形) ,需要的朋友可以参考下
分形图-谢尔宾斯基三角形-彩色
计算机图形学 WebGL 课程作业-扭曲的三角形,谢尔宾斯基三角形随机,递归,四面体,球面,俄罗斯方块+源代码+文档说明 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是...
我们没有使用经典的康托迭代算法,而是引入了一种细胞自动化方法来构建谢尔宾斯基三角形,它简单、直接、神奇。
谢尔宾斯基-p5js 递归绘制谢尔宾斯基三角形分形。 (一个 C++ 项目的 p5.js 重构)
谢尔宾斯基分形发生器
该站点使用 JQuery 滑块来获得所需的谢尔宾斯基三角形复杂度级别,从 1(只有一个等边三角形)到 9 级深。 然后递归函数绘制分形图案。 基本情况是单个等边三角形,函数调用自身在这些三角形内绘制更多三角形。 ...
绘制谢尔宾斯基三角形 import turtle # 绘制单个三角形 # [[x1,y1], [x2,y2], [x3,y3]] def draw_triangle(points, color, t): t.fillcolor(color) t.up() # 将画笔移动到第一个点 t.goto(points[0][0], points...
毕业设计MATLAB源码资料
如果采用具有 2^n^ 行的帕斯卡三角形并将偶数着色为白色,奇数为黑色,则结果是谢尔宾斯基三角形的近似值。 更准确地说,当 n 接近这个奇偶色 2^n^ 行帕斯卡三角形的无穷大时,极限是谢尔宾斯基三角形。 当然,这为...
混沌游戏: http : //en.wikipedia.org/wiki/Chaos_game
谢尔宾斯基像这样创建谢尔宾斯基三角形(▲)
opengl实现分形三角形,可以输入三角形的长度
基于简单的收缩/扩展规则,根据矩阵中给定的权重,它反过来协调屏幕上绘制的彩色点的随机生成过程,扩展了简单的谢尔宾斯基三角形生成算法,在结果中给出了新的公式。 这些是基于例如五边形或十六进制轮廓的分形。 ...
请检查右侧的示例标签(.mlx doc),以获取完整说明。 下载后,在 Matlab 控制台中键入“doc Sierpinski_triangle”或“help Sierpinski_triangle”以获得支持。 对于 2D 点输入,只需用零填充点 Z 坐标(参见...