我需要计算一个4x4矩阵(对于OpenGL),该矩阵可以将左侧的3d对象转换为右侧的3d对象。变换仅在一个轴上应用。
编辑:
输入是要变形的给定3d对象(点),是变形量的单个变量。
图片代表一个投影到平面上的立方体,仅显示相关变化。垂直于视平面的轴没有变化。
这两个对象的相对位置无关紧要,仅用于显示“前后”情况。
我不确定,但是尝试这个:
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是正确的。有无数个解决方案。