zoukankan      html  css  js  c++  java
  • Android学习20--OpenGL的"mapPoints"

    在OpenGL中有时会需要求一个3维空间中的点在平移(缩放,旋转)后坐标是多少.需求相当于二维的mapPoints.可以通过这个函数实现

    void multiplyMV (float[] resultVec, 
                    int resultVecOffset, 
                    float[] lhsMat, 
                    int lhsMatOffset, 
                    float[] rhsVec, 
                    int rhsVecOffset)
    

    resultVec表示存放结果的数组,resultVecOffset表示结果的第一个元素在数组中的位置,lhsMat表示变换矩阵的数组,lhsMatOffset表示变换矩阵第一个元素在数组中的位置,rhsVec表示存放变换前点的坐标的数组,rhsVecOffset变换前点的坐标第一个元素在数组中的位置.
    用法如下:

    float[] origin = new float[] {1, 2, 3, 1};
    
    float degree = 30;
    float[] matrix = new float[16];
    Matrix.setIdentityM(matrix, 0);
    Matrix.translateM(matrix, 0, 0, 1, 0);
    
    float[] result = new float[4];
    Matrix.multiplyMV(result, 0, matrix, 0,  origin, 0);
    

    上面求得了把点(1,2,3)沿y轴平稳1个单位后的坐标,结果保存在result中.

  • 相关阅读:
    ASP.Net 反射显示
    ASP.Net 反射简单工厂模式
    ASP.Net MVC生成验证码
    ASP.Net EF架构
    ASP.Net 邮箱发送
    ASP.Net 反射简单
    ASP.Net 显示
    新年快乐
    测试开发比
    Linkbot介绍
  • 原文地址:https://www.cnblogs.com/zhouyang209117/p/5716990.html
Copyright © 2011-2022 走看看