當前位置: 首頁>>代碼示例>>Java>>正文


Java Matrix44F.getData方法代碼示例

本文整理匯總了Java中com.vuforia.Matrix44F.getData方法的典型用法代碼示例。如果您正苦於以下問題:Java Matrix44F.getData方法的具體用法?Java Matrix44F.getData怎麽用?Java Matrix44F.getData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.vuforia.Matrix44F的用法示例。


在下文中一共展示了Matrix44F.getData方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: Vec3FTransform

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static Vec3F Vec3FTransform(Vec3F v, Matrix44F m)
{
    float lambda;
    lambda = m.getData()[12] * v.getData()[0] + m.getData()[13]
            * v.getData()[1] + m.getData()[14] * v.getData()[2]
            + m.getData()[15];

    temp[0] = m.getData()[0] * v.getData()[0] + m.getData()[1]
            * v.getData()[1] + m.getData()[2] * v.getData()[2] + m.getData()[3];
    temp[1] = m.getData()[4] * v.getData()[0] + m.getData()[5]
            * v.getData()[1] + m.getData()[6] * v.getData()[2] + m.getData()[7];
    temp[2] = m.getData()[8] * v.getData()[0] + m.getData()[9]
            * v.getData()[1] + m.getData()[10] * v.getData()[2]
            + m.getData()[11];

    temp[0] /= lambda;
    temp[1] /= lambda;
    temp[2] /= lambda;

    return new Vec3F(temp[0], temp[1], temp[2]);
}
 
開發者ID:daemontus,項目名稱:VuforiaLibGDX,代碼行數:22,代碼來源:SampleMath.java

示例2: Vec4FTransform

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static Vec4F Vec4FTransform(Vec4F v, Matrix44F m)
{
    temp[0] = m.getData()[0] * v.getData()[0] + m.getData()[1]
            * v.getData()[1] + m.getData()[2] * v.getData()[2] + m.getData()[3]
            * v.getData()[3];
    temp[1] = m.getData()[4] * v.getData()[0] + m.getData()[5]
            * v.getData()[1] + m.getData()[6] * v.getData()[2] + m.getData()[7]
            * v.getData()[3];
    temp[2] = m.getData()[8] * v.getData()[0] + m.getData()[9]
            * v.getData()[1] + m.getData()[10] * v.getData()[2]
            + m.getData()[11] * v.getData()[3];
    temp[3] = m.getData()[12] * v.getData()[0] + m.getData()[13]
            * v.getData()[1] + m.getData()[14] * v.getData()[2]
            + m.getData()[15] * v.getData()[3];

    return new Vec4F(temp[0], temp[1], temp[2], temp[3]);
}
 
開發者ID:daemontus,項目名稱:VuforiaLibGDX,代碼行數:18,代碼來源:SampleMath.java

示例3: Vec3FTransform

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static Vec3F Vec3FTransform(Vec3F v, Matrix44F m)
{
    float lambda;
    lambda = m.getData()[12] * v.getData()[0] + m.getData()[13]
        * v.getData()[1] + m.getData()[14] * v.getData()[2]
        + m.getData()[15];
    
    temp[0] = m.getData()[0] * v.getData()[0] + m.getData()[1]
        * v.getData()[1] + m.getData()[2] * v.getData()[2] + m.getData()[3];
    temp[1] = m.getData()[4] * v.getData()[0] + m.getData()[5]
        * v.getData()[1] + m.getData()[6] * v.getData()[2] + m.getData()[7];
    temp[2] = m.getData()[8] * v.getData()[0] + m.getData()[9]
        * v.getData()[1] + m.getData()[10] * v.getData()[2]
        + m.getData()[11];
    
    temp[0] /= lambda;
    temp[1] /= lambda;
    temp[2] /= lambda;
    
    return new Vec3F(temp[0], temp[1], temp[2]);
}
 
