List of usage examples for org.apache.commons.math3.geometry.euclidean.threed Vector3D Vector3D
public Vector3D(double x, double y, double z)
From source file:org.forYoink.math.CommonsVector3D.java
@Override public Vector ebeMultiply(Vector m) { Vector3D tempM = (Vector3D) m.getInternalVector(); double x = tempM.getX() * this.internalVector.getX(); double y = tempM.getY() * this.internalVector.getY(); double z = tempM.getZ() * this.internalVector.getZ(); tempVector = new Vector3D(x, y, z); Vector temp = new CommonsVector3D(); temp.setInternalVector(tempVector);//from ww w . j a v a 2s . c o m return temp; }
From source file:org.forYoink.math.CommonsVector3D.java
@Override public Vector exp() { double x = Math.exp(this.internalVector.getX()); double y = Math.exp(this.internalVector.getY()); double z = Math.exp(this.internalVector.getZ()); tempVector = new Vector3D(x, y, z); Vector temp = new CommonsVector3D(); temp.setInternalVector(tempVector);/*from w ww . j a va 2s. c o m*/ return temp; }
From source file:org.gearvrf.controls.model.Apple.java
public boolean checkValidPosition(Vector3D pos) { Vector3D wormPos = new Vector3D(MainScript.worm.wormParent.getTransform().getPositionX(), MainScript.worm.wormParent.getTransform().getPositionY(), MainScript.worm.wormParent.getTransform().getPositionZ()); if (Vector3D.distance(pos, wormPos) < MAX_APPLES_DISTANCE) return false; for (Apple a : appleList) { if (a == this) continue; Vector3D iteratedApple = new Vector3D(a.getTransform().getPositionX(), 0, a.getTransform().getPositionZ()); float distance = (float) Vector3D.distance(pos, iteratedApple); if (distance < MAX_APPLES_DISTANCE) { return false; }// ww w. j av a 2s. co m } return true; }
From source file:org.gearvrf.controls.model.Apple.java
public void setAppleRandomPosition(GVRContext context) { float angle = (float) Math.random() * 360; float distance = (float) (Math.random() * (Constants.MAX_APPLE_DISTANCE - (Constants.MAX_APPLE_DISTANCE - Constants.MIN_APPLE_DISTANCE)) + Constants.MIN_APPLE_DISTANCE); this.getTransform().setPositionZ(distance); this.getTransform().rotateByAxisWithPivot(angle, 0, 1, 0, 0, 0, 0); Vector3D instanceApple = new Vector3D(this.getTransform().getPositionX(), this.getTransform().getPositionY(), this.getTransform().getPositionZ()); if (!checkValidPosition(instanceApple)) { setAppleRandomPosition(context); } else {/* www .j a va 2 s .co m*/ if (!appleList.contains(this)) { addApple(this); shadow.getTransform().setPosition((float) instanceApple.getX(), -0.9999f, (float) instanceApple.getZ()); getGVRContext().getMainScene().addSceneObject(shadow); } } }
From source file:org.gearvrf.controls.model.Apple.java
private Vector3D setNewApplePosition(GVRContext context, float angle, float distance) { float[] vecDistance = context.getMainScene().getMainCameraRig().getLookAt(); if (vecDistance[1] > CAMERA_DIRECTION_THREASHOLD || vecDistance[1] < -CAMERA_DIRECTION_THREASHOLD) { setAppleRandomPosition(context); return null; }//from w w w . j av a2s . c o m vecDistance[0] *= distance; vecDistance[2] *= distance; Vector3D instanceApple = new Vector3D(vecDistance[0], 0, vecDistance[2]); instanceApple.normalize(); this.getTransform().setPositionX((float) instanceApple.getX()); this.getTransform().setPositionZ((float) instanceApple.getZ()); this.getTransform().rotateByAxisWithPivot(angle, 0, 1, 0, 0, 0, 0); instanceApple = new Vector3D(this.getTransform().getPositionX(), this.getTransform().getPositionY(), this.getTransform().getPositionZ()); shadow.getTransform().setPosition((float) instanceApple.getX(), -0.9999f, (float) instanceApple.getZ()); shadow.getTransform().setScale(1, 1, 1); return instanceApple; }
From source file:org.gearvrf.controls.util.MathUtils.java
public static float distance(GVRSceneObject obj1, GVRSceneObject obj2) { Vector3D v1 = new Vector3D(obj1.getTransform().getPositionX(), obj1.getTransform().getPositionY(), obj1.getTransform().getPositionZ()); Vector3D v2 = new Vector3D(obj2.getTransform().getPositionX(), obj2.getTransform().getPositionY(), obj2.getTransform().getPositionZ()); return (float) Vector3D.distance(v1, v2); }
From source file:org.gearvrf.controls.util.MathUtils.java
public static float distance(GVRTransform obj1, GVRTransform obj2) { Vector3D v1 = new Vector3D(obj1.getPositionX(), obj1.getPositionY(), obj1.getPositionZ()); Vector3D v2 = new Vector3D(obj2.getPositionX(), obj2.getPositionY(), obj2.getPositionZ()); return (float) Vector3D.distance(v1, v2); }
From source file:org.gearvrf.controls.util.MathUtils.java
public static float distance(GVRTransform obj1, float[] obj2) { Vector3D v1 = new Vector3D(obj1.getPositionX(), obj1.getPositionY(), obj1.getPositionZ()); Vector3D v2 = new Vector3D(obj2[0], obj2[1], obj2[2]); return (float) Vector3D.distance(v1, v2); }
From source file:org.gearvrf.controls.Worm.java
public void checkWormEatingApple(GVRContext gvrContext) { Vector3D wormPosition = new Vector3D(wormParent.getTransform().getPositionX(), head.getParent().getTransform().getPositionY(), wormParent.getTransform().getPositionZ()); for (Apple a : Apple.appleList) { Vector3D applePosition = new Vector3D(a.getTransform().getPositionX(), a.getTransform().getPositionY(), a.getTransform().getPositionZ()); if (Vector3D.distance(applePosition, wormPosition) < DISTANCE_TO_EAT_APPLE) { a.resetPosition(gvrContext); }//from w ww .j av a 2 s . c o m } }
From source file:org.gearvrf.keyboard.model.SphereFlag.java
private void initSphere(TypedArray sphere) { Resources res = gvrContext.getContext().getResources(); mCountryName = res.getString(sphere.getResourceId(0, -1)); mTexture = sphere.getResourceId(1, -1); mQuestion = res.getString(sphere.getResourceId(2, -1)); mAnswer = res.getString(sphere.getResourceId(3, -1)); mResultTexture = R.drawable.check;//from w w w . j a va 2 s. c o m float posX = Util.applyRatioAt(sphere.getFloat(4, -1)); float posY = Util.applyRatioAt(sphere.getFloat(5, -1)); float posZ = Util.applyRatioAt(sphere.getFloat(6, -1)); positionVector = new Vector3D(posX, posY, posZ); }