java matrix

作者:原创时间:2022-04-02
文档

java matrix是什么,让我们一起了解一下?

Matrix 是一个基于javaEE技术集成的基础应用系统,是一个可以看见和运行的系统,matrix定义了一个稳定而有效的设计开发框架,结合代码生成器使用自动生成增删改查代码简化了应用开发过程。它集成了系统日志,事务控制、安全校验、权限管理等功能,为开发人员提供一个能够快速开发业务系统的框架,开发人员只需要专注于业务逻辑而不需要关注非功能需求。

那么Matrix有哪些方法可以控制图片变换?

1、setTranslate(float dx,float dy):控制Matrix进行位移。

2、setSkew(float kx,float ky):控制Matrix进行倾斜,kx、ky为X、Y方向上的比例。

3、setSkew(float kx,float ky,float px,float py):控制Matrix以px、py为轴心进行倾斜,kx、ky为X、Y方向上的倾斜比例。

4、setRotate(float degrees):控制Matrix进行depress角度的旋转,轴心为(0,0)。

5、setRotate(float degrees,float px,float py):控制Matrix进行depress角度的旋转,轴心为(px,py)。

6、setScale(float sx,float sy):设置Matrix进行缩放,sx、sy为X、Y方向上的缩放比例。

7、setScale(float sx,float sy,float px,float py):设置Matrix以(px,py)为轴心进行缩放,sx、sy为X、Y方向上的缩放比例。

matrix的入门操作代码如下:

import org.junit.Test;
import org.ujmp.core.DenseMatrix;
import org.ujmp.core.Matrix;
/**
 * Created by lionel on 16/11/29.
 */
public class MatrixTest {
    @Test
    public void test() {
        //创建4*4的 零矩阵
        Matrix dense = DenseMatrix.Factory.zeros(4, 4);
        System.out.println(dense);
        /*
        0.0000     0.0000     0.0000     0.0000
        0.0000     0.0000     0.0000     0.0000
        0.0000     0.0000     0.0000     0.0000
        0.0000     0.0000     0.0000     0.0000
        */
        //设置矩阵dense第三行第四列的元素为5.0
        dense.setAsDouble(5.0, 2, 3);
        //其他设置
        dense.setAsDouble(1.0, 0, 0);
        dense.setAsDouble(3.0, 1, 1);
        dense.setAsDouble(4.0, 2, 2);
        dense.setAsDouble(-2.0, 3, 3);
        dense.setAsDouble(-2.0, 1, 3);
        System.out.println(dense);
        /*
        1.0000     0.0000     0.0000     0.0000
        0.0000     3.0000     0.0000    -2.0000
        0.0000     0.0000     4.0000     5.0000
        0.0000     0.0000     0.0000    -2.0000
        */
        //矩阵dense的转置
        Matrix transpose = dense.transpose();
        System.out.println(transpose);
        /*
        1.0000     0.0000     0.0000     0.0000
        0.0000     3.0000     0.0000     0.0000
        0.0000     0.0000     4.0000     0.0000
        0.0000    -2.0000     5.0000    -2.0000
        */
        //矩阵dense与矩阵transpose相加
        System.out.println(dense.plus(transpose));
        /*
        2.0000     0.0000     0.0000     0.0000
        0.0000     6.0000     0.0000    -2.0000
        0.0000     0.0000     8.0000     5.0000
        0.0000    -2.0000     5.0000    -4.0000
         */
        //矩阵dense与矩阵transpose相减
        System.out.println(dense.minus(transpose));
        /*
        0.0000     0.0000     0.0000     0.0000
        0.0000     0.0000     0.0000    -2.0000
        0.0000     0.0000     0.0000     5.0000
        0.0000     2.0000    -5.0000     0.0000
        */
        //矩阵dense与矩阵transpose相乘
        Matrix matrixProduct = dense.mtimes(transpose);
        System.out.println(matrixProduct);
        /*
        1.0000     0.0000     0.0000     0.0000
        0.0000    13.0000   -10.0000     4.0000
        0.0000   -10.0000    41.0000   -10.0000
        0.0000     4.0000   -10.0000     4.0000
        */
        //矩阵dense 所有元素*2
        Matrix scaled = dense.times(2);
        System.out.println(scaled);
        /*
        2.0000     0.0000     0.0000     0.0000
        0.0000     6.0000     0.0000    -4.0000
        0.0000     0.0000     8.0000    10.0000
        0.0000     0.0000     0.0000    -4.0000
         */
        //矩阵 dense 的逆矩阵
        System.out.println(dense.inv());
        /*
        1.0000     0.0000     0.0000     0.0000
        0.0000     0.3333     0.0000    -0.3333
        0.0000     0.0000     0.2500     0.6250
       -0.0000    -0.0000    -0.0000    -0.5000
         */
        //生成4*4随机矩阵,元素值在0,1之间
        Matrix rand = Matrix.Factory.rand(4, 4);
        System.out.println(rand);
        /*
        0.5478     0.5100     0.7078     0.0600
        0.8316     0.4039     0.2553     0.0173
        0.4354     0.7132     0.7865     0.7006
        0.0394     0.4839     0.4374     0.6241
         */
        //生成4*4随机矩阵,元素值在-1,1之间
        Matrix randn = Matrix.Factory.randn(4, 4);
        System.out.println(randn);
        /*
        0.8655     0.6231    -0.4234     0.0802
        0.7217    -0.7399    -0.5692     0.6421
        -1.5557     0.4745     2.1110     1.5489
        -0.8520    -0.7722     0.9025    -0.4664
        */
        //产生2*3 元素值都为1.0000的矩阵
        Matrix ones = Matrix.Factory.ones(2, 3);
        System.out.println(ones);
        /*
        1.0000     1.0000     1.0000
        1.0000     1.0000     1.0000
         */
    }
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java memcpy java merge java method java mian java mina java mkdir java mmap java mockito java modelandview java module java monad java mono java mqtt java multiset java mvvm java mybatisplus java namespace java newinstance java nextint java nextline java matlab java math.ceil java mapping java malloc java main java logstash java logging java localtime java locale java list.contains java list.add java linq java linklist java leveldb java lamada java kudu java kmeans java keystore java kafka java jxl