c#封装4x4的矩阵
来源:互联网 发布:淘宝达人直播简介范文 编辑:程序博客网 时间:2024/05/02 05:06
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ceshi{ class Matrix4X4 { float[,] matrix; private const float E = 0.0000001f; public float[,] Matrix { set { matrix = value; } get { return matrix; } } public Matrix4X4() { matrix = new float[4, 4]; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { matrix[i, j] = 0.0f; } } } public Matrix4X4(float[, ] matrixx) { if (matrix.GetLength(0) != 4 || matrix.GetLength(1) != 4) { Console.WriteLine("矩阵4X4初始化失败!默认生成一个4X4的零矩阵"); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { matrixx[i, j] = 0.0f; } } } matrix = matrixx; } public Matrix4X4(float row = 4.0f, float col = 4.0f) { matrix = new float[4, 4]; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { matrix[i, j] = 0.0f; } } } // 输入相应数值,对矩阵进行设置 public void SetNum(int row, int col, float num) { matrix[row, col] = num; } public float GetNum(int i, int j) { return matrix[i, j]; } // 输出矩阵 public void OutPutMatrix() { Console.WriteLine("输出矩阵为:"); for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { Console.Write(matrix[i, j]); } Console.Write("\n"); } } //转置矩阵实现 public Matrix4X4 Transpose() { Matrix4X4 a = new Matrix4X4(); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { a.SetNum(j, j, matrix[i, j]); } } return a; } // 矩阵相加 public static Matrix4X4 Add(Matrix4X4 a, Matrix4X4 b) { Matrix4X4 c = new Matrix4X4(); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { c.SetNum(i, j, a.GetNum(i, j) + b.GetNum(i, j)); } } // return c; } //矩阵相乘 public static Matrix4X4 Mutiply(Matrix4X4 a, Matrix4X4 b) { Matrix4X4 c = new Matrix4X4(); for (int i = 0; i < 4; i++) { for (int j = 0; j < 0; j++) { float sum = 0; for (int k = 0; k < 4; k++) { sum += a.GetNum(i, k) + b.GetNum(k, i); } c.SetNum(i, j, sum); } } // return c; } //矩阵求逆 public static Matrix4X4 Inverse(Matrix4X4 a) { Matrix4X4 b = new Matrix4X4(); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { b.SetNum(i, j, a.GetNum(j, i)); } } return b; } }}
0 0
- c#封装4x4的矩阵
- 4x4的矩阵键盘
- 4x4 矩阵键盘
- 4X4矩阵键盘程序
- 4X4矩阵键盘1
- 4x4矩阵求逆
- Unity 中的4X4矩阵
- 51单片机的4x4矩阵键盘扫描例程(C51)
- 输出4x4阶矩阵的最大值,最小值及…
- s3c2410 4X4矩阵键盘驱动
- 4X4矩阵编码原理手记
- 单片机挂4X4矩阵键盘
- 4X4矩阵键盘扫描程序
- 4X4矩阵键盘扫描程序
- 4X4矩阵实现3D平移;4X4矩阵向z=d平面投影;
- 基于stm32的4X4矩阵键盘定时器扫描消抖法,彻底告别delay函数!
- 再发一种基于stm32的4X4矩阵键盘定时器扫描消抖法,彻底告别delay函数! .
- Arduino Uno 使用 4x4 矩阵按键 实现你家的密码锁吧
- hdu 1087 Super Jumping! Jumping! Jumping!
- 低功耗蓝牙BLE之报文
- IBM在人工智能方面的新进展,理解谈话情景和感知情绪
- 几大主流浏览器性能比较
- #leetcode#169Majority Element
- c#封装4x4的矩阵
- 使用Xcode Analyze进行代码静态检查
- PHP filesize 取得文件大小
- 数据结构,栈和队列,停车场模型 ZC
- LeetCode *** 109. Convert Sorted List to Binary Search Tree
- NKOI 1086 细胞分裂
- JavaEE--prepareStatement后面的setString()方法是为何?
- 常见音频编码格式总结
- 【BZOJ1185】最小矩形覆盖 计算几何 凸包 旋转卡壳