递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库

[着色.源码]方形噪声与散列(哈希)

查看数: 2445 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-12-23 15:25

正文摘要:

本帖最后由 hcwanz 于 2023-12-23 15:39 编辑 本篇源码用于我之前的像素画板,详情见: 像素画板模块 - 火山平台俱乐部 - 火山软件开发平台 - Powered by Discuz! (voldp.com) 前文讲了噪声算法模拟自然随机的特 ...

回复

老道 发表于 2023-12-24 10:57:14
咋没人赞!这么无私的奉献
hcwanz 发表于 2023-12-23 16:08:05
#版 450
同 粗二 外屏幕;
同 粗二 外鼠位;
同 逻二 外鼠按;
同 粗数 外时间;

/*依旧是一个散列算法,与之前源码不同的是返回一个粗二值*/
粗二 随机(粗二 位置){
    位置=粗二(点积(位置,粗二(123.2,341.3)),
              点积(位置,粗二(269.2,133.5)));
    返 -1.0+2.0*取小(正弦(位置)*16354.1354654);
}
粗数 噪声(粗二 位置){
    粗二 位整=退整(位置);
    粗二 位小=取小(位置);
/*与之前掩码不同就在于此,
*这里的参数二好像具备方向上的概念,不再是单纯的变量*/
    粗数 点一=点积(随机(位整+粗二(0,0)),位小-粗二(0,0));
    粗数 点二=点积(随机(位整+粗二(1,0)),位小-粗二(1,0));
    粗数 点三=点积(随机(位整+粗二(0,1)),位小-粗二(0,1));
    粗数 点四=点积(随机(位整+粗二(1,1)),位小-粗二(1,1));

    粗二 权=位小*位小*(3.0-2.0*位小);

    返  混合(混合(点一,点二,权.横),
             混合(点三,点四,权.横),
             权.纵);
}
无 主(){
    粗二 位置 = 像位置.横纵/外屏幕.横纵;
    位置.横 *= 外屏幕.横/外屏幕.纵;//使得画的图案一定是正方形
/*缩放坐标系,对于某些噪声方法有奇效
*读者可以试试修改5.0,看看有什么变化*/
    粗二 点=粗二(位置*10.0);
/*使用噪声方法*/
    粗数 噪=噪声(点)*0.5+0.5;

    像颜色 =粗四(粗三(噪),1.0);
}

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 01:45 , Processed in 0.086640 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表