用java打印分形_Java分形
分型技术可以模拟过程构造一些复杂的图形。分形技术利用整体与局部的无限自相似性,通过改变少量的参数,递归调用某一过程,到达构造非规则图形的目的。
1.Sierpinski构造三角形
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;
public class Sierpinski extends JFrame{
public static final int WINDOW_SIZE=512;
public static final int THERSHOLD=8;
public static int p1_x,p1_y,p2_x,p2_y,p3_x,p3_y;
public Sierpinski()
{
super("Sierpinski");
setSize(WINDOW_SIZE,WINDOW_SIZE);
p1_x=(int)getSize().getWidth()/2;
p1_y=40;
p2_x=20;
p2_y=(int)getSize().getHeight()-20;
p3_x=(int)getSize().getWidth()-20;
p3_y=(int)getSize().getHeight()-20;
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public Point getMiddle(Point p1,Point p2)
{
return new Point((int)(p1.getX()+p2.getX())/2,(int)(p1.getY()+p2.getY())/2);
}
public void paint(Graphics g)
{
super.paint(g);
sierpinski_draw(new Point(p1_x,p1_y),new Point(p2_x,p2_y),new Point(p3_x,p3_y));
}
public void sierpinski_draw(Point p1 , Point p2 , Point p3)
{
if(p1.distance(p2)
return;
Graphics g=getGraphics();
g.drawLine((int)p1.x,(int)p1.y,(int)p2.x,(int)p2.y);
g.drawLine((int)p2.x,(int)p2.y,(int)p3.x,(int)p3.y);
g.drawLine((int)p1.x,(int)p1.y,(int)p3.x,(int)p3.y);
Point m12=getMiddle(p1,p2);
Point m23=getMiddle(p2,p3);
Point m13=getMiddle(p1,p3);
sierpinski_draw(p1,m12,m13);
sierpinski_draw(p2,m23,m12);
sierpinski_draw(p3,m13,m23);
}
public static void main(String[] str)
{
new Sierpinski();
}
} ·
用java打印分形_Java分形相关推荐
- java打印格式_Java 打印格式
Java格式 - Java 打印格式 不同的格式字符可以格式化不同数据类型的值.例如,"s"用于将值格式化为字符串. Java 打印格式化类型可以将数据类型格式化为四种类型:一般格 ...
- java画雪花_java分形绘制科赫雪花曲线(科赫曲线)代码分享
首先我们举个例子: 我们可以看到西兰花一小簇是整个花簇的一个分支,而在不同尺度下它们具有自相似的外形.换句话说,较小的分支通过放大适当的比例后可以得到一个与整体几乎完全一致的花簇.因此我们可以说西兰花 ...
- java图形源代码_Java分形几何图形源代码实例JAVA源码下载
分形几何实例,鉴于JAVA代码编写而成,仅供学习者参照,你能够继续完善功能. Java分形几何图形源代码实例 (1 folders, 2 files, 1.38 KB, 61.78 KB in tot ...
- java打印数组_Java中打印数组内容的方式有哪些?
下面是几种常见的打印方式. 方法一:使用循环打印. public class Demo { public static void main(String[] args) { String[] info ...
- java 打印命令_Java 普通命令行程序main关掉 DEBUG 打印
最近在写一个简单的java命令行程序,执行代码时,代码窗口出现了烦人的debug日志. 分析了一下,出现这种问题的原因是因为,maven项目的依赖包中传递依赖了一些日志框架,导致会出现日志内容的打印. ...
- java打印等腰三角形_Java 后台开发面试题分享三
重载(Overload)和重写(Override)的区别.重载的方法能否根据返回类型进行区分? 重载:同一个类,同一个方法名,不同的参数列表(参数的个数,类型和顺序不同):构造器可以重载:方法的重载与 ...
- java打印正三角形_java实现打印正三角的方法
本文实例为大家分享了java实现打印正三角的具体代码,供大家参考,具体内容如下 代码: package BasicType; /** * 封装一个可以根据用户传入值来打印正三角的方法 * @autho ...
- java打印设置_java如何设置系统默认打印机
4.完整代码 import javax.print.*; import javax.print.attribute.*; import java.io.*; public class Printing ...
- java打印图片_java如何调用本地打印机进行图片打印
展开全部 用java实现本地e69da5e887aa3231313335323631343130323136353331333337396235打印:java.awt中提供了一些打印的API,要实现打 ...
最新文章
- Mybatis分页插件 - 示例
- poj 3468 线段树
- python生成多级文件夹_Python zipfile压缩文件和文件夹(支持多级目录)
- 不知道Gartner是干啥的?看看这里就知道了!
- x86分页机制——《x86汇编语言:从实模式到保护模式》读书笔记42
- 微信公众帐号开发教程第17篇-应用实例之智能翻译
- 【BZOJ2730】【codevs1996】矿场建设,点双联通分量
- Ghost 备份、还原使用图解,带下载
- RedHat7安装yum并下载gcc
- C4D快速入门教程——XPresso基本使用
- python小欢喜(八)俄罗斯方块 (3) 组合对象的旋转
- [11g](ALTER SYSTEM SUSPEND)Suspending and Resuming a Database
- html简单导航页单页源码
- 迅雷边下边看实现过程分析
- Java 日志框架简介
- python re.split 空格_str.split和re.split中空格的区别
- java web 润乾报表教程_润乾报表 dashboard 分析
- 推荐:常用的代码编辑器!
- 工作笔记:Android高德定位使用说明
- 神经元轴突发育的探索简史