uniformsampler.java
来自「利用JAVA编写的群体机器人局部通讯完成一定得队形控制」· Java 代码 · 共 70 行
JAVA
70 行
/* This code is part of the localize package of TeamBots. * Copyright (c) 1999, 2000 by John Sweeney and Carnegie Mellon University */package EDU.cmu.cs.coral.localize;import EDU.gatech.cc.is.util.Vec2;public class UniformSampler { protected UniformRandom ur; protected int numVars; protected double [] rangeLow; protected double [] rangeHigh; public UniformSampler(long s, int nv) { numVars = nv; ur = new UniformRandom(s, 0.0, 1.0); rangeLow = new double[numVars]; rangeHigh = new double[numVars]; for (int i =0;i < numVars; i++) { rangeLow[i] = 0.0; rangeHigh[i] = 1.0; } } public Sample generateSample() { Sample s = new Sample(); for (int i =0; i < numVars; i++) { ur.setRange(rangeLow[i], rangeHigh[i]); s.data[i] = ur.getValue(); } return s; } public double [] generateSampleArray() { double [] res = new double[3]; for (int i =0; i < numVars; i++) { ur.setRange(rangeLow[i], rangeHigh[i]); res[i] = ur.getValue(); } return res; } public void setRange(int i, double lo, double hi) { rangeLow[i] = lo; rangeHigh[i] = hi; } public void setRange(int i, Range r) { rangeLow[i] = r.low; rangeHigh[i] = r.high; } public void setRange(int i, Vec2 v) { rangeLow[i] = v.x; rangeHigh[i] = v.y; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?