gpt4 book ai didi

javascript - 如何用mat4转换vec3?

转载 作者:行者123 更新时间:2023-11-28 08:11:17 25 4
gpt4 key购买 nike

我正在将一些代码翻译成 javascript。我正在尝试复制

的功能
 D3DXVECTOR3* D3DXVec3TransformCoord(
__inout D3DXVECTOR3 *pOut,
__in const D3DXVECTOR3 *pV,
__in const D3DXMATRIX *pM
);

这会将 Mat4 转换应用于 Vec3(这将导致无效的 mat4)。如何将 4d 矩阵投影到 3d 矩阵并执行操作?你会按什么顺序做数学?我们可以假设 W=1,如下文所示:

DirectX Math function confusion

最佳答案

documentation对于此函数,表示“通过给定矩阵转换 3D vector ,将结果投影回 w = 1”。

换句话说,该函数将 vector [x,y,z] 扩展为 [x,y,z,1],然后执行乘法, chop 运算后的结果为三个元素。

编辑:根据 this thread运算为xA,即与左边的行 vector 相乘,等价于齐次变换:xM(0) + yM(1) + zM(2) + M( 3),其中 M(i) 是矩阵的第 i 列。

关于javascript - 如何用mat4转换vec3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996799/

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