由于Unity只有4x4矩阵,今天要做一个2x2矩阵的旋转,居然忘了顺序。故写下作为模版记录。

顺序:

下面是使用其进行旋转的C#代码:

public struct Position
{
public int X;
public int Y; public override string ToString() { return "X: " + X + " Y: " + Y; }
} void OnEnable()//Execute
{
var position = new Position() { X = , Y = };
var anchor = new Position() { X = , Y = }; Debug.Log("position: " + position);//print position: X: 1 Y: 0
position = Rotation(, position, anchor);
Debug.Log("position rot: " + position);//print position rot: X: 0 Y: 1
} Position Rotation(float rotValue, Position pos, Position anchor)
{
var matrix00 = Mathf.Cos(rotValue * Mathf.Deg2Rad);
var matrix01 = -Mathf.Sin(rotValue * Mathf.Deg2Rad);
var matrix10 = Mathf.Sin(rotValue * Mathf.Deg2Rad);
var matrix11 = Mathf.Cos(rotValue * Mathf.Deg2Rad); var x = (float)pos.X - anchor.X;
var y = (float)pos.Y - anchor.Y; var rx = matrix00 * x + matrix01 * y;
var ry = matrix10 * x + matrix11 * y; x = anchor.X + rx;
y = anchor.Y + ry; var intX = Mathf.RoundToInt(x);
var intY = Mathf.RoundToInt(y); return new Position() { X = intX, Y = intY };
}

2x2矩阵相乘模版的更多相关文章

  1. HDU1575Tr A(矩阵相乘与快速幂)

    Tr A hdu1575 就是一个快速幂的应用: 只要知道怎么求矩阵相乘!!(比赛就知道会超时,就是没想到快速幂!!!) #include<iostream> #include<st ...

  2. <矩阵的基本操作:矩阵相加,矩阵相乘,矩阵转置>

    //矩阵的基本操作:矩阵相加,矩阵相乘,矩阵转置 #include<stdio.h> #include<stdlib.h> #define M 2 #define N 3 #d ...

  3. 利用Hadoop实现超大矩阵相乘之我见(二)

    前文 在<利用Hadoop实现超大矩阵相乘之我见(一)>中我们所介绍的方法有着“计算过程中文件占用存储空间大”这个缺陷,本文中我们着重解决这个问题. 矩阵相乘计算思想 传统的矩阵相乘方法为 ...

  4. 利用Hadoop实现超大矩阵相乘之我见(一)

    前记 最近,公司一位挺优秀的总务离职,欢送宴上,她对我说“你是一位挺优秀的程序员”,刚说完,立马道歉说“对不起,我说你是程序员是不是侮辱你了?”我挺诧异,程序员现在是很低端,很被人瞧不起的工作吗?或许 ...

  5. POJ 2246 Matrix Chain Multiplication(结构体+栈+模拟+矩阵相乘)

    题意:给出矩阵相乘的表达式,让你计算需要的相乘次数,如果不能相乘,则输出error. 思路: 参考的网站连接:http://blog.csdn.net/wangjian8006/article/det ...

  6. ObjC语法练习 冒泡排序、选择排序、矩阵相乘

    用OC实现的冒泡排序.选择排序.矩阵相乘,纯粹是用来练习语法. 冒泡排序,程序如下: void bubbleSort() { //初始化数组 NSMutableArray *array1 = [[NS ...

  7. CUDA编程-(2)其实写个矩阵相乘并不是那么难

    程序代码及图解析: #include <iostream> #include "book.h" __global__ void add( int a, int b, i ...

  8. MapReduce实现矩阵相乘

    矩阵相乘能够查看百度百科的解释http://baike.baidu.com/view/2455255.htm?fr=aladdin 有a和b两个矩阵 a:                1   2   ...

  9. im2col:将卷积运算转为矩阵相乘

    目录 im2col实现 优缺点分析 参考 博客:blog.shinelee.me | 博客园 | CSDN im2col实现 如何将卷积运算转为矩阵相乘?直接看下面这张图,以下图片来自论文High P ...

随机推荐

  1. oracle空间管理

    表空间:组织数据文件的一种途径,  是一个逻辑概念  包含有 表,字段,索引 一个数据库可以对应多个表空间 一个物理文件对应一个表空间 任何一个数据库创建的第一一个表空间是 system Tables ...

  2. NumberUtils.java

    package com.vcredit.ddcash.batch.util; import java.math.BigDecimal; public class NumberUtils { /** * ...

  3. centos7 怎么卸载 用源代码包安装的codeblocks

    进入源文件的目录下, 输入make uninstall, 即可.

  4. mongod 命令执行发现已经有进程在运行mongod数据库--errno:48 Address already in use for socket: 0.0.0.0:27017

    错误信息: listen(): bind() failed errno:48 Address already in use for socket: 0.0.0.0:27017 27017端口已经被占用 ...

  5. Run P4 without P4factory - A Simple Example In Tutorials. -2

    Reference:Github-Tutorial Exercise 2: Implementing TCP flowlet switching 实验准备: 参考之前的博客:Run P4 withou ...

  6. VMware ESXI磁盘下载虚拟机迁移到另一台VMware ESXI

    1.从10.8.9.156服务器下载虚拟机文件上传到10.8.9.160服务器使用. 2.选择虚拟文件夹点击下载到本地计算机. 3.浏览10.8.9.160数据存储. 4.把存放在本地计算机虚拟文件夹 ...

  7. MVC_表单和HTML辅助方法

    表单的使用 action特性告知Web浏览器信息发往哪里. method特性告知浏览器使用HTTP POST 还是 HTTP GET. GET请求用于读操作, POST请求用于写操作 HTML辅助方法 ...

  8. 关于Left join

    Sql关联表时条件放在On或者where上结果是不一样的. 1.放在on上 如下 select S.StoreID,* from BizProductItem as P left join BizSt ...

  9. pod install出现[!] /bin/bash -c错误,Installing Realm报错

    pod install出现错误,具体错误信息如下: Installing Realm () [!] /bin/bash -c set -e sh build.sh cocoapods-setup co ...

  10. 如何将SVN patch的修改做成old&new文件

    背景 最近解决lua的一则协程问题, 需要将一个patch添加到我们自己的lua库代码中, 由于我们整合的lua库代码目录,与原始的lua库代码不一致,导致不能直接使用path应用到我们自己的lua代 ...