random - 如何从 xy 坐标生成种子

标签 random seed prng

我一直在研究 perlin 脚本,但在创建简单的伪随机值时遇到了问题。

我需要能够从 xy 坐标创建种子值,但 x+y 在重复值方面存在明显问题。而且它们会进入负空间,因此 x^y 不起作用。

很抱歉,如果这个问题已经在其他地方得到了回答,但我不明白或找不到它。

最佳答案

您需要更好地定义问题才能获得最佳答案。

如果您的 x 和 y 值相对较小,您可以将它们放入整数的高位和低位部分(您语言中的种子是整数),例如对于 32 位平台:

int 种子 = x << 16 + y;

如果种子值不允许为负数(我没有完全理解你的问题中“负空间”的含义,无论你指的是地理还是种子值),你可以取绝对值种子。

如果您的意思是坐标可以具有负值,那么您的最佳操作方案取决于您是否希望坐标和其逆坐标具有相同的种子。

关于random - 如何从 xy 坐标生成种子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693111/

相关文章:

使用种子的 Java 随机数

mysql - 找不到基表或 View : 1146 Table '' doesn't exist

ruby-on-rails - ruby on rails rake db :seed undefined method for

algorithm - 是否有仅返回正值的线性同余生成器算法?

reverse - 可逆伪随机序列发生器

java - 如何从此字符串中返回一些随机数?

vb.net - 具有相等组的双重随机分配

c++ - C/C++如何判断一个字符串是否随机

random - 使用 Elm 生成随机 UUIDv4

ios - OS X 的 SecRandomCopyBytes 分支安全吗?