资源简介
矩阵的Java实现,含矩阵的所有运算,也可与向量进行运算表示图形的变换。
代码片段和文件信息
package Javagames.util;
public class Matrix3x3f {
public static final int DIMENSION = 3;
private float[][] m = new float[DIMENSION][DIMENSION];
//m[2][2]=0时,只对第一次向量变换有效,变换后,w = 0
public Matrix3x3f() {}
public Matrix3x3f(float[][] m) {
setMatrix(m);
}
public Matrix3x3f add(Matrix3x3f m1) {
float[][] tmp = new float[DIMENSION][DIMENSION];
for (int i = 0; i < DIMENSION; i++) {
for (int j = 0; j < DIMENSION; j++) {
tmp[i][j] = m[i][j] + m1.m[i][j];
}
}
return new Matrix3x3f(tmp);
}
public Matrix3x3f sub(Matrix3x3f m1) {
float[][] tmp = new float[DIMENSION][DIMENSION];
for (int i = 0; i < DIMENSION; i++) {
for (int j = 0; j < DIMENSION; j++) {
tmp[i][j] = m[i][j] - m1.m[i][j];
}
}
return new Matrix3x3f(tmp);
}
public Matrix3x3f mul(Matrix3x3f m1) {
float[][] tmp = new float[DIMENSION][DIMENSION];
for (int i = 0; i < DIMENSION; i++) {
for (int k = 0; k < DIMENSION; k++) {
for(int j=0;j tmp[i][j] += m[i][k] * m1.m[k][j];
}
}
}
return new Matrix3x3f(tmp);
}
public void setMatrix(float[][] m) {
if (m.length == DIMENSION && m[0].length == DIMENSION) {
this.m = m;
}
}
public static Matrix3x3f zero() {
return new Matrix3x3f(new float[DIMENSION][DIMENSION]);
}
public static Matrix3x3f identity() {
float[][] tmp = new float[DIMENSION][DIMENSION];
for (int i = 0; i < DIMENSION; i++) {
tmp[i][i] = 1.0f;
}
return new Matrix3x3f(tmp);
}
public static Matrix3x3f translate(Vector2f v) {
return translate(v.x v.y);
}
public static Matrix3x3f translate(float x float y) {
return new Matrix3x
相关资源
- JSP + MySQL+Servlet+JavaBean 实现图片上传
- Java投票系统
- 基于Java实现的socket即时通信系统
- 程序设计外文资料
- JavawebMVC模式用户登录程序源码
- 学生成绩管理系统java+mysql
- flappy birdjava版
- html5做超级玛丽游戏(儿时的回忆
- mysql-connector-java-3.1.12-bin.jar
- 基于java scoket的聊天工具开题报告
- 基于Java的医院分诊管理系统
- Java转C++代码工具 J2C
- JAVA期末考试试题
- jsp+javabean实现的简单的购物车 删除
- AESjava实现
- 用java编写的多边形扫描填充算法,有
- java二分查法
- Java根据实体创建Mysql数据库表
- jpcap监听网络 收发数据包java
- Java ATM机系统
- 五子棋JAVA
- java简单推箱子小游戏
- Java简单的记事本程序完整代码含实验
- 八数码问题宽度优先搜索Java实现
- JAVA 较简单的 后台管理系统,
- 史上最全javase|javaee开发文档,一次打
- 北邮 java 作业6 设计模式1
- 北邮 java 作业7 设计模式2,李颉老师
- 北邮 java 作业5 群体对象
- 北邮 java 作业4 图形化
评论
共有 条评论