如何计算线性渐减变换矩阵

问题描述 投票:0回答:1

我需要计算一个4x4矩阵(对于OpenGL),该矩阵可以将左侧的3d对象转换为右侧的3d对象。变换仅在一个轴上应用。

desired result

编辑:

输入是要变形的给定3d对象(点),是变形量的单个变量。

图片代表一个投影到平面上的立方体,仅显示相关变化。垂直于视平面的轴没有变化。

这两个对象的相对位置无关紧要,仅用于显示“前后”情况。

c++ opengl 3d
1个回答
0
投票

我不确定,但是尝试这个:

1 0 0 0
a b 0 0
0 0 1 0
0 0 0 1

a =(k-1)/ 2

b =(k +1)/ 2

k是渐缩系数。为了解释什么是[[k,让我们仅考虑立方体的投影,即正方形。如果正方形边缘的长度为l,则变换后右边缘的长度为l * k

在应用此矩阵之前,坐标系原点必须位于立方体的中心。

@ NicolBolas是正确的。有无数个解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.