開發者ID:daemontus,項目名稱:VuforiaTransparentVideo,代碼行數:22,代碼來源:SampleMath.java

示例4: Vec4FTransform

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static Vec4F Vec4FTransform(Vec4F v, Matrix44F m)
{
    temp[0] = m.getData()[0] * v.getData()[0] + m.getData()[1]
        * v.getData()[1] + m.getData()[2] * v.getData()[2] + m.getData()[3]
        * v.getData()[3];
    temp[1] = m.getData()[4] * v.getData()[0] + m.getData()[5]
        * v.getData()[1] + m.getData()[6] * v.getData()[2] + m.getData()[7]
        * v.getData()[3];
    temp[2] = m.getData()[8] * v.getData()[0] + m.getData()[9]
        * v.getData()[1] + m.getData()[10] * v.getData()[2]
        + m.getData()[11] * v.getData()[3];
    temp[3] = m.getData()[12] * v.getData()[0] + m.getData()[13]
        * v.getData()[1] + m.getData()[14] * v.getData()[2]
        + m.getData()[15] * v.getData()[3];
    
    return new Vec4F(temp[0], temp[1], temp[2], temp[3]);
}
 
開發者ID:daemontus,項目名稱:VuforiaTransparentVideo,代碼行數:18,代碼來源:SampleMath.java

示例5: Vec3FTransformNormal

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static Vec3F Vec3FTransformNormal(Vec3F v, Matrix44F m)
{
    temp[0] = m.getData()[0] * v.getData()[0] + m.getData()[1]
            * v.getData()[1] + m.getData()[2] * v.getData()[2];
    temp[1] = m.getData()[4] * v.getData()[0] + m.getData()[5]
            * v.getData()[1] + m.getData()[6] * v.getData()[2];
    temp[2] = m.getData()[8] * v.getData()[0] + m.getData()[9]
            * v.getData()[1] + m.getData()[10] * v.getData()[2];

    return new Vec3F(temp[0], temp[1], temp[2]);
}
 
開發者ID:daemontus,項目名稱:VuforiaLibGDX,代碼行數:12,代碼來源:SampleMath.java

示例6: Matrix44FTranspose

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static Matrix44F Matrix44FTranspose(Matrix44F m)
{
    Matrix44F r = new Matrix44F();
    for (int i = 0; i < 4; i++)
        for (int j = 0; j < 4; j++)
            temp[i * 4 + j] = m.getData()[i + 4 * j];

    r.setData(temp);
    return r;
}
 
開發者ID:daemontus,項目名稱:VuforiaLibGDX,代碼行數:11,代碼來源:SampleMath.java

示例7: Matrix44FDeterminate

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static float Matrix44FDeterminate(Matrix44F m)
{
    return m.getData()[12] * m.getData()[9] * m.getData()[6]
            * m.getData()[3] - m.getData()[8] * m.getData()[13]
            * m.getData()[6] * m.getData()[3] - m.getData()[12]
            * m.getData()[5] * m.getData()[10] * m.getData()[3]
            + m.getData()[4] * m.getData()[13] * m.getData()[10]
            * m.getData()[3] + m.getData()[8] * m.getData()[5]
            * m.getData()[14] * m.getData()[3] - m.getData()[4]
            * m.getData()[9] * m.getData()[14] * m.getData()[3]
            - m.getData()[12] * m.getData()[9] * m.getData()[2]
            * m.getData()[7] + m.getData()[8] * m.getData()[13]
            * m.getData()[2] * m.getData()[7] + m.getData()[12]
            * m.getData()[1] * m.getData()[10] * m.getData()[7]
            - m.getData()[0] * m.getData()[13] * m.getData()[10]
            * m.getData()[7] - m.getData()[8] * m.getData()[1]
            * m.getData()[14] * m.getData()[7] + m.getData()[0]
            * m.getData()[9] * m.getData()[14] * m.getData()[7]
            + m.getData()[12] * m.getData()[5] * m.getData()[2]
            * m.getData()[11] - m.getData()[4] * m.getData()[13]
            * m.getData()[2] * m.getData()[11] - m.getData()[12]
            * m.getData()[1] * m.getData()[6] * m.getData()[11]
            + m.getData()[0] * m.getData()[13] * m.getData()[6]
            * m.getData()[11] + m.getData()[4] * m.getData()[1]
            * m.getData()[14] * m.getData()[11] - m.getData()[0]
            * m.getData()[5] * m.getData()[14] * m.getData()[11]
            - m.getData()[8] * m.getData()[5] * m.getData()[2]
            * m.getData()[15] + m.getData()[4] * m.getData()[9]
            * m.getData()[2] * m.getData()[15] + m.getData()[8]
            * m.getData()[1] * m.getData()[6] * m.getData()[15]
            - m.getData()[0] * m.getData()[9] * m.getData()[6]
            * m.getData()[15] - m.getData()[4] * m.getData()[1]
            * m.getData()[10] * m.getData()[15] + m.getData()[0]
            * m.getData()[5] * m.getData()[10] * m.getData()[15];
}
 
