Objective c 如何访问和初始化simd类型的组件?

Objective c 如何访问和初始化simd类型的组件?,objective-c,simd,Objective C,Simd,我有一些simd_float3和simd_float4x4类型的变量。 如何访问单个组件,例如float3的y组件 当我有一个由16个浮点组成的数组时,如何初始化浮点4x4?使用simd_matrix();例如: _transform = simd_matrix( (simd_float4){ sxc, -sxs, 0.0f, 0.0f }, (simd_float4){ sys, syc, 0.0f, 0.0f }, (simd_flo

我有一些simd_float3和simd_float4x4类型的变量。 如何访问单个组件,例如float3的y组件

当我有一个由16个浮点组成的数组时,如何初始化浮点4x4?

使用
simd_matrix();例如:

_transform = simd_matrix(
    (simd_float4){ sxc,     -sxs,   0.0f,   0.0f },
    (simd_float4){ sys,     syc,    0.0f,   0.0f },
    (simd_float4){ 0.0f,    0.0f,   1.0f,   0.0f },
    (simd_float4){ tx,      ty,     0.0f,   1.0f }
);
相关功能有
simd\u make\u float2(0.0f,0.0f)

您可以像访问数组一样访问元素
x
[0]
y
[1]
,等等

.

使用
simd_矩阵();例如:

_transform = simd_matrix(
    (simd_float4){ sxc,     -sxs,   0.0f,   0.0f },
    (simd_float4){ sys,     syc,    0.0f,   0.0f },
    (simd_float4){ 0.0f,    0.0f,   1.0f,   0.0f },
    (simd_float4){ tx,      ty,     0.0f,   1.0f }
);
相关功能有
simd\u make\u float2(0.0f,0.0f)

您可以像访问数组一样访问元素
x
[0]
y
[1]
,等等


.

我正在使用
simd\u make\u float3
来生成向量,但是我无法通过使用
.x
的点表示法来访问单个元素。我有一个编译器error@Raildex我对
.x
.y
等的理解是错误的。请改用数组元素语法(
[0]
等)。好的,看起来使用数组语法进行访问似乎是可行的。是否可以使用memcpy将我的16浮点数组转换为float4x4?@Raildex是的,为什么不可以。@Raildex请确保您了解行或列主矩阵表示法的工作原理。您最好一次构建一行矩阵(
simd\u matrix\u from\u rows()
)或一次构建一列矩阵(
simd\u matrix()
)。我已经在使用
simd\u make\u float3
来生成向量,但我无法使用带有
.x
的点表示法来访问单个元素。我有一个编译器error@Raildex我对
.x
.y
等的理解是错误的。请改用数组元素语法(
[0]
等)。好的,看起来使用数组语法进行访问似乎是可行的。是否可以使用memcpy将我的16浮点数组转换为float4x4?@Raildex是的,为什么不可以。@Raildex请确保您了解行或列主矩阵表示法的工作原理。您最好一次构建一行矩阵(
simd\u matrix\u from\u rows()
)或一次构建一列矩阵(
simd\u matrix()
)。