C语言 随机分形,随机方块生成的分形图案
JavaScript
语言:
JaveScriptBabelCoffeeScript
确定
//PARAMETERS
//You can try messing with these but take care when increasing LEVELS and CHILDREN values ; a too big amount of generated elements will result in some serious slowdown and can eventually mess with the CSS transitions' display.
var LEVELS = 6;
var CHILDREN = 3;
var SHRINK_FACTOR = 1.7;
//RECURSIVELY GENERATE NESTED DIVS
function appendFractals(elem) {
if (typeof elem.fractal_level == "undefined") {
elem.fractal_level = LEVELS;
} else {
if (elem.fractal_level <= 0) {
return false;
}
}
elem.fractal_level--;
var e_W = elem.offsetWidth;
var e_H = elem.offsetHeight;
var children = 0;
while (children < CHILDREN) {
var ch = document.createElement('div');
ch.style.width = (e_W / SHRINK_FACTOR) + "px";
ch.style.height = (e_H / SHRINK_FACTOR) + "px";
ch.style.marginLeft = "-" + ((e_W / SHRINK_FACTOR) / 2) + "px";
ch.style.marginTop = "-" + ((e_H / SHRINK_FACTOR) / 2) + "px";
if (Math.random() >= 0.5) {
if (Math.random() >= 0.5) {
var chL = 0;
} else {
var chL = e_W;
}
var chT = Math.round(Math.random() * e_H);
} else {
if (Math.random() >= 0.5) {
var chT = 0;
} else {
var chT = e_H;
}
var chL = Math.round(Math.random() * e_W);
}
ch.style.left = (e_W / 2) + "px";
ch.style.top = (e_H / 2) + "px";
ch.InitialLeft = (e_W / 2) + "px";
ch.InitialTop = (e_H / 2) + "px";
ch.FractalLeft = chL + "px";
ch.FractalTop = chT + "px";
elem.appendChild(ch);
ch.fractal_level = elem.fractal_level;
appendFractals(ch);
children++;
}
setTimeout(function() {
moveFractals(document.getElementById('main'))
}, 1);
}
//UNFOLD
function moveFractals(elem) {
var all_F = elem.getElementsByTagName('div');
for (var i = 0; i < all_F.length; i++) {
all_F[i].style.top = all_F[i].FractalTop;
all_F[i].style.left = all_F[i].FractalLeft;
}
}
//RE-FOLD
function revertFractals(elem) {
var all_F = elem.getElementsByTagName('div');
for (var i = 0; i < all_F.length; i++) {
all_F[i].style.top = all_F[i].InitialTop;
all_F[i].style.left = all_F[i].InitialLeft;
}
}
function Fractals(elem) {
if (typeof elem.fractal_level != "undefined") {
revertFractals(elem);
var delay = 500;
} else {
var delay = 0;
}
setTimeout(function() {
elem.fractal_level = LEVELS;
elem.innerHTML = "";
appendFractals(elem);
}, delay);
}
document.onLoad = setTimeout(function() {
Fractals(document.getElementById('main'))
}, 500);
C语言 随机分形,随机方块生成的分形图案相关推荐
- 论文浅尝 | 利用多语言 wordnet 上随机游走实现双语 embeddings
论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识图谱问答. 来源:Knowledge Based System 链接:https://www.sciencedirect.com/science/a ...
- 自回避随机行走问题 c语言,醉汉随机行走/随机漫步问题(Random Walk Randomized Algorithm Python)...
世界上有些问题看似是随机的(stochastic),没有规律可循,但很可能是人类还未发现和掌握这类事件的规律,所以说它们是随机发生的. 随机漫步(Random Walk)是一种解决随机问题的方法,它 ...
- 随机森林回归预测r语言_使用随机森林(R语言)做回归
引言 随机森林( random forest) 是一种基于分类树( classification tree) 的算法,它可以用于分类和回归,本文在这里以广西地区1990-2014共25年的GDP数据作 ...
- c语言作业小学生测试题,C语言实现小学生随机出题测试计分
C语言实现小学生随机出题测试计分 发布时间:2020-10-12 02:13:39 来源:脚本之家 阅读:103 作者:iCodeBugs 本文实例为大家分享了C语言实现随机出题测试计分的具体代码,供 ...
- C语言文件的随机读写
C语言文件的随机读写 文件顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...
- 定义一个方法,使用随机的字母+数字生成一个6位数的密码
@Testpublic void test10() {//调用PassWord方法打印输出System.out.println(PassWord());}//定义一个方法,使用随机的字母+数字生成一个 ...
- C语言的文件随机访问fseek()和ftell()函数
C语言的文件随机访问fseek()和ftell()函数 我们要讨论3个问题:fseek()和ftell()函数的工作原理.如何使用二进制流.如何让程序可移植. fseek()与ftell()的工作原理 ...
- 分形在山地生成中的应用[1]---中点位移法
分形在山地生成中的应用[1]---中点位移法 EmilMatthew (EmilMatthew@126.com) 06/07/18 [ 类别 ]算法实现 ...
- 如何理解“伪随机”以及“随机种子”
"真随机"与"伪随机" 真随机:就是我们传统意义上理解的"随机",随机事件如今天是否下雨,抛硬币的正反面,家门口的十字路口今天发生车祸等等. ...
- 随机森林随机回归预测_使用随机森林预测幸福
随机森林随机回归预测 Why do we try to predict happiness? Being able to predict happiness means that we are abl ...
最新文章
- C++ Primer 5th笔记(chap 19 特殊工具与技术)typeid运算符
- 六十六,完成SpringBoot项目中的员工增删查改功能
- 看完这一系列,彻底搞懂 Gradle
- libvirt命令行文档
- linux存储格式化和挂载
- 【编程珠玑】第四章 编写正确的程序
- linux发布微软消息队列,消息队列RabbitMQ入门与5种模式详解
- VMware下Hadoop 2.4.1完全分布式集群平台安装与设置
- Java 读取PDF中的表格
- 模拟电子技术基础-什么是放大?
- idr寄存器、_STM32 GPIO寄存器 IDR ODR BSRR BRR
- 初学者好 |如何从头开始创建一个图像识别的AI应用[ctrl:c+v,你就完成了]
- android 7zip,7zip手机版
- 波动方程,达朗贝尔解和亥姆霍兹方程
- Windows11图片密码的设置方法(用喜欢的图片作为开机密码)
- 数字音乐赛道拐点下,讯飞音乐的AI突围法
- alter table add constraint 用法
- 如何用程序员的方式,营造七夕氛围感?
- 拜托,面试请不要再问我 Spring Cloud Alibaba 底层原理
- 由百度基础面面试想到的和总结的