C/C++编程笔记:游戏开发中的噪声算法详解,游戏编程常用技术(11)
2.输入一个点坐标(二维的话就是二维坐标 , 三维就是三维坐标 , n维的就是n维坐标) , 我们找到和它相邻的那些晶格顶点(二维下有4个 , 三维下有8个 , n维下有2n个) , 计算该点到各个晶格顶点的距离向量 , 再分别与顶点上的梯度向量做点乘 , 得到2n个点乘结果 。
//点乘floatdot(Vector2 v1Vector2 v2){returnv1.x*v2.x+v1.y*v2.y;
3.使用缓和曲线来计算它们的权重和(同样的 , 可以是s(t)=3t2?2t3
, 也可以是s(t)=6t5?15t4+10t3
)
下图通过颜色差异显示了由2D柏林噪声生成的各像素点的值:
实现(二维)
另一个更快的实现方式 , 它与标准实现方式的区别是:晶体顶点是从若干个梯度向量里随机选择一个向量而不是产生一个随机向量 , 这样做可以预先计算好求梯度值时各项的系数 。 因此我们只需这样重写一下grad函数:
推荐阅读
- 游戏笔记本|Dota2-今天又是玛西被削的一天?水友:强度太高,还得接着削!
- 森林之子|双十一性价比风暴来袭,这些性能强劲的笔记本不容错过
- 黑神话|解析《黑神话:悟空》技术看点,RTX 30系笔记本带来极致体验
- 笔记本|红米G笔记本香爆?5000元大作全安排!玩家:这就整超激斗梦境
- 梦幻西游|梦幻西游:找到了当年记录账号的笔记,因为它还被父母混合双打过
- 单机|老旧笔记本轻松畅玩,10款超低配置的经典单机
- 元气骑士|经费炸裂!《元气骑士》新角色比死亡笔记更强,比司铎团更加惊艳
- 地下城与勇士|DNF:韩服6.21开发者笔记,刃影太刀物理固伤,神话合成系统出现
- 国服|第五人格:联动“死亡笔记”?一颗红苹果的期待却与国服彻底绝缘
- Java|Java 地位不保,落后已成定局 ?| 10月编程语言排行