我想在下图中剪切SCNPlane
,但是在Y轴上剪切。所以B和C向上移动而不是A和B向右移动。我知道有一个变换矩阵需要完成这个,所以我试图创建这个变换矩阵,如下面的代码片段。但是没有一种可能的选择能够提供理想的结果。此外,SCNPlane
围绕X轴旋转-90°。也许有人可以告诉我我做错了什么。
var transformMatrix = matrix_float4x4()
transformMatrix.columns.0 = [1.0, tan(60), 0.0, 0.0]
transformMatrix.columns.1 = [0.0, 1.0, 0.0, 0.0]
transformMatrix.columns.2 = [0.0, 0.0, 1.0, 0.0]
transformMatrix.columns.3 = [0.0, 0.0, 0.0, 1.0]
let newTransform = matrix_multiply(transformMatrix, simd_float4x4((transformPlane?.transform)!))
transformPlane?.simdTransform = newTransform
我从答案到this问题(编号3)得到了变换矩阵。