逆时针旋转的矩阵变换

关键:矩阵A完全由它对单位阵I的各列的作用所决定

例如:拉伸变换T(x)=3x,求标准矩阵。

解:

设e1是单位阵的第一列,e2为单位阵的第二列。

T(e1)=3e1=[3,0]T

T(e2)=3e2=[0,3]T

则A=[3, 0; 0, 3]就是线性变换T的标准矩阵

同理:

[1, 0]T旋转成为[cos a, sin a]T

[0, 1]T旋转成为[-sin a, cos a]T

总结:

任意一个向量x,可以写成单位阵与该向量的乘积,即

任意x,有x=Ix=[e1,e2,...,en]x=x1e1+x2e2+...+xnen

T是线性变换,则

T(x) = T(x1e1+x2e2+..+xnen) = x1T(e1)+...+xnT(en) = [T(e1), T(e2), T(e3), ... , T(en)]*[x1, x2, ... , xn]T = Ax

时间: 2024-10-13 04:21:59

逆时针旋转的矩阵变换的相关文章

将一个4X4的数组进行逆时针旋转90度后输出,要求原数组数据随机输入

//将一个4X4的数组进行逆时针旋转90度后输出,要求原数组数据随机输入 #include<stdio.h> int main() { int a[4][4],b[4][4],i,j;//a存放原是数组数据,b存放旋转后的数组数据 printf("please input 16 number:"); for(i=0;i<4;i++) for(j=0;j<4;j++) { scanf("%d",&a[i][j]); b[3-j][i]=

矩阵逆时针旋转90度,空间复杂度O(1)

将一个矩阵逆时针旋转90度,首先可以沿左上角-右下角斜对角线,进行上下交换数据,然后上下数据交换即可. 1 #include <stdio.h> 2 #include <stdlib.h> 3 //矩阵逆时针旋转90度 4 int main() 5 { 6 int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; 7 int b[3][3]; 8 int i; 9 int j; 10 int temp; 11 printf("原始矩阵\n")

逆时针旋转90度输出二叉树(数据结构试验二)

逆时针旋转90度打印二叉树是一种特殊的中序遍历算法 图解逆时针旋转90度操作 实现也特别简单,跟中序遍历算法差不多,在输出节点值前,用个特殊标记记录层数并输出适当的空格就可以了. 代码: void prtbtree(BiTNode *p,int cur)//逆时针旋转90度输出二叉树 { if(p) { prtbtree(p->rch,cur+1); for(int i=0;i<=cur;i++) printf(" "); printf("%3c",p-

怎么将CAD图纸逆时针旋转

怎么将CAD图纸逆时针旋转?当我们在绘制图纸的时候,有的时候需要在查看的过程中发现CAD图纸中的位置不是那么的适合,那这个时候我们就需要将CAD图纸进行转换,那怎么将CAD图纸逆时针旋转呢?具体要怎么来操作,不是的小伙伴们可以来看一下,下面我们就一起来看看具体操作步骤吧,希望对你们有用. 第一步:在电脑中打开一个浏览器,然后直接搜索迅捷CAD编辑器标准版,之后进入到下载界面,点击下载安装最新版本的CAD编辑器到电脑上. 第二步:安装完成之后,将桌面上的编辑器进行打开,进入到该软件的使用界面当中.

使用360浏览器访问字体逆时针旋转90度的问题

我做的是asp.net类型的网站,在制作网站的时候360浏览器出现的问题我说下: 在网站中我在css中设置的字体是“@仿宋”的字体,结果出现如下问题 后来我将字体设置为:微软雅黑,结果出现了下面的情况 但是至今我没找到为什么会出现这样的问题,我个人猜可能是仿宋前面加了@符号 的问题,但是为什么会出现这样的问题,我现在还没弄清楚,希望会的人可以给我留言,谢谢大家了!

2014年美团校招之——二维数组逆时针旋转45度后打印

思路: 沿着斜线打印即可. public void print_rotate_matrix(int[] matrix , int n){ if(n<0||matrix==null||matrix.length==0) return; //打印右上角 for(int i = n-1; i>=0 ; i--){ int j = i; while((j+1)%n!=0) { System.out.print(matrix[j]+" "); j+=(n+1); } System.o

图像处理---关于像素坐标矩阵变换(平移,旋转,缩放,错切)

介绍 坐标变换矩阵是一个3*3的矩阵,用来对图形进行坐标变化,将原来的坐标点转移到新的坐标点,因为一个图片是有点阵和每一点上的颜色信息组成的,所以对坐标的变换,就是对每一点进行搬移形成新的图片.具体的说图形的放大缩小,移动,旋转,透视,扭曲这些效果都可以用此矩阵来完成. 平移 旋转 绕原点逆时针旋转θ度角的变换公式是 x' = xcosθ ? ysinθ 与 y.' = xsinθ + ycosθ 缩放 错切 其他 Demo 见代码:http://download.csdn.net/detail

php图像旋转,图片旋转(逆时针90或者顺时针90)

//src 图片完整路径 //$direction 1顺时针90 2 逆时针90 function imgturn($src,$direction=1) { $ext = pathinfo($src)['extension']; switch ($ext) { case 'gif': $img = imagecreatefromgif($src); break; case 'jpg': case 'jpeg': $img = imagecreatefromjpeg($src); break; c

Silverlight学习之RenderTransform特效(五种基本变换)及(矩阵变换MatrixTransform)

RenderTransform特效: 变形(RenderTransform)类是为了达到直接去改变某个Silverlight对象的形状(比如缩放.旋转一个元素)的目的而设计的,RenderTransform包含的变形属性成员就是专门用来改变Silverlight对象形状的,它可以实现对元素拉伸,旋转,扭曲等效果,同时变形特效也常用于辅助产生各种动画效果,下面列出RenderTransform类的成员: l  TranslateTransform:能够让某对象的位置发生平移变化. l  Rotat