開發者ID:daemontus,項目名稱:VuforiaLibGDX,代碼行數:36,代碼來源:SampleMath.java

示例8: Vec3FTransformNormal

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static Vec3F Vec3FTransformNormal(Vec3F v, Matrix44F m)
{
    temp[0] = m.getData()[0] * v.getData()[0] + m.getData()[1]
        * v.getData()[1] + m.getData()[2] * v.getData()[2];
    temp[1] = m.getData()[4] * v.getData()[0] + m.getData()[5]
        * v.getData()[1] + m.getData()[6] * v.getData()[2];
    temp[2] = m.getData()[8] * v.getData()[0] + m.getData()[9]
        * v.getData()[1] + m.getData()[10] * v.getData()[2];
    
    return new Vec3F(temp[0], temp[1], temp[2]);
}
 
開發者ID:daemontus,項目名稱:VuforiaTransparentVideo,代碼行數:12,代碼來源:SampleMath.java

示例9: Matrix44FTranspose

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static Matrix44F Matrix44FTranspose(Matrix44F m)
{
    Matrix44F r = new Matrix44F();
    for (int i = 0; i < 4; i++)
        for (int j = 0; j < 4; j++)
            temp[i * 4 + j] = m.getData()[i + 4 * j];
    
    r.setData(temp);
    return r;
}
 
開發者ID:daemontus,項目名稱:VuforiaTransparentVideo,代碼行數:11,代碼來源:SampleMath.java

示例10: Matrix44FDeterminate

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
public static float Matrix44FDeterminate(Matrix44F m)
{
    return m.getData()[12] * m.getData()[9] * m.getData()[6]
        * m.getData()[3] - m.getData()[8] * m.getData()[13]
        * m.getData()[6] * m.getData()[3] - m.getData()[12]
        * m.getData()[5] * m.getData()[10] * m.getData()[3]
        + m.getData()[4] * m.getData()[13] * m.getData()[10]
        * m.getData()[3] + m.getData()[8] * m.getData()[5]
        * m.getData()[14] * m.getData()[3] - m.getData()[4]
        * m.getData()[9] * m.getData()[14] * m.getData()[3]
        - m.getData()[12] * m.getData()[9] * m.getData()[2]
        * m.getData()[7] + m.getData()[8] * m.getData()[13]
        * m.getData()[2] * m.getData()[7] + m.getData()[12]
        * m.getData()[1] * m.getData()[10] * m.getData()[7]
        - m.getData()[0] * m.getData()[13] * m.getData()[10]
        * m.getData()[7] - m.getData()[8] * m.getData()[1]
        * m.getData()[14] * m.getData()[7] + m.getData()[0]
        * m.getData()[9] * m.getData()[14] * m.getData()[7]
        + m.getData()[12] * m.getData()[5] * m.getData()[2]
        * m.getData()[11] - m.getData()[4] * m.getData()[13]
        * m.getData()[2] * m.getData()[11] - m.getData()[12]
        * m.getData()[1] * m.getData()[6] * m.getData()[11]
        + m.getData()[0] * m.getData()[13] * m.getData()[6]
        * m.getData()[11] + m.getData()[4] * m.getData()[1]
        * m.getData()[14] * m.getData()[11] - m.getData()[0]
        * m.getData()[5] * m.getData()[14] * m.getData()[11]
        - m.getData()[8] * m.getData()[5] * m.getData()[2]
        * m.getData()[15] + m.getData()[4] * m.getData()[9]
        * m.getData()[2] * m.getData()[15] + m.getData()[8]
        * m.getData()[1] * m.getData()[6] * m.getData()[15]
        - m.getData()[0] * m.getData()[9] * m.getData()[6]
        * m.getData()[15] - m.getData()[4] * m.getData()[1]
        * m.getData()[10] * m.getData()[15] + m.getData()[0]
        * m.getData()[5] * m.getData()[10] * m.getData()[15];
}
 
