gpt4 book ai didi

matrix - 我如何竞争将矩形转换为梯形所需的转换矩阵?

转载 作者:行者123 更新时间:2023-12-01 13:06:54 27 4
gpt4 key购买 nike

我正在玩弄 IE 中的 css 转换和等效过滤器,并希望通过将 2d 矩形转换为梯形来模拟透视。

具体来说,我希望矩形的右侧保持相同的高度,左侧保持高度的 80%,这样两边的中点水平对齐。

我熟悉矩阵代数,但想不出如何确定哪个矩阵可以做到这一点。

最佳答案

对于投影,我会使用 4x4 矩阵:

1    0    0    0
0 1 0 0
0 0 0 0
0 0 1/d 1

这适用于齐次坐标(在标准透视设置中,d 是眼睛与投影平面的距离)。

替代方案:

要避免使用齐次坐标(或者如果您不能使用 4x4 矩阵,或者如果您无论如何都不能使用硬件加速进行矩阵转换),只需使用以下命令:

x' = (d*x)/(z+d)
y' = (d*y)/(z+d)
z' = 0 (it's always projected onto the projection plane)

顺便说一句,这也基本上回答了您的梯形问题。只需将矩形正确地放置在 3D 空间中 - 不难弄清楚如何:想象一下右手边墙上的矩形画。然后降低你的眼点,使之与画的底部齐平。现在它将投影为您的梯形。

关于matrix - 我如何竞争将矩形转换为梯形所需的转换矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2484071/

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