当前位置:网站首页>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/
这位道友请留步️,我观你气度不凡,谈吐间隐隐有王者霸气,日后定有一番大作为!!!旁边有点赞收藏今日传你,点了吧,未来你成功️,我分文不取,若不成功️,也好回来找我。
温馨提示:点击下方卡片获取更多意想不到的资源。
边栏推荐
- Fiddler(七) - Composer(组合器)克隆或者修改请求
- 在 QT Creator 上配置 opencv 环境的一些认识和注意点
- 【论文阅读】Distilling the Knowledge in a Neural Network
- UVM信息服务机制
- Tencent T8 architect, teach you to learn small and medium R&D team architecture practice PDF, senior architect shortcut
- Golang ORM框架 — GORM
- [Must read] Mylander valuation analysis, electrical stimulation products for pelvic and postpartum rehabilitation
- 大厂外包,值得拥有吗?
- OneNote Tutorial, How to Create More Spaces in OneNote?
- 主流监控系统工具选型及落地场景参考
猜你喜欢
随机推荐
PyCharm usage tutorial (detailed version - graphic and text combination)
普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾
测试时大量TIME_WAIT
XML简介
谈谈对Volatile的理解
leetcode:81. 搜索旋转排序数组 II
cococreator 动态设置精灵
MySQL读写分离与主从延迟
Spend 2 hours a day to make up for Tencent T8, play 688 pages of SSM framework and Redis, and successfully land on Meituan
pnpm:简介
Hikari连接池源码解读
C语言基础_结构体
USACO美国信息学奥赛竞赛12月份开赛,中国学生备赛指南
The packet capture tool Charles modifies the Response step
四字节的float比八字结的long范围大???
深度学习汇报(4)
JSP中page指令的import命令具有什么功能呢?
PyCharm使用教程(详细版 - 图文结合)
day_05_pickel 和 json
RetinaFace: Single-stage Dense Face Localisation in the Wild