国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

空間坐標(biāo)變換(Python&C++實(shí)現(xiàn))

這篇具有很好參考價(jià)值的文章主要介紹了空間坐標(biāo)變換(Python&C++實(shí)現(xiàn))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

空間坐標(biāo)變換可看作坐標(biāo)點(diǎn)乘以一個(gè)齊次矩陣,其中,齊次矩陣可表示為:
空間坐標(biāo)轉(zhuǎn)換,python,線性代數(shù)
其中:
①區(qū)域的3×3矩陣產(chǎn)生三維圖形的比例、對(duì)稱、旋轉(zhuǎn)、錯(cuò)切等基本變換;
②區(qū)域產(chǎn)生圖形的透視變換;
③區(qū)域產(chǎn)生沿X、Y、Z三個(gè)軸的平移變換;
④區(qū)域產(chǎn)生圖形的總比例變換。

平移變換

平移變換可表示為:
[ x y z 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 l m n 1 ] = [ x + l y + m z + n 1 ] \begin{gathered} \quad \begin{bmatrix} x & y & z & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ l & m & n & 1 \end{bmatrix} = \begin{bmatrix} x+l & y+m & z+n & 1 \end{bmatrix} \end{gathered} [x?y?z?1?] ?100l?010m?001n?0001? ?=[x+l?y+m?z+n?1?]?

繞X軸旋轉(zhuǎn)

空間立體繞X軸旋轉(zhuǎn)某個(gè)角度,實(shí)體上個(gè)點(diǎn)的X坐標(biāo)不變,只有Y、Z坐標(biāo)改變,可表示為:
[ x y z 1 ] [ 1 0 0 0 0 c o s ( θ ) s i n ( θ ) 0 0 ? s i n ( θ ) c o s ( θ ) 0 0 0 0 1 ] = [ x y × c o s ( θ ) ? z × s i n ( θ ) y × s i n ( θ ) + z × c o s ( θ ) 1 ] \begin{gathered} \quad \begin{bmatrix} x & y & z & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & cos(\theta) & sin(\theta) & 0 \\ 0 & -sin(\theta) & cos(\theta) & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} x & y \times cos(\theta) - z \times sin(\theta) & y \times sin(\theta) + z \times cos(\theta) & 1 \end{bmatrix} \end{gathered} [x?y?z?1?] ?1000?0cos(θ)?sin(θ)0?0sin(θ)cos(θ)0?0001? ?=[x?y×cos(θ)?z×sin(θ)?y×sin(θ)+z×cos(θ)?1?]?

繞Y軸旋轉(zhuǎn)

空間立體繞Y軸旋轉(zhuǎn)某個(gè)角度,實(shí)體上個(gè)點(diǎn)的Y坐標(biāo)不變,只有X、Z坐標(biāo)改變,可表示為:
[ x y z 1 ] [ c o s ( θ ) 0 ? s i n ( θ ) 0 0 1 0 0 s i n ( θ ) 0 c o s ( θ ) 0 0 0 0 1 ] = [ x × c o s ( θ ) + z × s i n ( θ ) y ? x × s i n ( θ ) + z × c o s ( θ ) 1 ] \begin{gathered} \quad \begin{bmatrix} x & y & z & 1 \end{bmatrix} \begin{bmatrix} cos(\theta) & 0 & -sin(\theta) & 0 \\ 0 & 1 & 0 & 0 \\ sin(\theta) & 0 & cos(\theta) & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} x \times cos(\theta) + z \times sin(\theta) & y & -x \times sin(\theta) + z \times cos(\theta) & 1 \end{bmatrix} \end{gathered} [x?y?z?1?] ?cos(θ)0sin(θ)0?0100??sin(θ)0cos(θ)0?0001? ?=[x×cos(θ)+z×sin(θ)?y??x×sin(θ)+z×cos(θ)?1?]?

繞Z軸旋轉(zhuǎn)

