当前位置: 首页>>代码示例>>Java>>正文


Java Vector3.multiply方法代码示例

本文整理汇总了Java中org.rajawali3d.math.vector.Vector3.multiply方法的典型用法代码示例。如果您正苦于以下问题:Java Vector3.multiply方法的具体用法?Java Vector3.multiply怎么用?Java Vector3.multiply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.rajawali3d.math.vector.Vector3的用法示例。


在下文中一共展示了Vector3.multiply方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: transform

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
public void transform(final Matrix4 matrix) {
	mTransformedMin.setAll(Double.MAX_VALUE, Double.MAX_VALUE, Double.MAX_VALUE);
	mTransformedMax.setAll(-Double.MAX_VALUE, -Double.MAX_VALUE, -Double.MAX_VALUE);
	
	for(mI=0; mI<8; ++mI) {
		Vector3 o = mPoints[mI];
		Vector3 d = mTmp[mI];
		d.setAll(o);
		d.multiply(matrix);
		
		if(d.x < mTransformedMin.x) mTransformedMin.x = d.x;
		if(d.y < mTransformedMin.y) mTransformedMin.y = d.y;
		if(d.z < mTransformedMin.z) mTransformedMin.z = d.z;
		if(d.x > mTransformedMax.x) mTransformedMax.x = d.x;
		if(d.y > mTransformedMax.y) mTransformedMax.y = d.y;
		if(d.z > mTransformedMax.z) mTransformedMax.z = d.z;
	}
}
 
开发者ID:sujitkjha,项目名称:360-Video-Player-for-Android,代码行数:19,代码来源:BoundingBox.java

示例2: fire

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
public void fire() {
    if(mLastFireTime + MISSILE_INTERVAL > System.currentTimeMillis()) {
        return;
    }
    // clone object and add to scene
    Object3D missileObj = mMissileObj.clone();
    missileObj.setX(mCameraBox.getX());
    missileObj.setY(mCameraBox.getY());
    missileObj.setZ(mCameraBox.getZ());
    missileObj.setColor(FRIENDLY_MISSILE_COLOR);
    mRenderer.getCurrentScene().addChild(missileObj);
    //mMissileObj.addChild(missileObj);
    // make Missile instance and set location and target
    Missile missile = new Missile(mCameraBox.getX(), mCameraBox.getY(), mCameraBox.getZ(),
            Missile.FROM_FRIENDLY, missileObj);
    Vector3 targetVec = new Vector3(mHeadViewForward);
    targetVec.normalize();
    targetVec.multiply(30);
    missile.setTarget(mCameraBox.getX() + targetVec.x,
            mCameraBox.getY() + targetVec.y,
            mCameraBox.getZ() + targetVec.z);
    synchronized (mMissiles) {
        mMissiles.add(missile);
    }
}
 
开发者ID:godstale,项目名称:VR-Defense-Game,代码行数:26,代码来源:World.java

示例3: attackDestroyer

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
private void attackDestroyer(double x, double y, double z) {
    // Make target vector
    Random rand = new Random();
    Vector3 targetVec = new Vector3(mDestroyer.object.getX()+rand.nextInt(20),
            mDestroyer.object.getY()+rand.nextInt(20),
            mDestroyer.object.getZ()+rand.nextInt(20));
    targetVec.subtract(x, y, z);
    targetVec.normalize();
    targetVec.multiply(3);
    // clone object and add to scene
    Object3D missileObj = mMissileObj.clone();
    missileObj.setX(x+targetVec.x);
    missileObj.setY(y+targetVec.y);
    missileObj.setZ(z+targetVec.z);
    missileObj.setColor(FRIENDLY_MISSILE_COLOR);
    mRenderer.getCurrentScene().addChild(missileObj);
    //mMissileObj.addChild(missileObj);
    // make Missile instance and set location and target
    Missile missile = new Missile(x+targetVec.x, y+targetVec.y, z+targetVec.z,
            Missile.FROM_MOTHERSHIP, missileObj);
    targetVec.multiply(20);
    missile.setTarget(targetVec.x, targetVec.y, targetVec.z);
    synchronized (mMissiles) {
        mMissiles.add(missile);
    }
}
 
开发者ID:godstale,项目名称:VR-Defense-Game,代码行数:27,代码来源:World.java

