Objective c 如何使用;SCInvector4Make()“;?

Objective c 如何使用;SCInvector4Make()“;?,objective-c,swift,xcode,animation,scenekit,Objective C,Swift,Xcode,Animation,Scenekit,我有一个简短的问题。我不知道我必须在这个函数中输入哪些值,我在互联网上也找不到任何有价值的例子 这是我的职责: 我已经设置了一个节点和其他一切 node.rotation = SCNVector4Make(x,y,z,w); 当我想以45度的角度旋转对象时,x、y、z和w的值是什么?从SCNNode参考: 四分量旋转向量指定前三个分量的旋转轴方向和第四个分量的旋转角度(弧度) 从SCNNode参考中: 四分量旋转向量指定前三个分量的旋转轴方向和第四个分量的旋转角度(弧度) 第一个值表示“x”

我有一个简短的问题。我不知道我必须在这个函数中输入哪些值,我在互联网上也找不到任何有价值的例子

这是我的职责:

我已经设置了一个节点和其他一切

node.rotation = SCNVector4Make(x,y,z,w);

当我想以
45度的角度旋转对象时,
x
y
z
w
的值是什么?

从SCNNode参考:

四分量旋转向量指定前三个分量的旋转轴方向和第四个分量的旋转角度(弧度)


从SCNNode参考中:

四分量旋转向量指定前三个分量的旋转轴方向和第四个分量的旋转角度(弧度)

第一个值表示“x” SCInvector4Make(1,0,0,0)

第二个是“Y” SCInvector4Make(0,1,0,0)

第三个是“Z” SCInvector4Make(0,0,1,0)

第四个“W”是以弧度表示的旋转。在“x”轴上旋转对象45度。看起来是这样的

SCInvector4Make(1,0,0,M_PI/4)

M_PI等于180度

第一个值表示“x” SCInvector4Make(1,0,0,0)

第二个是“Y” SCInvector4Make(0,1,0,0)

第三个是“Z” SCInvector4Make(0,0,1,0)

第四个“W”是以弧度表示的旋转。在“x”轴上旋转对象45度。看起来是这样的

SCInvector4Make(1,0,0,M_PI/4)


M_PI等于180度

在Swift 4.2中,您可以在
SCInvector4Make(x,y,z,w)
中使用以下值进行45度旋转:

X轴

node.rotation = SCNVector4Make(1, 0, 0, .pi/4)
node.rotation = SCNVector4Make(0, 1, 0, .pi/4)
node.rotation = SCNVector4Make(0, 0, 1, .pi/4)
Y轴

node.rotation = SCNVector4Make(1, 0, 0, .pi/4)
node.rotation = SCNVector4Make(0, 1, 0, .pi/4)
node.rotation = SCNVector4Make(0, 0, 1, .pi/4)
Z轴

node.rotation = SCNVector4Make(1, 0, 0, .pi/4)
node.rotation = SCNVector4Make(0, 1, 0, .pi/4)
node.rotation = SCNVector4Make(0, 0, 1, .pi/4)
请记住,
w
参数必须以弧度为单位

因此
3.14159/4=0.78539
弧度


(或
180/4=45
度)。

在Swift 4.2中,您可以在
SCInvector4Make(x,y,z,w)
中使用以下值进行45度旋转:

X轴

node.rotation = SCNVector4Make(1, 0, 0, .pi/4)
node.rotation = SCNVector4Make(0, 1, 0, .pi/4)
node.rotation = SCNVector4Make(0, 0, 1, .pi/4)
Y轴

node.rotation = SCNVector4Make(1, 0, 0, .pi/4)
node.rotation = SCNVector4Make(0, 1, 0, .pi/4)
node.rotation = SCNVector4Make(0, 0, 1, .pi/4)
Z轴

node.rotation = SCNVector4Make(1, 0, 0, .pi/4)
node.rotation = SCNVector4Make(0, 1, 0, .pi/4)
node.rotation = SCNVector4Make(0, 0, 1, .pi/4)
请记住,
w
参数必须以弧度为单位

因此
3.14159/4=0.78539
弧度


(或
180/4=45
度)。

谢谢!但我总是读参考书。如何获取旋转轴的三个组件?我不知道如何从我的信息中得到这4个数字——我想把我的物体旋转45度。有无数种方法可以将物体旋转45度。您必须决定要沿哪个轴旋转。我可以是X轴(1,0,0)、Y轴(0,1,0)、Z轴(0,0,1)或任何其他任意轴。OK。我想我理解这个函数在做什么。可能是错误的函数。我得再试试。看来我的问题没有简单的解决办法。谢谢!但我总是读参考书。如何获取旋转轴的三个组件?我不知道如何从我的信息中得到这4个数字——我想把我的物体旋转45度。有无数种方法可以将物体旋转45度。您必须决定要沿哪个轴旋转。我可以是X轴(1,0,0)、Y轴(0,1,0)、Z轴(0,0,1)或任何其他任意轴。OK。我想我理解这个函数在做什么。可能是错误的函数。我得再试试。我的问题似乎没有简单的解决办法。