• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java Matrix44F类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.vuforia.Matrix44F的典型用法代码示例。如果您正苦于以下问题:Java Matrix44F类的具体用法?Java Matrix44F怎么用?Java Matrix44F使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Matrix44F类属于com.vuforia包,在下文中一共展示了Matrix44F类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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: Matrix44FIdentity

import com.vuforia.Matrix44F; //导入依赖的package包/类
public static Matrix44F Matrix44FIdentity()
{
    Matrix44F r = new Matrix44F();

    for (int i = 0; i < 16; i++)
        temp[i] = 0.0f;

    temp[0] = 1.0f;
    temp[5] = 1.0f;
    temp[10] = 1.0f;
    temp[15] = 1.0f;

    r.setData(temp);

    return r;
}
 
开发者ID:daemontus,项目名称:VuforiaLibGDX,代码行数:17,代码来源:SampleMath.java


示例4: 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


示例5: 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


示例6: Matrix44FIdentity

import com.vuforia.Matrix44F; //导入依赖的package包/类
public static Matrix44F Matrix44FIdentity()
{
    Matrix44F r = new Matrix44F();
    
    for (int i = 0; i < 16; i++)
        temp[i] = 0.0f;
    
    temp[0] = 1.0f;
    temp[5] = 1.0f;
    temp[10] = 1.0f;
    temp[15] = 1.0f;
    
    r.setData(temp);
    
    return r;
}
 
开发者ID:daemontus,项目名称:VuforiaTransparentVideo,代码行数:17,代码来源:SampleMath.java


示例7: 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


示例8: 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


示例9: 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


示例10: getPointToPlaneIntersection

import com.vuforia.Matrix44F; //导入依赖的package包/类
public static Vec3F getPointToPlaneIntersection(
        Matrix44F inverseProjMatrix, Matrix44F modelViewMatrix,
        float screenWidth, float screenHeight, Vec2F point, Vec3F planeCenter,
        Vec3F planeNormal)
{
    projectScreenPointToPlane(inverseProjMatrix, modelViewMatrix,
            screenWidth, screenHeight, point, planeCenter, planeNormal);
    return mIntersection;
}
 
开发者ID:daemontus,项目名称:VuforiaLibGDX,代码行数:10,代码来源:SampleMath.java


示例11: getPointToPlaneLineStart

import com.vuforia.Matrix44F; //导入依赖的package包/类
public static Vec3F getPointToPlaneLineStart(Matrix44F inverseProjMatrix,
                                             Matrix44F modelViewMatrix, float screenWidth, float screenHeight,
                                             Vec2F point, Vec3F planeCenter, Vec3F planeNormal)
{
    projectScreenPointToPlane(inverseProjMatrix, modelViewMatrix,
            screenWidth, screenHeight, point, planeCenter, planeNormal);
    return mLineStart;
}
 
开发者ID:daemontus,项目名称:VuforiaLibGDX,代码行数:9,代码来源:SampleMath.java


示例12: getPointToPlaneLineEnd

import com.vuforia.Matrix44F; //导入依赖的package包/类
public static Vec3F getPointToPlaneLineEnd(Matrix44F inverseProjMatrix,
                                           Matrix44F modelViewMatrix, float screenWidth, float screenHeight,
                                           Vec2F point, Vec3F planeCenter, Vec3F planeNormal)
{
    projectScreenPointToPlane(inverseProjMatrix, modelViewMatrix,
            screenWidth, screenHeight, point, planeCenter, planeNormal);
    return mLineEnd;
}
 
开发者ID:daemontus,项目名称:VuforiaLibGDX,代码行数:9,代码来源:SampleMath.java


示例13: VideoPlaybackRenderer

import com.vuforia.Matrix44F; //导入依赖的package包/类
public VideoPlaybackRenderer(VideoPlayback activity,
    SampleApplicationSession session)
{
    
    mActivity = activity;
    vuforiaAppSession = session;
    
    // Create an array of the size of the number of targets we have
    mVideoPlayerHelper = new VideoPlayerHelper[VideoPlayback.NUM_TARGETS];
    mMovieName = new String[VideoPlayback.NUM_TARGETS];
    mCanRequestType = new MEDIA_TYPE[VideoPlayback.NUM_TARGETS];
    mSeekPosition = new int[VideoPlayback.NUM_TARGETS];
    mShouldPlayImmediately = new boolean[VideoPlayback.NUM_TARGETS];
    mLostTrackingSince = new long[VideoPlayback.NUM_TARGETS];
    mLoadRequested = new boolean[VideoPlayback.NUM_TARGETS];
    mTexCoordTransformationMatrix = new float[VideoPlayback.NUM_TARGETS][16];
    
    // Initialize the arrays to default values
    for (int i = 0; i < VideoPlayback.NUM_TARGETS; i++)
    {
        mVideoPlayerHelper[i] = null;
        mMovieName[i] = "";
        mCanRequestType[i] = MEDIA_TYPE.ON_TEXTURE_FULLSCREEN;
        mSeekPosition[i] = 0;
        mShouldPlayImmediately[i] = false;
        mLostTrackingSince[i] = -1;
        mLoadRequested[i] = false;
    }
    
    for (int i = 0; i < VideoPlayback.NUM_TARGETS; i++)
        targetPositiveDimensions[i] = new Vec3F();
    
    for (int i = 0; i < VideoPlayback.NUM_TARGETS; i++)
        modelViewMatrix[i] = new Matrix44F();
}
 