示例4: buildMeshes

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
private void buildMeshes() {
	for (int i = 0; i < mNumMeshes; ++i) {
		int boneIndex = 0;
		SkeletonMeshData mesh = mMeshes[i];
		mesh.vertices = new float[mesh.numVertices * 3];
		mesh.indices = new int[mesh.numWeights];
		mesh.weights = new float[mesh.numWeights];
		mesh.textureCoordinates = new float[mesh.numVertices * 2];

		int numVerts = mesh.numVertices;

		for (int j = 0; j < numVerts; ++j) {
			BoneVertex vert = mesh.boneVertices[j];
			Vector3 position = new Vector3();

			for (int k = 0; k < vert.numWeights; ++k) {
				BoneWeight weight = mesh.boneWeights[vert.weightIndex + k];
				SkeletonJoint joint = mJoints[weight.jointIndex];

				Vector3 rotPos = joint.getOrientation().multiply(weight.position);
				//We don't clone here because nothing will be able to use the quaternion scratch before we do
				Vector3 pos = Vector3.addAndCreate(joint.getPosition(), rotPos);
				pos.multiply(weight.weightValue);
				position.add(pos);

				mesh.indices[boneIndex] = weight.jointIndex;
				mesh.weights[boneIndex++] = weight.weightValue;
			}

			int vertIndex = j * 3;
			mesh.vertices[vertIndex] = (float) position.x;
			mesh.vertices[vertIndex + 1] = (float) position.y;
			mesh.vertices[vertIndex + 2] = (float) position.z;

			int uvIndex = j * 2;
			mesh.textureCoordinates[uvIndex] = (float) vert.textureCoordinate.getX();
			mesh.textureCoordinates[uvIndex + 1] = (float) vert.textureCoordinate.getY();
		}
	}
}
 
开发者ID:sujitkjha,项目名称:360-Video-Player-for-Android,代码行数:41,代码来源:LoaderMD5Mesh.java

示例5: calculateChildSideLengths

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
/**
 * Calculates the side lengths that child nodes
 * of this node should have.
 */
protected void calculateChildSideLengths() {
	//Determine the distance on each axis
	Vector3 temp = Vector3.subtractAndCreate(mTransformedMax, mTransformedMin);
	temp.multiply(0.5f); //Divide it in half
	float overlap = 1.0f + mOverlap/100.0f;
	temp.multiply(overlap);
	temp.absoluteValue();
	mChildLengths.setAll(temp);
}
 
开发者ID:sujitkjha,项目名称:360-Video-Player-for-Android,代码行数:14,代码来源:A_nAABBTree.java

示例6: transformPoints

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
private void transformPoints() {
    if (floorPlanData != null) {
        List<Vector2> filledPoints = floorPlanData.getFilledPoints();
        synchronized (points) {
            points.clear();
            for (Vector2 filledPoint : filledPoints) {
                Vector3 v3 = new Vector3(filledPoint.getX(), filledPoint.getY(), 0);
                v3.multiply(activeTransformation);
                points.add(v3);
            }
        }
    }
}
 
开发者ID:inovex,项目名称:tango-ar-navigation-example,代码行数:14,代码来源:MapView.java

示例7: attackMothership

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
private void attackMothership(double x, double y, double z, int from) {
    // Make target vector
    Vector3 targetVec = new Vector3(mMothershipObj.getX(), mMothershipObj.getY(), mMothershipObj.getZ());
    double distance = targetVec.distanceTo(x, y, z);
    targetVec.subtract(x, y, z);
    targetVec.normalize();
    if(distance > 50) {
        targetVec.multiply(30);
    } else {
        targetVec.multiply(3);
    }

    // clone object and add to scene
    Object3D missileObj = mMissileObj.clone();
    missileObj.setX(x+targetVec.x);
    missileObj.setY(y+targetVec.y);
    missileObj.setZ(z+targetVec.z);
    missileObj.setColor(ENEMY_MISSILE_COLOR);
    mRenderer.getCurrentScene().addChild(missileObj);
    //mMissileObj.addChild(missileObj);
    // make Missile instance and set location and target
    Missile missile = new Missile(x+targetVec.x, y+targetVec.y, z+targetVec.z,
            from, missileObj);
    targetVec.multiply((distance+10)/3);
    missile.setTarget(mMothershipObj.getX(), mMothershipObj.getY(), mMothershipObj.getZ());
    if(distance > 50) {
        missile.setSpeed(0.75);
    }
    synchronized (mMissiles) {
        mMissiles.add(missile);
    }
}
 
开发者ID:godstale,项目名称:VR-Defense-Game,代码行数:33,代码来源:World.java

示例8: getWorldPosition

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
public Vector3 getWorldPosition() {
	if(mParentMatrix == null) return mPosition;
	Vector3 worldPos = mPosition.clone();
	worldPos.multiply(mParentMatrix);
	return worldPos;
}
 
开发者ID:sujitkjha,项目名称:360-Video-Player-for-Android,代码行数:7,代码来源:Object3D.java


注:本文中的org.rajawali3d.math.vector.Vector3.multiply方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。