gpt4 book ai didi

javascript - 我的网络 worker 似乎没有正确计算

转载 作者:行者123 更新时间:2023-11-29 10:45:15 26 4
gpt4 key购买 nike

我正在编写一个 JavaScript 应用程序来在球体表面生成随机点。我在 Wolfram 上找到了这个公式来获得 phi 和 theta ( http://mathworld.wolfram.com/SpherePointPicking.html#eqn2 )。 Phi 是我在使用 phi = cos^(-1)(2v-1) 时遇到的问题,其中 v 是 (0,1) 的随机变量。以下是我编写的用于计算 phi 的 JavaScript。但是,当它执行时,它经常返回 NaN。谁能告诉我我是否误解了公式?我唯一能想到的是 Math.random() 生成 (0,1] 并且 0 会引发错误。但是在运行多个测试时,我不认为 Math.random()每次执行该行时都会生成 0。

var phi = Math.acos(2 * (Math.random()) * - 1);

最佳答案

因为大于1的数的反余弦(Math.acos()函数)返回NaN,而Math.random() * 2 有时 返回大于 1 的数字。

如何修复?

我看到数学 cos^(-1)(2v-1)

好像是

v = someValue;

Math.acos(2 * v) - 1;

做你想做的,你可能想要

phi = Math.acos(2 * Math.random() - 1);

作为您的 Javascript 代码。

结论:

要修复,您需要做的就是更换

phi = Math.acos(2 * Math.random() * - 1);

phi = Math.acos(2 * Math.random() - 1);

(删除 * -1)

关于javascript - 我的网络 worker 似乎没有正确计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20792534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com