首页 > 其他分享 >MatrixTransform之相关矩阵运算

MatrixTransform之相关矩阵运算

时间:2024-06-06 15:45:40浏览次数:24  
标签:zh 运算 矩阵 E7% 相关矩阵 MatrixTransform 向量

最近在学习MatrixTransform,发现对之前学的矩阵乘法竟然忘的一干二净,下面就是这个基础知识的整理。

矩阵加法

通常的矩阵加法被定义在两个相同大小的矩阵。两个m×n矩阵A和B的和,标记为A+B,一样是个m×n矩阵,其内的各元素为其相对应元素相加后的值。例如:

也可以做矩阵的减法,只要其大小相同的话。A-B内的各元素为其相对应元素相减后的值,且此矩阵会和A、B有相同大小。例如:

矩阵乘法

若给出一矩阵 A 及一数字 c,可定义标量积 cA,其中 (cA)[i, j] = cA[i, j]。 例如:

设A和B是两个给定如下的矩阵:


 

举例来说:

MatrixTransform  的矩阵运算

假设我们有个点(X,Y) ,我们使用 MatrixTransform  要把它转换成新的点(X1,Y1),则公式为:
X1 = X*M11 + Y*M21+ OffsetX
Y1 = X*M12 + Y*M22+ OffsetY


在Silverlight 和 WPF 中,对应的Xaml 如下:
<MatrixTransform Matrix="M11, M12, M21, M22, OffsetX, OffsetY"/>
从矩阵运算的角度,就是如下矩阵运算:

 



上述表达式中,乘号左面矩阵的列为为系数表,右边矩阵为向量表。例如,第一行是[X Y 1],因此将X乘上第一个向量,Y乘上第二个向量,1则乘上第三个向量。

参考资料:

矩阵
http://zh.wikipedia.org/zh-cn/%E7%9F%A9%E9%98%B5

矩阵加法
http://zh.wikipedia.org/zh-cn/%E7%9F%A9%E9%99%A3%E5%8A%A0%E6%B3%95

矩阵乘法
http://zh.wikipedia.org/zh-cn/%E7%9F%A9%E9%99%A3%E4%B9%98%E6%B3%95


————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/ghj1976/article/details/5264208

标签:zh,运算,矩阵,E7%,相关矩阵,MatrixTransform,向量
From: https://www.cnblogs.com/cdaniu/p/18235245

相关文章

  • 28、matlab算数运算汇总1:加、减、乘、除、幂、四舍五入
    1、加法说明plus,+ 添加数字,追加字符串语法C=A+B通过对应元素相加将数组A和B相加C=plus(A,B)是执行A+B的替代方法S=sum(___,nanflag)指定包含还是省略A中的NaN值。1)将标量与数组相加代码及运算A=[01;10];C=A+2C=23......
  • NumPy 通用函数(ufunc):高性能数组运算的利器
    NumPy通用函数(ufunc)简介NumPy通用函数(ufunc),代表“通用函数”,是一类用于对ndarray对象进行逐元素运算的高性能函数。ufunc使NumPy能够在底层高效地利用C语言实现向量化操作,从而显著提高计算速度。优势ufunc的主要优势体现在以下几个方面:向量化操作:ufunc可以对整个......
  • 两个一元多项式运算
    给定两个一元多项式和一个运算符号【+、-、*】,请编写程序实现对应运算符号的两个一元多项式的运算,并输出结果。输入描述:第一行给出第一个多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数k_i和指数x_i(绝对值均为不超过1000的整数)第二行给出第二个多项式非零项......
  • C++PrimerPlus第十一章类的使用 :练习7 复数类的实现和重载运算符对复数做运算----本
    复数有两个部分组成:实数部分和虚数部分。复数的一种书写方式是:(3.0,4.0),其中,3.0是实数部分,4.0是虚数部分。假设a=(A,Bi),c=(C,Di),则下面是一些复数运算。加法:a+c=(A+C,(B+D)i)。减法:a-c=(A-C,(B-D)i)。乘法:ac=(AC-BD,(AD+B*C)i)。乘法::xc=(xC,x*Di),其中x为实数。......
  • C++PrimerPlus第十一章类的使用 :练习6 关系运算符的重载
    6.重新编写Stonewt类(程序清单11.16和程序清单11.17),重载全部6个关系运算符。运算符对pounds成员进行比较,并返回一个bool值。   编写一个程序,它声明一个包含6个Stonewt对象的数组,并在数组声明中初始化前3个对象。然后使用循环来读取用于设置剩余3个数   组元素的......
  • Java 位运算(了解)
    计算机中的数在内存中都是以二进制形式进行存储的,而位运算就是直接对整数在内存中的二进制位进行操作运算符描述运算结果&与两者都为一时,结果才为一|或两者都为零时,结果才为零^易或两者相同为零,相异为一~取反零变一,一变零<<左移各二进位全部......
  • c++ 运算符重载、线程安全实现单例
    一、运算符重载namespaceCalcRect{ structRect { Rect(intposX=0,intposY=0,intw=0,inth=0) { x=posX; y=posY; width=w; height=h; } voidoperator=(constRect&other) { x=other.x; y=other.y; width=ot......
  • C++ 强制类型转换运算符简介
    C++提供了四种强制类型转换运算符:static_cast、reinterpret_cast、const_cast和dynamic_cast。这些运算符各自具有特定的用途,适用于不同的类型转换需求。本文将详细介绍这四种运算符及其应用场景,并讨论它们在向上转换中的使用方法。1.static_caststatic_cast用于在编译时执......
  • (nice!!!)LeetCode 3097. 或值至少为 K 的最短子数组 II(位运算、滑动窗口)
    3097.或值至少为K的最短子数组II思路:既然求的是区间,那么我们自然就想到前缀和、滑动窗口、双指针。结合本题的特点:或运算,会发现如果一段连续的区间进行或运算,最多只会有32次运算可以改变,这是因为int型的二进制范围是-2^31~2^31-1,每次增加一个二进制形式的1。所......
  • C语言之指针进阶(5),sizeof和strlen的数组计算以及指针运算笔试难题详解
    目录前言一、sizeof和strlen的区分比较二、sizeof,strlen与数组的计算三、指针运算,笔试难题解析总结前言    本文作为指针进阶的最后一篇文章,给大家带来了丰富的例题,这其中包括区分比较sizeof和strlen计算各种花样的数组指针表达式,如果你能答对所有的关......