我有一个角度说60度,并希望在区间内生成随机角度[-120,120],其中区间以60度为中心,现在为[-60,180]
我有以下代码:
http://www.cs.princeton.edu/introcs/22library/StdRandom.java.html
我很困惑,因为它说高斯分布在[0,1]之内.
我怎么能通过范围[-120,120]?
60角是物体的相对旋转,所产生的随机角度是它下一个位置的预测
当测试代码我有角度时,比如65,55,如果我直接使用这个角度它会执行奇怪的,所以我采取差异65-60,55-60.
这个想法是否正确?
如果您的随机数范围为0到1,则可以使用以下方法将其转换为-120到120:
rand_num*240 - 120
Run Code Online (Sandbox Code Playgroud)
更一般地,将范围[A,B]内的任何数字转换为[C,D]范围包括:
num * (D-C)/(B-A) + C
Run Code Online (Sandbox Code Playgroud)
但是,我不确定你的意思是什么意思.
如果你想要一个在每个方向上延伸120的范围,从60开始,你可以做到以上并添加60,或使用范围[60-120,60+120]=[-60,180]
在这个意义上,你有
rand_num * 240 - 60
Run Code Online (Sandbox Code Playgroud)
以下给出的公式
| 归档时间: |
|
| 查看次数: |
2547 次 |
| 最近记录: |