空間立體繞Z軸旋轉(zhuǎn)某個(gè)角度,實(shí)體上個(gè)點(diǎn)的Z坐標(biāo)不變,只有X、Y坐標(biāo)改變,可表示為:
[ x y z 1 ] [ c o s ( θ ) s i n ( θ ) 0 0 ? s i n ( θ ) c o s ( θ ) 0 0 0 0 1 0 0 0 0 1 ] = [ x × c o s ( θ ) ? y × s i n ( θ ) x × s i n ( θ ) + y × c o s ( θ ) z 1 ] \begin{gathered} \quad \begin{bmatrix} x & y & z & 1 \end{bmatrix} \begin{bmatrix} cos(\theta) & sin(\theta) & 0 & 0 \\ -sin(\theta) & cos(\theta) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} x \times cos(\theta) - y \times sin(\theta) & x \times sin(\theta) + y \times cos(\theta) & z & 1 \end{bmatrix} \end{gathered} [x?y?z?1?] ?cos(θ)?sin(θ)00?sin(θ)cos(θ)00?0010?0001? ?=[x×cos(θ)?y×sin(θ)?x×sin(θ)+y×cos(θ)?z?1?]?

python代碼

繞X軸旋轉(zhuǎn)

def rotate_X(x, y, z, alpha):
    alpha = alpha * (np.pi / 180)
    x_r = x
    y_r = np.cos(alpha) * y - np.sin(alpha) * z
    z_r = np.sin(alpha) * y + np.cos(alpha) * z
    return round(x_r, 4), round(y_r, 4), round(z_r, 4)

繞Y軸旋轉(zhuǎn)

def rotate_Y(x, y, z, beta):
    beta = beta * (np.pi / 180)
    x_r = np.cos(beta) * x + np.sin(beta) * z
    y_r = y
    z_r = -np.sin(beta) * x + np.cos(beta) * z
    return round(x_r, 4), round(y_r, 4), round(z_r, 4)

繞Z軸旋轉(zhuǎn)

def rotate_Z(x, y, z, gamma):
    gamma = gamma * (np.pi / 180)
    x_r = np.cos(gamma) * x - np.sin(gamma) * y
    y_r = np.sin(gamma) * x + np.cos(gamma) * y
    z_r = z
    return round(x_r, 4), round(y_r, 4), round(z_r, 4)

為了更直觀的顯示,使用matplotlib將旋轉(zhuǎn)前后的點(diǎn)顯示出來

def plot_3D(x, y, z, x1, y1, z1):
    a, b, c = [0, x, x1], \
              [0, y, y1], \
              [0, z, z1]
    d, e, f, g, h, i = [0], [0], [0], [0], [0], [0]
    d.append(x)
    e.append(y)
    f.append(z)
    g.append(x1)
    h.append(y1)
    i.append(z1)

    dd, ee, ff = [x, 0, 0, x, x, x], \
                 [y, y, 0, 0, y, y], \
                 [z, z, z, z, z, 0]

    dd1, ee1, ff1 = [0, x, x, 0, 0, 0], \
                    [0, 0, y, y, 0, 0], \
                    [0, 0, 0, 0, 0, z]
    dd2, ee2, ff2 = [x, x], \
                    [0, 0], \
                    [0, z]
    dd3, ee3, ff3 = [0, 0], \
                    [y, y], \
                    [0, z]

    gg, hh, ii = [x1, 0, 0, x1, x1, x1], \
                 [y1, y1, 0, 0, y1, y1], \
                 [z1, z1, z1, z1, z1, 0]
    gg1, hh1, ii1 = [0, x1, x1, 0, 0, 0], \
                    [0, 0, y1, y1, 0, 0], \
                    [0, 0, 0, 0, 0, z1]
    gg2, hh2, ii2 = [x1, x1], \
                    [0, 0], \
                    [0, z1]
    gg3, hh3, ii3 = [0, 0], \
                    [y1, y1], \
                    [0, z1]

    ax = plt.axes(projection='3d')  # 創(chuàng)建一個(gè)三維的繪圖工程
    ax.scatter3D(a, b, c, c='r')  # 繪制數(shù)據(jù)點(diǎn) c: 'r'紅色,'y'黃色,等顏色
    ax.text(x, y, z, (x, y, z), c='r')  # 顯示點(diǎn)坐標(biāo)
    ax.text(x1, y1, z1, (x1, y1, z1), c='r')
    ax.plot3D(d, e, f, c='b')
    ax.plot3D(dd, ee, ff, c='b', linestyle='--')
    ax.plot3D(dd1, ee1, ff1, c='b', linestyle='--')
    ax.plot3D(dd2, ee2, ff2, c='b', linestyle='--')
    ax.plot3D(dd3, ee3, ff3, c='b', linestyle='--')
    ax.plot3D(g, h, i, c='y')
    ax.plot3D(gg, hh, ii, c='y', linestyle='--')
    ax.plot3D(gg1, hh1, ii1, c='y', linestyle='--')
    ax.plot3D(gg2, hh2, ii2, c='y', linestyle='--')
    ax.plot3D(gg3, hh3, ii3, c='y', linestyle='--')

    ax.set_xlabel('X')  # 設(shè)置x坐標(biāo)軸
    ax.set_ylabel('Y')  # 設(shè)置y坐標(biāo)軸
    ax.set_zlabel('Z')  # 設(shè)置z坐標(biāo)軸
    ax.grid(False)  # 關(guān)閉網(wǎng)格

    plt.show()

