这是我在计算机图形学课程中使用的一些代码,基本上我使用高斯Jordan消除来计算矩阵的逆.对于可逆的矩阵,其行列式值必须不等于零.我没有在我的代码中处理过这种情况,我不打算为你做这一切.

Matrix4* Matrix4::FindInverse(Matrix4 &a){

int n = R;

int i = 0;

int j = 0;

float pivot = 0;

Matrix4* invA = NULL;

//TODO: Check whether the matrix is invertible.Else Return

invA = new Matrix4();

invA->SetMatrix4(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1);

for(i = 0; i < n; i++){

pivot = a.v[i][i];

if(pivot != 1.0 and pivot != 0){

for(int t = i; t < n; t++){

a.v[i][t] = a.v[i][t]/pivot;

invA->v[i][t] = invA->v[i][t]/pivot;

}

}

//Update to the new pivot which must be 1.0

pivot = a.v[i][i];

for(j = 0; j < n; j++){

if( j==i ){

continue;

}

else{

float l = a.v[j][i]/pivot;

for(int m = 0; m < n; m++){

a.v[j][m] = a.v[j][m] - l * a.v[i][m];

invA->v[j][m] = invA->v[j][m] - (l * invA->v[i][m]);

}

}

}

}

return invA;

}

java 逆矩阵,java – 如何创建逆变换矩阵相关推荐

  1. java如何倒置矩阵_java – 如何创建逆变换矩阵

    我正在使用 Java开发一个OpenGL项目,它已经指出了我想在我自己的代码中创建转换矩阵的地方,所以我可以使用它们来进行世界到屏幕的点转换,反之亦然.我已经创建了一个支持转换的Matrix类,这一切 ...

  2. java 多阶矩阵求逆_求N阶矩阵的逆矩阵 java

    求N阶矩阵的逆矩阵 java 别妄想泡我 911次浏览 2020年08月01日 16:49 最佳经验 本文由作者推荐 1毫升等于多少升-岂止的意思 import r; public class 求逆矩 ...

  3. martin fowler_用Java和Java 8创建内部DSL,采用Martin Fowler的方法

    martin fowler 目前,我正在阅读Martin Fowler撰写的有关DSL- 特定领域语言的精彩书籍. 围绕DSL的嗡嗡声,围绕轻松支持DSL创建的语言,以及DSL的使用,使我好奇地了解和 ...

  4. 用Java和Java 8创建内部DSL,采用Martin Fowler的方法

    目前,我正在阅读Martin Fowler撰写的有关DSL- 特定于域的语言的精彩书籍. 围绕DSL的嗡嗡声,围绕轻松支持DSL创建的语言,以及DSL的使用使我好奇地了解和了解DSL的这一概念. 到目 ...

  5. java二维数组的创建,java二维数组创建方法

    java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法 二维数组的定义 type arrayName[ ][ ]; typ ...

  6. 数据结构与算法Java(二)——字符串、矩阵压缩、递归、动态规划

    不定期补充.修正.更新:欢迎大家讨论和指正 本文以数据结构(C语言版)第三版 李云清 杨庆红编著为主要参考资料,用Java来实现 数据结构与算法Java(一)--线性表 数据结构与算法Java(二)- ...

  7. Java实现Runnable接口创建多线程

    Java实现Runnable接口创建多线程 通过继承Thread类,实现多线程,但是,这种方式有一定的局限性,因为,Java中只支持单继承,一个类一旦继承了某个父类,就无法再继承Thread类 比如, ...

  8. Java继承Thread类创建多线程

    Java继承Thread类创建多线程 单线程示例 示例,Example01.java public class Example01{public static void main(String[] a ...

  9. java.io,PrintWriter可以用来创建一个文件并向本文文件写入数据

    java.io,PrintWriter可以用来创建一个文件并向本文文件写入数据 PrintWriter(String filename); PrintWriter(File file);<!-- ...

最新文章

  1. php foreach嵌套foreach,php中foreach怎么嵌套foreach PHP中foreach函数用法?
  2. Android网络连接异常处理方案
  3. android服务的启动过程,Android Service的启动过程(上)
  4. echart 高度 不用 不撑满_高度、长度可调节的输送机,能延伸至货车内部,堪称装卸神器...
  5. 学会查看 RabbitMQ日志
  6. KubeSphere 3.1.0 GA:混合多云走向边缘,让应用无处不在
  7. C#8.0: 在 LINQ 中支持异步的 IAsyncEnumerableT接口
  8. web开发项目,web前端CSS全局样式,面试必问
  9. mybatis-plus的 mapper.xml 路径配置的坑
  10. python hdf5 —— h5py
  11. 每天2小时,吃透 985博士总结的这份目标检测、卷积神经网络和OpenCV学习资料笔记(20G高清/PPT/代码)...
  12. css布局Absolute的垂直水平居中
  13. 国潮风格设计,具象化插画作品|打开你的头脑风暴
  14. 创建asp网站iis发布网站用IP地址进行访问
  15. 如何利用cmd打开资源管理器
  16. 自己构建iSCSI磁盘阵列
  17. 没有想到,网易首席架构师竟用了500页笔记,把网络协议给趣谈了
  18. 美法官:甲骨文与谷歌专利诉讼无法和解
  19. Python pycharm环境 飞机大战游戏代码 以及打包成exe教程
  20. Java8新特性-Optional

热门文章

  1. C#代码调用js函数,js函数中的document.getElementById(对象ID)得null值解决办法
  2. 添加standardjs和eslint配置检测代码规范步骤
  3. http :请求响应报文-web服务-ajax-cors跨域
  4. Vite 创建 vue3.x 项目
  5. TensorFlow2.0(十一)--理解LSTM网络
  6. 7-7 天梯赛的善良 (20 分)
  7. 7-65 藏头诗 (15 分)
  8. 求特殊方程的正整数解
  9. html 表单js验证,JavaScript使用表单元素验证表单
  10. idea 使用maven 整合ssm框架