本文整理匯總了Java中com.jme3.math.FastMath.floor方法的典型用法代碼示例。如果您正苦於以下問題:Java FastMath.floor方法的具體用法?Java FastMath.floor怎麽用?Java FastMath.floor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.jme3.math.FastMath
的用法示例。
在下文中一共展示了FastMath.floor方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: addCircleFault
import com.jme3.math.FastMath; //導入方法依賴的package包/類
protected void addCircleFault(float[][] tempBuffer, Random random, float faultHeight, float range) {
float radius = random.nextFloat() * (maxRadius - minRadius) + minRadius;
int intRadius = (int) FastMath.floor(radius);
// Allox circle center to be out of map if not by more than radius.
// Unlucky cases will put them in the far corner, with the circle
// entirely outside heightmap
int x = random.nextInt(size + 2 * intRadius) - intRadius;
int y = random.nextInt(size + 2 * intRadius) - intRadius;
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
float dist;
if (i != x || j != y) {
int dx = i - x;
int dy = j - y;
float dmag = FastMath.sqrt(FastMath.sqr(dx) + FastMath.sqr(dy));
float rx = x + dx / dmag * radius;
float ry = y + dy / dmag * radius;
dist = FastMath.sign(dmag - radius)
* FastMath.sqrt(FastMath.sqr(i - rx) + FastMath.sqr(j - ry));
} else {
dist = 0;
}
tempBuffer[i][j] += calcHeight(dist, random, faultHeight, range);
}
}
}
示例2: getCell
import com.jme3.math.FastMath; //導入方法依賴的package包/類
public Vector3f getCell(Vector3f location) {
final Vector3f v = location.clone().divideLocal(this.getLocalScale().mult(this.quadSize)).add(0.5f, 0, 0.5f);
return new Vector3f(FastMath.floor(v.x), 0, FastMath.floor(v.z));
}