【问题标题】:3D skew transformation matrix along one coordinate axis沿一个坐标轴的 3D 倾斜变换矩阵
【发布时间】:2012-11-03 05:20:49
【问题描述】:

有没有一种方法可以计算沿一个坐标轴的倾斜变换矩阵,给定倾斜角度,如下

【问题讨论】:

    标签: matrix angle skew


    【解决方案1】:

    这应该在很大程度上适用于使用变换矩阵倾斜对象,特别是使用 glMultMatrix(matrix)

    matrix1[] = {
    1,  0,  0,  0,
    tan(a), 1,  0,  0,
    0,  0,  1,  0,
    0,  0,  0,  1
    };
    
    matrix2[] = {
        1,  0,  0,  0,
        0,  1,  0,  0,
        tan(a), 0,  1,  0,
        0,  0,  0,  1
    };
    
    matrix3[] = {
        1,  tan(a), 0,  0,
        0,  1,  0,  0,
        0,  0,  1,  0,
        0,  0,  0,  1
    };
    
    matrix4[] = {
        1,  0,  0,  0,
        0,  1,  0,  0,
        0,  tan(a), 1,  0,
        0,  0,  0,  1
    };
    
    matrix5[] = {
        1,  0,  tan(a), 0,
        0,  1,  0,  0,
        0,  0,  1,  0,
        0,  0,  0,  1
    };
    
    matrix6[] = {
        1,  0,  0,  0,
        0,  1,  tan(a), 0,
        0,  0,  1,  0,
        0,  0,  0,  1
    };
    

    【讨论】:

    • 细节:1) 沿 x 倾斜,相对于 y 轴,2) 沿 x 倾斜,相对于 z 轴,3) 沿 y 倾斜,相对于 x 轴,4) 沿倾斜y,相对于 z 轴,5) 沿 z 倾斜,相对于 x 轴,6) 沿 z 相对于 y 轴倾斜。您可以看到这也是矩阵中tan(a) 的位置,例如 1) 当您将向量与矩阵相乘时,结果的 y 分量受tan(a) 的影响——受向量的 x 分量的数量。另一种思考方式是,随着 x 越大,y 结果的偏差越大。
    猜你喜欢
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 2012-02-08
    相关资源
    最近更新 更多