matrix java
- IT科技
- 關注:6.83K次
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
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 */ }}
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/331lzm.html