現(xiàn)設(shè)初始點(diǎn)為P0(0,0,6),P0先繞X軸旋轉(zhuǎn)6°,再繞Y軸旋轉(zhuǎn)45°得到P2
空間坐標(biāo)轉(zhuǎn)換,python,線性代數(shù)
完整代碼:

import numpy as np
import matplotlib.pyplot as plt


# 1、繞Z周旋轉(zhuǎn)gamma角
def rotate_Z(x, y, z, gamma):
    gamma = gamma * (np.pi / 180)
    x_r = np.cos(gamma) * x - np.sin(gamma) * y
    y_r = np.sin(gamma) * x + np.cos(gamma) * y
    z_r = z
    return round(x_r, 4), round(y_r, 4), round(z_r, 4)


# 2、繞Y軸旋轉(zhuǎn)beta角
def rotate_Y(x, y, z, beta):
    beta = beta * (np.pi / 180)
    x_r = np.cos(beta) * x + np.sin(beta) * z
    y_r = y
    z_r = -np.sin(beta) * x + np.cos(beta) * z
    return round(x_r, 4), round(y_r, 4), round(z_r, 4)


# 3、繞X軸旋轉(zhuǎn)alpha角
def rotate_X(x, y, z, alpha):
    alpha = alpha * (np.pi / 180)
    x_r = x
    y_r = np.cos(alpha) * y - np.sin(alpha) * z
    z_r = np.sin(alpha) * y + np.cos(alpha) * z
    return round(x_r, 4), round(y_r, 4), round(z_r, 4)


