资源简介
三视图与正轴测投影。
通过上一程序所做的矩阵类,做相应的矩阵变换,得到主视图、侧视图、俯视图、正轴测投影。
我不明白那三视图乘以矩阵有什么意义,因为即使乘完了,我们还是要通过取x方向量或者z方向量作为屏幕上的坐标点画出来,那么直接取相应的方向量的值就好了呀。
代码片段和文件信息
package shiyan5;
public class Matrix {
private double[][] array; //矩阵是一个二维数组
private int size_rsize_c; //矩阵的行数,列数
/**
* 默认的构造方法
*/
public Matrix(){
this.array = null;
this.size_r = 0;
this.size_c = 0;
}
/**
* 将二维数组构造为矩阵
* @param arg 二维数组
*/
public Matrix(double [][]arg){
this.array = arg;
this.size_r = arg.length;
this.size_c = arg[0].length;
}
/**
* 构造一个已知行列数的矩阵
* @param r 行数
* @param c 列数
*/
public Matrix(int rint c){ //本题中是供内部返回结果矩阵使用的
this.array =new double[r][c];
this.size_r = r;
this.size_c = c;
}
/**
* 矩阵加法
* @param arg1
* @param arg2
* @return
*/
public static Matrix MatrixAdd(Matrix arg1Matrix arg2){
if((arg1.size_r==arg2.size_r)&&(arg1.size_c==arg2.size_c)){//矩阵行列相等的时候才可以相加
int ij;
Matrix result = new Matrix(arg1.size_rarg1.size_c);
for(i=0;i for(j=0;j result.array[i][j] = arg1.array[i][j] + arg2.array[i][j];
}
return result; //返回矩阵加法的结果
}
else return null; //如果矩阵维数不相等,不能相加,则返回为空
}
/**
* 矩阵乘法
* @param arg1
* @param arg2
* @return
*/
public static Matrix MatrixMul(Matrix arg1Matrix arg2){
if(arg1.size_c==arg2.size_r){//只有当第一个矩阵的列数和第二个矩阵的行数相等时才可以进行矩阵乘法
int ijk;
double temp;
Matrix result = new Matrix(arg1.size_rarg2.size_c);
for(i=0;i for(j=0;j temp = 0;
for(k=0;k temp+=arg1.array[i][k]*arg2.array[k][j];
}
result.array[i][j] = temp;
}
}
return result;
}
else return null;//如果两个矩阵不能相乘,返回空
}
//以下为本题中向量矩阵的特殊用法针对本题返回的向量是一行三列,所以要获得x坐标和y坐标,只需取array[0][0]和array[0][1]
/**
* 返回这个n行4列的矩阵所表示的点的坐标的x值
* @return
*/
public int[] getX(){
int[] x=new int[this.size_r];
for(int i=0;i x[i]=(int)array[i][0];
}
return x;
}
/**
* 返回这个n行4列的矩阵所表示的点的坐标的y值
* @return
*/
public int[] getY(){
int[] y=new int[this.size_r];
for(int i=0;i y[i]=(int)array[i][1];
}
return y;
}
/**
* 返回这个n行4列的矩阵所表示的点的坐标的z值
* @return
*/
public int[] getZ(){
int[] z=new int[this.size_r];
for(int i=0;i z[i]=(int)array[i][2];
}
return z;
}
public double[][] getArray() {
return array;
}
public void setArray(double[][] array) {
this.array = array;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1884 2011-12-23 00:51 E5-1\shiyan5\Matrix.class
文件 2724 2011-12-23 00:51 E5-1\shiyan5\Matrix.java
文件 4121 2011-12-23 03:04 E5-1\shiyan5\Shiyan5.class
文件 2870 2011-12-23 03:04 E5-1\shiyan5\Shiyan5.java
文件 6094 2011-12-23 03:06 E5-1\shiyan5.jar
目录 0 2011-12-23 03:13 E5-1\shiyan5
目录 0 2011-12-23 03:13 E5-1
----------- --------- ---------- ----- ----
17693 7
- 上一篇:jsp在线考试系统外文翻译
- 下一篇:Android平台的即时通信系统客户端设计方案
相关资源
- 带设计文档的 JAVA的 500行左右的 简单
- 传智播客毕向东Java基础全套视频教程
- 以文件储存数据的java自动阅卷系统
- jsp 关于留言和空间发表日志
- java学士后第一单元项目 北大青鸟音乐
- GUI版Java五子棋源码,可人机对战,经
- 多维k-means聚类算法java实现,导入直接
- java小游戏推箱子(含界面)
- java实现邮件发送三种发送方式都有
- Java拼图游戏源程序和论文开题报告等
- java Swing实现计算器源码
- java-web学习demo--最简单的servlet jsp跳转
- GN算法的java实现
- 会员管理系统 用java图形界面做的
- 凸多边形的最优三角划分java
- 基于java教务管理系统的教师端
- C语言调用JAVA的
- java servlet 过滤器
- jsp购物车(含数据库)
- C#和java 之间基于Socket的通信
- javaee学生管理系统包含课程设计说明
- java中tree的实现
- 毕向东java基础全套视频教程.txt
- 传智播客崔希凡JAVAWEB教程.txt
- mysql-connector-java-5.1.36
- 用java编写记事本程序
- websocket-api.jar JAVAjar包
- JAVA网络白板88733
- mongodb+javaSpring实现选课系统demo
- 使用java的Stream实现读取文本文件,并
评论
共有 条评论