关闭

1*16矩阵运算

标签: 三维矩阵 116
309人阅读 评论(0) 收藏 举报
分类:

来自// MatrixMath.c

////////////////////////////////////////////////////////////////////////////

1. 求行列式

/// This function is not exported by library, just for this modules use only
// 3x3 determinant
static float DetIJ(const GLTMatrix m, int i, int j)
    {
    int x, y, ii, jj;
    float ret, mat[3][3];


    x = 0;
    for (ii = 0; ii < 4; ii++)
        {
        if (ii == i) continue;
        y = 0;
        for (jj = 0; jj < 4; jj++)
            {
            if (jj == j) continue;
            mat[x][y] = m[(ii*4)+jj];
            y++;
            }
        x++;
        }


    ret =  mat[0][0]*(mat[1][1]*mat[2][2]-mat[2][1]*mat[1][2]);
    ret -= mat[0][1]*(mat[1][0]*mat[2][2]-mat[2][0]*mat[1][2]);
    ret += mat[0][2]*(mat[1][0]*mat[2][1]-mat[2][0]*mat[1][1]);


    return ret;
    }


2.求逆运算

////////////////////////////////////////////////////////////////////////////
///
// Invert matrix
void gltInvertMatrix(const GLTMatrix m, GLTMatrix mInverse)
    {
    int i, j;
    float det, detij;


    // calculate 4x4 determinant
    det = 0.0f;
    for (i = 0; i < 4; i++)
        {
        det += (i & 0x1) ? (-m[i] * DetIJ(m, 0, i)) : (m[i] * DetIJ(m, 0,i));
        }
    det = 1.0f / det;


    // calculate inverse
    for (i = 0; i < 4; i++)
        {
        for (j = 0; j < 4; j++)
            {
            detij = DetIJ(m, j, i);
            mInverse[(i*4)+j] = ((i+j) & 0x1) ? (-detij * det) : (detij *det); 
            }
        }
    }
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

8. 稀疏矩阵的乘法运算

8. 稀疏矩阵的乘法运算 成绩 10 开启时间 2014年11月1日 Saturday 08:00 折扣 0.8 折扣时间 20...
  • liuyi005
  • liuyi005
  • 2014-12-10 23:07
  • 2281

稀疏矩阵的三元组表示的实现及应用(1)——建立稀疏矩阵三元组表示的算法库

/* *Copyright (c) 2015 , 烟台大学计算机学院 *All right resvered . *文件名称: 对称矩阵压缩存储的实现与应用.cpp *...
  • zzh_569754126
  • zzh_569754126
  • 2015-10-30 08:28
  • 2946

分享矩阵乘法单线程与多线程的Java实现与效率对比,请教Strassen算法

分享矩阵乘法单线程与多线程的Java实现与效率对比,请教Strassen算法 矩阵乘法的多线程实现: /**     * @Title: MultiThreadMatrix.ja...
  • Aaaa007007
  • Aaaa007007
  • 2013-09-04 21:50
  • 1210

1*16矩阵运算

  • 2015-11-20 16:53
  • 8KB
  • 下载

opencv矩阵运算(1)

简介   在机器学习中,经常需要用到矩阵计算。因此从本篇开始整理下opencv实现的矩阵计算相关函数使用。 矩阵初始化 具体代码   这里初始化了两个3X3矩阵,并将它的数据显示出来...
  • u011630458
  • u011630458
  • 2015-07-04 16:20
  • 1592

矩阵运算库Armadillo,Eigen,MATCOM在windows+vs2010环境下的安装和测评(1)

转载 作为一个遥感图像处理方向研究生,笔者在编程的时候免不得要和矩阵运算打交道,各种矩阵乘法协方差特征值。虽然在自己的研究实验中更喜欢用MATLAB来作为工具,但是在完成工程项目编软件的...
  • snowbird13
  • snowbird13
  • 2015-09-11 11:07
  • 884

【图像处理】矩阵运算代码实现1

这里主要实现矩阵的一些基础运算,包括转置及乘法。后续将进行矩阵求逆的总结。 由于转置及乘法都比较简单,对其原理不再赘述。1、矩阵打印void matPrint(double* mat, int ro...
  • jaych
  • jaych
  • 2016-02-18 21:02
  • 802

1 矩阵运算

package cn.hnpi;/************************************************************************* *  Compil...
  • gdx2011
  • gdx2011
  • 2011-01-11 21:35
  • 244

Spark上矩阵运算库(五)——高级矩阵操作1

工作回顾 前面我们已经基于Spark设计并实现了常见的分布式矩阵操作,主要包括BLAS1-2的操作,如矩阵相加、相减、相乘等。 接下来的一阶段,我们的工作分类两部分。第一,继续完善基本操作...
  • u014252240
  • u014252240
  • 2014-08-17 20:33
  • 2033

第十四周项目四——矩阵运算(1)矩阵相加

问题及代码 在数学中,一个矩阵由若干行和若干列数据组成,可以直接存储为一个二维数组。 (1)矩阵相加   两个矩阵相加,要求其行、列数均相等。运算规则为:一个n行m列的矩阵A加上另一个n行m列的矩阵,...
  • mcp3128
  • mcp3128
  • 2016-12-03 19:42
  • 222
    个人资料
    • 访问:66835次
    • 积分:1237
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:70篇
    • 译文:0篇
    • 评论:7条
    最新评论