当前位置:网站首页>AutoJs学习-实现科赫雪花
AutoJs学习-实现科赫雪花
2022-08-02 09:02:00 【芝麻粒儿】
关于作者
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单。

本文约2.5千字,新手阅读需要7分钟,复习需要2分钟 【收藏随时查阅不再迷路】
实践过程
"ui";
ui.layout(
<vertical>
<canvas id="board" layout_weight="1"/>
</vertical>
);
//尺寸
const size = 256;
var i = 0
var o = [0, 0, 0]
var paint = new Paint();
ui.board.on("draw", function(canvas) {
//绘制背景色
//canvas.drawColor(colors.BLACK);
//绘制分数
paint.setColor(colors.BLACK);
paint.setTextSize(50);
//canvas.drawText(degree.x);
//toast(JSON.stringify(degree,null,4))
paint.setStrokeWidth(5);
var offset = {
x: 0,
y: 0
};
//偏移坐标
canvas.translate(offset.x, offset.y);
//绘制围墙
//toast(JSON.stringify(cube.p1,null,4))
paint.setColor(colors.RED);
paint.setStrokeWidth(1)
i+=0.1
n=(Math.sin(i)/2+0.5)*6
koch(canvas, paint,1000, 50, 1000, 2000, n);
});
function zero(num){
if(num<0){
return -1}else{
return 1}
}
//连线
function line(canvas, paint, x1, y1,x2,y2) {
canvas.drawLine(x1, y1, x2, y2, paint);
}
//三轴矩阵旋转
function koch(canvas, paint,x0, y0, x1, y1, k)
{
var x2, y2, x3, y3, x4, y4;
x2 = 2.0/3 * x0 + 1.0/3 * x1; /*由上面的运算可以得到其余三点 坐标的计算式*/
y2 = 2.0/3 * y0 + 1.0/3 * y1;
x3 = 1.0/3 * x0 + 2.0/3 * x1;
y3 = 1.0/3 * y0 + 2.0/3 * y1;
x4 = 1.0/2 * (x0 + x1) - Math.sqrt(3.0)/6 * (y1 - y0);
y4 = 1.0/2 * (y0 + y1) + Math.sqrt(3.0)/6 * (x1 - x0);
if( k > 1) /*如果迭代次数大于1,就继续迭代下去,即执行以下程序*/
{
koch(canvas, paint,x0, y0, x2, y2, k - 1); /*对以(x0, y0)和(x2, y2)为端点的线段作为 初始线段进行迭代运算,以下类同*/
koch(canvas, paint,x2, y2, x4, y4, k - 1);
koch(canvas, paint,x4, y4, x3, y3, k - 1);
koch(canvas, paint,x3, y3, x1, y1, k - 1);
} else {
/*如果迭代次数等于1,停止迭代,画出迭代生成的图形*/
line(canvas, paint,x0, y0, x2, y2); /*用直线联结两点(x0, y0)和(x2, y2)*/
line(canvas, paint,x2, y2, x4, y4); /*用直线联结两点(x2, y2)和(x4, y4)*/
line(canvas, paint,x4, y4, x3, y3); /*用直线联结两点(x4, y4)和(x3, y3)*/
line(canvas, paint,x3, y3, x1, y1); /*用直线联结两点(x3, y3)和(x1, y1)*/
}
}
其他
作者:小空和小芝中的小空
转载说明-务必注明来源:https://zhima.blog.csdn.net/
这位道友请留步️,我观你气度不凡,谈吐间隐隐有王者霸气,日后定有一番大作为!!!旁边有点赞收藏今日传你,点了吧,未来你成功️,我分文不取,若不成功️,也好回来找我。
温馨提示:点击下方卡片获取更多意想不到的资源。
边栏推荐
- houdini 求出曲线的法向 切线以及副法线
- Redis数据结构
- redis-desktop-manager下载安装
- Golang ORM框架 — GORM
- JSP中page指令的import命令具有什么功能呢?
- (Note) AXIS ACASIS DT-3608 Dual-bay Hard Disk Array Box RAID Setting
- Bigder:41/100生产bug有哪些分类
- Spend 2 hours a day to make up for Tencent T8, play 688 pages of SSM framework and Redis, and successfully land on Meituan
- Mysql Mac版下载安装教程
- Jenkins--基础--6.3--Pipeline--语法--脚本式
猜你喜欢
随机推荐
HCIP笔记十六天
不用Swagger,那我用啥?
tf.where使用
向量组的线性相关性
线程池的使用及ThreadPoolExecutor源码分析
动态规划每日一练(2)
裁员趋势下的大厂面试:“字节跳动”
力扣:第 304 场周赛
Docker内MySQL主从复制学习,以及遇到的一些问题
查看变量的数据格式
(Note) AXIS ACASIS DT-3608 Dual-bay Hard Disk Array Box RAID Setting
利用minlm比较句子之间的相似度
【Redis】Jedis
了解下C# 不安全代码
Qt读取文件中内容(通过判断GBK UTF-8格式进行读取显示)
Bigder:41/100生产bug有哪些分类
LeetCode_2357_使数组种所有元素都等于零
Analysis of software testing technology How far is Turing test from us
redis-desktop-manager下载安装
The god-level Alibaba "high concurrency" tutorial "basic + actual combat + source code + interview + architecture"









