二維,三維座標旋轉演算法 公式)

2021-09-22 13:38:44 字數 986 閱讀 7451

本文是有關二維,三維座標旋轉演算法筆記。

1.二維座標旋轉。二維座標旋轉公式圖下:

void rotate2(double x1, double y1, double alpha, double& x2, double& y2)

{

x2 = x1 * cos(alpha) - y1 * sin(alpha);

y2 = x1 * sin(alpha) + y1 * cos(alpha);

2.三維座標旋轉

在處理三維座標旋轉時,使用標準的數學公式是沒有問題的。但是把二維座標旋轉呼叫三次,也能夠實現三維座標的旋轉,而且有易讀易懂,処理速度快的長處。

void rotate3(double x1, double y1, double z1,

double alphax,double alphay,double alphaz, 

double& x2, double& y2, double& z2)

//z axis rotation

double x3 = x1 * cos(alphaz) - y1 * sin(alphaz);

double y3 = x1 * sin(alphaz) + y1 * cos(alphaz);

double z3 = z1;

//y axis rotation

double z4 = z3 * cos(alphay) - x3 * sin(alphay);

double x4 = z3 * sin(alphay) + x3 * cos(alphay);

double y4 = y3;

//x axis rotation

y2 = y4 * cos(alphax) - z4 * sin(alphax);

z2 = y4 * sin(alphax) + z4 * cos(alphax);

x2 = x4;

三維座標轉換為二維座標

最近做專案用到三維座標轉換為二維平面座標的轉換公式。看了網上的很多資料,都不太適用自己的專案。最後決定自己來推導。如下圖所示,將二維平面上的三維座標系o x y z 轉換為二維座標系o xy。利用推導出的公式,在二維平面上繪製出三維立體圖。假設在三維座標系中有一點a x y z 轉換為二維座標系中的...

二維與三維座標變換

left begin x y 1 end right left begin x t x y t y 1 end right left begin 1 0 t x 0 1 t y 0 0 1 end right left begin x y 1 end right left begin x y 1 e...

三維座標 偏轉 三維座標下的旋轉

三維座標的旋轉有以下幾種常見的表示形式 旋轉向量,旋轉矩陣,尤拉角,四元數,下面對這四種表示形式及其之間的轉換進行介紹 旋轉向量 通常為3x1的列向量,向量方向即為旋轉軸,向量的模表示繞軸逆時針旋轉的角度,如旋轉向量v a,b,c 那麼旋轉角度theta sqrt a2 b2 c2 旋轉軸z a t...