座標旋轉與平移

2021-06-20 06:53:54 字數 983 閱讀 6254

一、問題

已知原座標系下的兩個點座標為p1(x1, y1), p2(x2, y2), 經過平移和旋轉對應到新座標系下的點座標分別為(0, 0), (x, y),計算相應的旋轉矩陣r和平移向量t。

二、思路

平移向量一般比較好計算,而旋轉矩陣在計算的時候要注意旋轉中心點是哪個點,還要注意是平移後旋轉還是先旋轉後平移。鑑於本問題的特殊性:新座標系下其中一點的座標為(0,0),平移向量則可直接相減得出,即t=[0-x1, 0-y1], 然後根據(x2, y2)平移和旋轉後對應點為(x, y)可以計算出旋轉矩陣。

三、**

matrixtemp1 = new matrix(2, 2);

matrixt = new matrix(2, 1);

matrixr = new matrix(2, 2);

t[0, 0] = 0 - x1;

t[1, 0] = 0 - y1;

temp1[0, 0] = x2 + t[0, 0];

temp1[0, 1] = y2 + t[1, 0];

temp1[1, 0] = y2 + t[1, 0];

temp1[1, 1] = -(x2 + t[0, 0]);

double d = disttance(p1, p2);//計算點p1和p2之間的距離

matrixtemp2 = new matrix(2, 1);

temp2[0, 0] = 0;

temp2[1, 0] = d;

matrixte*** = inverse(temp1) * (temp2);//此處假設x=0, 則可得y = d, 解此方程得出cos theta, sin theta

r[0, 0] = te***[0, 0];

r[0, 1] = te***[1, 0];

r[1, 0] = -te***[1, 0];

r[1, 1] = te***[0, 0];

OpenGL座標變換 平移,縮放與旋轉

opengl座標變換 平移,縮放與旋轉 opengl有內建的座標系,事實上opengl有兩套座標系,乙個座標系被稱為眼睛座標 eye coordinate system 簡稱ecs opengl還有一套座標,被稱為 object coordinate system 簡稱ocs 而這個才是更為重要的,...

座標的平移,旋轉,縮放矩陣

1 0 0 0 1 0 dx dy 1 d2 d1 m 設某點與原點連線和x軸夾角為b度,以原點為圓心,逆時針轉過a度 原點與該點連線長度為r,x,y 為變換前座標,x,y 為變換後坐標。x rcos b y rsin b x rcos a b rcosacosb rsinasinb xcosa y...

直角座標系的平移和旋轉

平面上的座標系 地理座標是一種球面座標。由於地球表面是不可展開的曲面,也就是說曲面上的各點不能直接表示在平面上,因此必須運用地圖投影的方法,建立地球表面和平面上點的函式關係,使地球表面上任一點由地理座標 確定的點,在平面上必有乙個與它相對應的點,平面上任一點的位置可以用極座標或直角座標表示。平面直角...