Java Chaos Game 噪声游戏两则

本文介绍了如何使用Java编程模拟Chaos Game来生成Sierpinski三角形和Barnsleyfern分形图案。通过简单的规则和随机数,展示了从简单到复杂的迭代过程。文章提供了模拟程序和模拟结果,并分享了在实现过程中遇到的坐标系统转换问题及其解决方案。
摘要由CSDN通过智能技术生成

Java Chaos Game噪声游戏两则

[简介]

最近一直在读《深奥的简洁》,里面有一章介绍了几种使用噪声产生分形图的方法,感觉很有意思,于是尝试使用计算机模拟了一下,效果还不错(噪声法比传统迭代法在编程上好实现一些,后来发现这类算法还不少,搜索chaos game可以找到更多)。

本篇程序源文件及其依赖jar包已经打包,可以到这里GitHub下载。



[Sierpinski三角形的噪声产生法]


在这些噪声游戏中,Sierpinski(谢尔宾斯基)三角形的生成规则可谓是最简单的:

1.在平面上选取三个点,标记为1、2、3,作为大三角形的顶点。

2.选择其中一点,作为“当前点”(比如选择1号)。

3.产生1~3的随机数,在该数表达的顶点与“当前点”的中点绘制一个新点,并将新点作为“当前点”。

4.重复步骤3,即可逼近图案。

*.注意 随机数最好不要使用以时间作为种子的产生方式。



[模拟程序]

package com.geiv.chaos;

import java.awt.event.KeyEvent;

import com.thrblock.util.RandomSet;

import geivcore.DefaultFactor;
import geivcore.KeyFactor;
import geivcore.KeyListener;
import geivcore.R;
import geivcore.UESI;
import geivcore.enginedata.obj.Obj;

public class Sierpinski extends DefaultFactor implements KeyLi
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值