这更像是一个线性代数问题,但假设我有一个SCNVector,并且我想要一个新的SCNVector,该向量围绕y轴(或任何轴)以一定角度与原始向量成角,Ideally:
extension SCNVector3 {
// assume dot, cross, length, +, - functions are available.
enum Axis {
case x, y, z
}
func rotatedVector(aroundAxis: Axis, angle: Float) -> SCNVector3 {
// code from smart person goes here
}
}
例如:(0,0,-1).rotatedVector(aroundAxis:y,angle:pi / 2)=(1,0,0)
谢谢!