def plot_3D(x, y, z, x1, y1, z1):
    a, b, c = [0, x, x1], \
              [0, y, y1], \
              [0, z, z1]
    d, e, f, g, h, i = [0], [0], [0], [0], [0], [0]
    d.append(x)
    e.append(y)
    f.append(z)
    g.append(x1)
    h.append(y1)
    i.append(z1)

    dd, ee, ff = [x, 0, 0, x, x, x], \
                 [y, y, 0, 0, y, y], \
                 [z, z, z, z, z, 0]

    dd1, ee1, ff1 = [0, x, x, 0, 0, 0], \
                    [0, 0, y, y, 0, 0], \
                    [0, 0, 0, 0, 0, z]
    dd2, ee2, ff2 = [x, x], \
                    [0, 0], \
                    [0, z]
    dd3, ee3, ff3 = [0, 0], \
                    [y, y], \
                    [0, z]

    gg, hh, ii = [x1, 0, 0, x1, x1, x1], \
                 [y1, y1, 0, 0, y1, y1], \
                 [z1, z1, z1, z1, z1, 0]
    gg1, hh1, ii1 = [0, x1, x1, 0, 0, 0], \
                    [0, 0, y1, y1, 0, 0], \
                    [0, 0, 0, 0, 0, z1]
    gg2, hh2, ii2 = [x1, x1], \
                    [0, 0], \
                    [0, z1]
    gg3, hh3, ii3 = [0, 0], \
                    [y1, y1], \
                    [0, z1]

    ax = plt.axes(projection='3d')  # 創(chuàng)建一個(gè)三維的繪圖工程
    ax.scatter3D(a, b, c, c='r')  # 繪制數(shù)據(jù)點(diǎn) c: 'r'紅色,'y'黃色,等顏色
    ax.text(x, y, z, (x, y, z), c='r')  # 顯示點(diǎn)坐標(biāo)
    ax.text(x1, y1, z1, (x1, y1, z1), c='r')
    ax.plot3D(d, e, f, c='b')
    ax.plot3D(dd, ee, ff, c='b', linestyle='--')
    ax.plot3D(dd1, ee1, ff1, c='b', linestyle='--')
    ax.plot3D(dd2, ee2, ff2, c='b', linestyle='--')
    ax.plot3D(dd3, ee3, ff3, c='b', linestyle='--')
    ax.plot3D(g, h, i, c='y')
    ax.plot3D(gg, hh, ii, c='y', linestyle='--')
    ax.plot3D(gg1, hh1, ii1, c='y', linestyle='--')
    ax.plot3D(gg2, hh2, ii2, c='y', linestyle='--')
    ax.plot3D(gg3, hh3, ii3, c='y', linestyle='--')

    ax.set_xlabel('X')  # 設(shè)置x坐標(biāo)軸
    ax.set_ylabel('Y')  # 設(shè)置y坐標(biāo)軸
    ax.set_zlabel('Z')  # 設(shè)置z坐標(biāo)軸
    ax.grid(False)  # 關(guān)閉網(wǎng)格

    plt.show()


if __name__ == '__main__':
    x, y, z = 0, 0, 6
    x1, y1, z1 = rotate_X(x, y, z, 6)
    x2, y2, z2 = rotate_Y(x1, y1, z1, 45)
    print(x2, y2, z2)
    plot_3D(x, y, z, x2, y2, z2)

C++代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-645235.html

#include<iostream>
#include <iomanip>
#include<math.h>
#define PAI acos(-1)

using namespace std;
void  rotate_Z(double x, double y, double z, double theta);
void  rotate_Y(double x, double y, double z, double theta);
void  rotate_X(double x, double y, double z, double theta);

 
int main() 
{
	double x = 0;
	double y = 0;
	double z = 6;
	rotate_Z(x,y,z,45);
	return 0;
}

void  rotate_Z(double x, double y, double z, double theta)
{
	double theta_r = theta * (PAI/180);
	double x_r = cos(theta_r) * x - sin(theta_r) * y;
	double y_r = sin(theta_r) * x + sin(theta_r) * y;
	double z_r = z;
	
	cout.setf(ios::fixed);
	cout << "X:" << setprecision(4) << x_r << endl;
	cout << "Y:" << setprecision(4) << y_r << endl;
	cout << "Z:" << setprecision(4) << z_r << endl;
 } 
 
void  rotate_Y(double x, double y, double z, double theta)
{
	double theta_r = theta * (PAI/180);
	double x_r = cos(theta_r) * x + sin(theta_r) * z;
	double y_r = y;
	double z_r = -sin(theta_r) * x + cos(theta_r) * z;
	
	cout.setf(ios::fixed);
	cout << "X:" << setprecision(4) << x_r << endl;
	cout << "Y:" << setprecision(4) << y_r << endl;
	cout << "Z:" << setprecision(4) << z_r << endl;
 } 
 
void  rotate_X(double x, double y, double z, double theta)
{
	double theta_r = theta * (PAI/180);
	double x_r = x;
	double y_r = cos(theta_r) * y - sin(theta_r) * z;
	double z_r = sin(theta_r) * y + cos(theta_r) * z;
	
	cout.setf(ios::fixed);
	cout << "X:" << setprecision(4) << x_r << endl;
	cout << "Y:" << setprecision(4) << y_r << endl;
	cout << "Z:" << setprecision(4) << z_r << endl;
 } 

到了這里,關(guān)于空間坐標(biāo)變換(Python&C++實(shí)現(xiàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 空間坐標(biāo)(系)如何進(jìn)行變換?

    空間坐標(biāo)(系)如何進(jìn)行變換?

    ??要描述某一物體在現(xiàn)實(shí)場(chǎng)景的位置,通常以三維空間坐標(biāo)系下的坐標(biāo)進(jìn)行說明,當(dāng)物體位置或自身進(jìn)行變化時(shí),可以用放射變換說明物體的變化情況。仿射變換中的基本變換包括平移、旋轉(zhuǎn)、縮放、剪切。本文研究的物體為剛體,涉及的變換為平移和旋轉(zhuǎn),下文將以平移

    2024年02月06日
    瀏覽(17)
  • 【線性代數(shù)-3Blue1Brown】- 5 三維空間的線性變換

    【線性代數(shù)-3Blue1Brown】- 5 三維空間的線性變換

    飛書原文檔:Docs ?

    2024年02月11日
    瀏覽(28)
  • 【Python&RS】遙感影像的像素坐標(biāo)轉(zhuǎn)地理坐標(biāo)(仿射變換)

    【Python&RS】遙感影像的像素坐標(biāo)轉(zhuǎn)地理坐標(biāo)(仿射變換)

    ? ????????GDAL(Geospatial Data Abstraction Library)是一個(gè)在X/MIT許可協(xié)議下的開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫。它利用抽象數(shù)據(jù)模型來表達(dá)所支持的各種文件格式。它還有一系列命令行工具來進(jìn)行數(shù)據(jù)轉(zhuǎn)換和處理。 ? ? ? ? Python的GDAL庫作為柵格數(shù)據(jù)的處理轉(zhuǎn)換庫,其支持幾百種柵格數(shù)

    2024年02月08日
    瀏覽(17)
  • 向量空間中的基底和基變換以及坐標(biāo)變換

    向量空間中的基底和基變換以及坐標(biāo)變換

    基底的每一個(gè)成員稱作是基向量, n 維空間中的基底由 n 個(gè)基向量構(gòu)成,這些基向量需要滿足線性無關(guān)的條件,這樣的話n 維空間中的任何向量 v都能表示成n個(gè)基向量的線性組合且表示方式是唯一的。 參考鏈接 :https://zhuanlan.zhihu.com/p/247915130 基變換就是把一組基變到另一組基

    2024年02月16日
    瀏覽(21)
  • 線性代數(shù)的學(xué)習(xí)和整理17:向量空間的基,自然基,基變換等(未完成)

    線性代數(shù)的學(xué)習(xí)和整理17:向量空間的基,自然基,基變換等(未完成)

    目錄 1 從顏色說起 1.1 用簡單的枚舉 → 一一映射到某種顏色 1.1.1? 自然語言里的顏色對(duì)應(yīng) 1.1.2 舉個(gè)例子:VB里的colorindex 1.1.3 接下來的關(guān)鍵問題就是:如何對(duì)應(yīng)更多的顏色,無限窮舉么? 1.2 升級(jí)版的顏色映射思路:RGB顏色 1.2.1 RGB顏色大家都明白原理 1.2.2?表達(dá)方式1:用一個(gè)

    2024年02月10日
    瀏覽(49)
  • Unity Shader 開發(fā)入門3 —— 坐標(biāo)空間變換

    Unity Shader 開發(fā)入門3 —— 坐標(biāo)空間變換

    ? 在 Shader 開發(fā)中存在不同的坐標(biāo)空間,包括: 模型空間。 世界空間。 觀察空間。 裁剪空間。 屏幕空間。 ? 在渲染管線中,需要將坐標(biāo)數(shù)據(jù)在這些空間中進(jìn)行變換計(jì)算。 ? 在設(shè)計(jì)模型時(shí),使用模型空間。模型導(dǎo)入 Unity 后,最終顯示在屏幕上,依次經(jīng)歷了如下空間的坐標(biāo)

    2024年01月16日
    瀏覽(19)
  • 齊次坐標(biāo)變換的理解以及在無人機(jī)相機(jī)定位坐標(biāo)系轉(zhuǎn)換中的應(yīng)用

    齊次坐標(biāo)變換的理解以及在無人機(jī)相機(jī)定位坐標(biāo)系轉(zhuǎn)換中的應(yīng)用

    4*4矩陣的右邊三個(gè)數(shù)表示平移,如果原來的向量u的w=0,那么就是u+(ai+bj+ck) 對(duì)應(yīng)xyz三個(gè)軸的循環(huán)變換,注意負(fù)號(hào)的位置 用描述空間一點(diǎn)的變換方法來描述物體在空間的位置和方向。 先變換的矩陣乘在右邊。 A p = B p + A p B o {}^{A}p={}^{B}p+{}^{A}p_{B_{o}} A p = B p + A p B o ? ? 從

    2024年04月15日
    瀏覽(23)
  • CCF-CSP真題《202309-1 坐標(biāo)變換(其一)》思路+python,c++,java滿分題解

    CCF-CSP真題《202309-1 坐標(biāo)變換(其一)》思路+python,c++,java滿分題解

    想查看其他題的真題及題解的同學(xué)可以前往查看:CCF-CSP真題附題解大全 試題編號(hào): 202309-1 試題名稱: 坐標(biāo)變換(其一) 時(shí)間限制: 1.0s 內(nèi)存限制: 512.0MB 問題描述: 對(duì)于平面直角坐標(biāo)系上的坐標(biāo)?(x,y),小 P 定義了一個(gè)包含?n?個(gè)操作的序列?T=(t1,t2,?,tn)。其中每個(gè)操作?

    2024年02月08日
    瀏覽(91)
  • 坐標(biāo)轉(zhuǎn)換-使用geotools讀取和轉(zhuǎn)換地理空間表的坐標(biāo)系(sqlserver、postgresql)

    坐標(biāo)轉(zhuǎn)換-使用geotools讀取和轉(zhuǎn)換地理空間表的坐標(biāo)系(sqlserver、postgresql)

    業(yè)務(wù)上通過GIS軟件將空間數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫時(shí),因?yàn)椴煌臄?shù)據(jù)來源和軟件設(shè)置,可能導(dǎo)入到數(shù)據(jù)庫的空間表坐標(biāo)系是各種各樣的。 如果要把數(shù)據(jù)庫空間表發(fā)布到geoserver并且統(tǒng)一坐標(biāo)系,只是在geoserver單純的設(shè)置坐標(biāo)系只是改了定義并沒有實(shí)際執(zhí)行坐標(biāo)轉(zhuǎn)換,所以需要在數(shù)據(jù)

    2024年02月14日
    瀏覽(26)
  • 坐標(biāo)變換基礎(chǔ)-歐拉角&固定角與位姿矩陣的相互轉(zhuǎn)換

    坐標(biāo)變換基礎(chǔ)-歐拉角&固定角與位姿矩陣的相互轉(zhuǎn)換

    空間中一個(gè)坐標(biāo)系相對(duì)于另一個(gè)坐標(biāo)系的變換關(guān)系用新坐標(biāo)系的三個(gè)坐標(biāo)軸相對(duì)于原坐標(biāo)系的方向矢量來確定,可用 矩陣來描述。用齊次矩陣(4x4)來統(tǒng)一描述剛體的位置和姿態(tài): 其中,R便是描述姿態(tài)的旋轉(zhuǎn)矩陣。 和沿著三個(gè)坐標(biāo)軸的平移運(yùn)動(dòng)不一樣,旋轉(zhuǎn)矩陣顯得很不直

    2024年02月04日
    瀏覽(12)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包