/// <summary> /// 围绕某点旋转, 角度的单位为弧度 /// </summary> /// <returns>The around.</returns> /// <param name="point">Point.</param> /// <param name="axis">Axis.</param> /// <param name="angle">Angle.</param> static public Vector3 RotateAround(this Vector3 position, Vector3 point, Vector3 axis, float angle) { Vector3 vector = position; Quaternion rotation = VectorMath.AngleAxis(angle, axis); Vector3 vector2 = vector - point; vector2 = rotation * vector2; vector = point + vector2; position = vector; return(position); }