【问题标题】:How to orthogonalize a non-orthogonal matrix using HLSL?如何使用 HLSL 正交化非正交矩阵?
【发布时间】:2013-01-10 22:30:30
【问题描述】:

我只是想知道这是否可以在 ps 着色器中完成。我有一个非正交矩阵,需要对其进行正交化并使用逆转置结果。我转向 matlab 寻求帮助,只找到了他们的说明着色器的复杂性。它可能会影响性能。那么有没有解决方案呢?感谢您的任何回复:)

【问题讨论】:

  • 你的矩阵大小是多少?

标签: math matrix hlsl ps orthogonal


【解决方案1】:

在一般情况下,对于任意矩阵来说,这可能是一项相当复杂的任务,但对于稍微失去正交性的 3x3 矩阵,您可以使用 Gram-Schmidt process 正交化矩阵的前两个轴,并通过叉积推导出第三个轴:

Xx Xy Xz
Yx Yy Yz
Zx Zy Zz

X' = X/|X|
Y' = Y"/|Y"|, Y" = Y - X'*dot(X',Y)
Z' = cross(X',Y')  

【讨论】:

    猜你喜欢
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    相关资源
    最近更新 更多