开发者ID:daemontus,项目名称:VuforiaTransparentVideo,代码行数:36,代码来源:VideoPlaybackRenderer.java


示例14: 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


示例15: 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


示例16: 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


示例17: getPointToPlaneIntersection

import com.vuforia.Matrix44F; //导入依赖的package包/类
public static Vec3F getPointToPlaneIntersection(
    Matrix44F inverseProjMatrix, Matrix44F modelViewMatrix,
    float screenWidth, float screenHeight, Vec2F point, Vec3F planeCenter,
    Vec3F planeNormal)
{
    projectScreenPointToPlane(inverseProjMatrix, modelViewMatrix,
        screenWidth, screenHeight, point, planeCenter, planeNormal);
    return mIntersection;
}
 
开发者ID:daemontus,项目名称:VuforiaTransparentVideo,代码行数:10,代码来源:SampleMath.java


示例18: getPointToPlaneLineStart

import com.vuforia.Matrix44F; //导入依赖的package包/类
public static Vec3F getPointToPlaneLineStart(Matrix44F inverseProjMatrix,
    Matrix44F modelViewMatrix, float screenWidth, float screenHeight,
    Vec2F point, Vec3F planeCenter, Vec3F planeNormal)
{
    projectScreenPointToPlane(inverseProjMatrix, modelViewMatrix,
        screenWidth, screenHeight, point, planeCenter, planeNormal);
    return mLineStart;
}
 
开发者ID:daemontus,项目名称:VuforiaTransparentVideo,代码行数:9,代码来源:SampleMath.java


示例19: getPointToPlaneLineEnd

import com.vuforia.Matrix44F; //导入依赖的package包/类
public static Vec3F getPointToPlaneLineEnd(Matrix44F inverseProjMatrix,
    Matrix44F modelViewMatrix, float screenWidth, float screenHeight,
    Vec2F point, Vec3F planeCenter, Vec3F planeNormal)
{
    projectScreenPointToPlane(inverseProjMatrix, modelViewMatrix,
        screenWidth, screenHeight, point, planeCenter, planeNormal);
    return mLineEnd;
}
 
开发者ID:daemontus,项目名称:VuforiaTransparentVideo,代码行数:9,代码来源:SampleMath.java


示例20: projectScreenPointToPlane

import com.vuforia.Matrix44F; //导入依赖的package包/类
private static void projectScreenPointToPlane(Matrix44F inverseProjMatrix,
                                              Matrix44F modelViewMatrix, float screenWidth, float screenHeight,
                                              Vec2F point, Vec3F planeCenter, Vec3F planeNormal)
{
    // Window Coordinates to Normalized Device Coordinates
    VideoBackgroundConfig config = Renderer.getInstance()
            .getVideoBackgroundConfig();

    float halfScreenWidth = screenWidth / 2.0f;
    float halfScreenHeight = screenHeight / 2.0f;

    float halfViewportWidth = config.getSize().getData()[0] / 2.0f;
    float halfViewportHeight = config.getSize().getData()[1] / 2.0f;

    float x = (point.getData()[0] - halfScreenWidth) / halfViewportWidth;
    float y = (point.getData()[1] - halfScreenHeight) / halfViewportHeight
            * -1;

    Vec4F ndcNear = new Vec4F(x, y, -1, 1);
    Vec4F ndcFar = new Vec4F(x, y, 1, 1);

    // Normalized Device Coordinates to Eye Coordinates
    Vec4F pointOnNearPlane = Vec4FTransform(ndcNear, inverseProjMatrix);
    Vec4F pointOnFarPlane = Vec4FTransform(ndcFar, inverseProjMatrix);
    pointOnNearPlane = Vec4FDiv(pointOnNearPlane,
            pointOnNearPlane.getData()[3]);
    pointOnFarPlane = Vec4FDiv(pointOnFarPlane,
            pointOnFarPlane.getData()[3]);

    // Eye Coordinates to Object Coordinates
    Matrix44F inverseModelViewMatrix = Matrix44FInverse(modelViewMatrix);

    Vec4F nearWorld = Vec4FTransform(pointOnNearPlane,
            inverseModelViewMatrix);
    Vec4F farWorld = Vec4FTransform(pointOnFarPlane, inverseModelViewMatrix);

    mLineStart = new Vec3F(nearWorld.getData()[0], nearWorld.getData()[1],
            nearWorld.getData()[2]);
    mLineEnd = new Vec3F(farWorld.getData()[0], farWorld.getData()[1],
            farWorld.getData()[2]);
    mIntersection = linePlaneIntersection(mLineStart, mLineEnd,
            planeCenter, planeNormal);

    if (mIntersection == null)
        Log.e(LOGTAG, "No intersection with the plane");
}
 
开发者ID:daemontus,项目名称:VuforiaLibGDX,代码行数:47,代码来源:SampleMath.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java LibraryProjectStructureElement类代码示例发布时间:2022-05-16
下一篇:
Java LanguagePluginImpl类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap