gpt4 book ai didi

math - 给定一个轴的向量,如何找到其他两个轴的向量?

转载 作者:行者123 更新时间:2023-12-04 09:33:40 27 4
gpt4 key购买 nike

这是一个数学问题,我不确定该怎么做。向量未与轴对齐,因此仅绕x,y或z旋转90度并不一定会给我其他轴。

最佳答案

我可以想到您可能要问的几种不同情况。

给定:预先存在的坐标系

  • 在2D系统中,您的轴/基础始终是[1,0][0,1]-x和y轴。
  • 在3D系统中,您的轴/基准始终是[1,0,0][0,1,0][0,0,1]-x,y和z。


  • 给定: 任意基2D坐标系中的一个轴

    如果一个轴位于任意基础的2D坐标系中,则另一个轴为正交向量。

    要逆时针正交旋转 :
    [x_new, y_new] = [ -y_old, x_old]

    正交旋转矢量 顺时针:
    [x_new, y_new] = [ y_old, -x_old]

    总结一下:
    Given: x-axis = [ a,  b]
    Then: y-axis = [-b, a]

    Given: y-axis = [ c, d]
    Then: x-axis = [ d, -c]

    给定: 任意基本3D坐标系中的两个轴

    为此,找到叉积。
    [a,b,c] x [d,e,f] = [ b*f - c*e, c*d - a*f, a*e - b*d ]

    遵循以下三个准则:
  • (x轴)x(y轴)=(z轴)
  • (y轴)x(z轴)=(x轴)
  • (z轴)x(x轴)=(y轴)


  • 给定: 任意基3D坐标系中的一个轴

    没有足够的信息来找到解决此问题的唯一方法。这是因为,如果查看第二种情况(任意基2D坐标系中的一个轴),则首先需要找到正交向量。但是,在3D空间中,单个轴有无限数量的可能正交向量!

    但是,您可以找到一种可能的解决方案。

    通过找到任何矢量 [d,e,f]来找到这些正交矢量中任意一个的一种方法,其中:
    [a,b,c] = original axis
    [d,e,f] = arbitrary orthogonal axis (cannot be [0,0,0])

    a*d + b*e + c*f = 0

    例如,如果您的原始轴为 [2,3,4],则可以解决:
    2 * d + 3 * e + 4 * f = 0

    也就是说,满足此条件的 [d,e,f]的任何值都是令人满意的正交向量(只要它不是 [0,0,0]即可)。例如,可以选择 [3,-2,0]:
    2 * 3 + 3 *-2 + 4 * 0 = 0
    6 + -6 + 0 = 0

    如您所见,一个有效的“公式”是 [d,e,f] = [b,-a,0] ...,但是还有许多其他公式也可以起作用。实际上,是无限的!

    找到两个轴 [a,b,c][d,e,f]后,您可以将 [a,b,c][d,e,f]用作x和y轴(或针对您的特定问题而需要的任何轴),将其减少到以前的情况(情况3)。

    归一化

    请注意,随着您不断进行点积和叉积,向量将开始变得越来越大。取决于您想要什么,这可能是不希望的。例如,您可能希望基向量(坐标轴)都具有相同的大小/长度。

    要将任何矢量( [0,0,0]除外)转换为 单位矢量(长度为1的矢量,与原始矢量的方向相同):
    r  = [a,b,c]   
    v = Sqrt(a^2 + b^2 + c^2) <-- this is the length of the original vector
    r' = [ a/v , b/v , c/v ]

    其中 r'代表 r的单位向量-长度为1的向量,其指向与 r相同的方向。一个例子:
    r  = [1,2,3]
    v = Sqrt(1^2 + 2^2 + 3^2) = Sqrt(13) = 3.60555 <-- this is the length of the original vector
    r' = [0.27735, 0.55470, 0.83205]

    现在,例如,如果我想要一个与 r相同方向且长度为5的向量,我只需将 r' * 5乘以 [a' * 5, b' * 5, c' * 5]即可。

    关于math - 给定一个轴的向量,如何找到其他两个轴的向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3049509/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com