|
地板
楼主 |
发表于 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);
} |
|