開發者ID:daemontus,項目名稱:VuforiaTransparentVideo,代碼行數:36,代碼來源:SampleMath.java

示例11: setProjectionAndCamera

import com.vuforia.Matrix44F; //導入方法依賴的package包/類
private void setProjectionAndCamera(Display contentProvider, TrackableResult[] trackables, float filedOfView) {

        ModelInstance model = contentProvider.modelInstance;

        if (trackables != null && trackables.length > 0) {
            //transform all content
            TrackableResult trackable = trackables[0];

            Matrix44F modelViewMatrix = Tool.convertPose2GLMatrix(trackable.getPose());
            float[] raw = modelViewMatrix.getData();

            float[] rotated;
            //switch axis and rotate to compensate coordinates change
            if (com.vuforia.Renderer.getInstance().getVideoBackgroundConfig().getReflection() == VIDEO_BACKGROUND_REFLECTION.VIDEO_BACKGROUND_REFLECTION_ON) {
                // Front camera
                rotated = new float[]{
                        raw[1], raw[0], raw[2], raw[3],
                        raw[5], raw[4], raw[6], raw[7],
                        raw[9], raw[8], raw[10], raw[11],
                        raw[13], raw[12], raw[14], raw[15]
                };
            } else {
                // Back camera
                rotated = new float[]{
                        raw[1], -raw[0], raw[2], raw[3],
                        raw[5], -raw[4], raw[6], raw[7],
                        raw[9], -raw[8], raw[10], raw[11],
                        raw[13], -raw[12], raw[14], raw[15]
                };
            }
            Matrix44F rot = new Matrix44F();
            rot.setData(rotated);
            Matrix44F inverse = SampleMath.Matrix44FInverse(rot);
            Matrix44F transp = SampleMath.Matrix44FTranspose(inverse);

            float[] data = transp.getData();
            camera.position.set(data[12], data[13], data[14]);
            camera.up.set(data[4], data[5], data[6]);
            camera.direction.set(data[8], data[9], data[10]);
            //update filed of view
            camera.fieldOfView = filedOfView;

        } else {
            camera.position.set(100, 100, 100);
            camera.lookAt(1000,1000,1000);
        }

        model.transform.set(new Matrix4());
        //the model is rotated
        model.transform.rotate(1.0F, 0.0F, 0.0F, 90.0F);
        model.transform.rotate(0.0F, 1.0F, 0.0F, 90.0F);
        model.transform.scale(MODEL_SCALE, MODEL_SCALE, MODEL_SCALE);

        camera.update();
    }
 
開發者ID:daemontus,項目名稱:VuforiaLibGDX,代碼行數:56,代碼來源:Renderer.java


注:本文中的com.vuforia.Matrix44F.getData方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。