Unity 3D數學基礎 2D旋轉矩陣

2022-04-19 11:26:48 字數 1364 閱讀 1766

2d矩陣的旋**

newx = x * cos(α) - y * sin(α)

newy = x * sin(α) + y * cos(α)

一般在三角函式中使用的是弧度,我們可以通過下面的公式將角度轉為弧度:

示例**:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.drawing;

namespace

matrixtransform

//////

繪製三角形

/// ///

public

void

draw(graphics g)

//////

旋轉三角形

/// ///

要旋轉的角度

public

void rotate(int

degrees)}}

視窗**:

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.linq;

using

system.text;

using

system.windows.forms;

namespace

matrixtransform

private

void button1_click(object

sender, eventargs e)

private

void form1_paint(object

sender, painteventargs e)

}private

void timer1_tick(object

sender, eventargs e)}}

}

效果:

數學基礎 旋轉(2D 正旋轉)

一般的來講大家喜歡稱旋轉為正時針旋轉,或者逆時針旋轉,例如我讓乙個點繞圓心旋轉90 大家都會理解為逆時針吧這個點旋轉90 實際上這個說法是存在漏洞和錯誤的,當我們的座標系不使用左手座標系時這個說法是錯誤的,所以在此定義 乙個正旋轉。即,2d中,座標軸,x軸朝y軸方向旋轉90 和y軸重合的方向視為正旋...

unity3d滑鼠2D控制方法

用到了unity3d 非常好的協同機制實現滑鼠 2d統制,onmousedown 事件表示滑鼠已作了射線判斷得到了物件。拖拽時保持z 軸不變,因為螢幕是 xy二維的,空間是三維的。ienumerator onmousedown print drag compeleted 跟隨滑鼠旋轉物體,並判斷手勢...

unity3D 中Quaternion旋轉演算法

quaternion.euler x,y,z 返回乙個繞x軸旋轉x度再繞y軸旋轉y度再繞z軸旋轉z度的quaternion,因此quaternion.euler 0,90,0 返回乙個繞y軸旋轉90度的旋轉操作。quaternion作用於vector3的右乘操作 返回乙個將向量做旋轉操作後的向量。因...