class_docstr: Represents a coordinate system in 3-D space.
class_docstr_tok: ["Represents","a","coordinate","system","in","3-D","space","."]
docstr: Axis rotation is a rotation about an arbitrary axis by
  some angle. The angle is supplied as a SymPy expr scalar, and
  the axis is supplied as a Vector.
  
  Parameters
  ==========
  
  name : string
      The name of the new coordinate system
  
  angle : Expr
      The angle by which the new system is to be rotated
  
  axis : Vector
      The axis around which the rotation has to be performed
  
  location : Vector(optional)
      The location of the new coordinate system's origin wrt this
      system's origin. If not specified, the origins are taken to
      be coincident.
  
  vector_names, variable_names : iterable(optional)
      Iterables of 3 strings each, with custom names for base
      vectors and base scalars of the new system respectively.
      Used for simple str printing.
  
  Examples
  ========
  
  >>> from sympy.vector import CoordSys3D
  >>> from sympy import symbols
  >>> q1 = symbols('q1')
  >>> N = CoordSys3D('N')
  >>> B = N.orient_new_axis('B', q1, N.i + 2 * N.j)
code: def orient_new_axis(
      self,
      name,
      angle,
      axis,
      location=None,
      vector_names=None,
      variable_names=None,
  ):
      """
      Axis rotation is a rotation about an arbitrary axis by
      some angle. The angle is supplied as a SymPy expr scalar, and
      the axis is supplied as a Vector.
  
      Parameters
      ==========
  
      name : string
          The name of the new coordinate system
  
      angle : Expr
          The angle by which the new system is to be rotated
  
      axis : Vector
          The axis around which the rotation has to be performed
  
      location : Vector(optional)
          The location of the new coordinate system's origin wrt this
          system's origin. If not specified, the origins are taken to
          be coincident.
  
      vector_names, variable_names : iterable(optional)
          Iterables of 3 strings each, with custom names for base
          vectors and base scalars of the new system respectively.
          Used for simple str printing.
  
      Examples
      ========
  
      >>> from sympy.vector import CoordSys3D
      >>> from sympy import symbols
      >>> q1 = symbols('q1')
      >>> N = CoordSys3D('N')
      >>> B = N.orient_new_axis('B', q1, N.i + 2 * N.j)
  
      """
      if variable_names is None:
          variable_names = self._variable_names
      if vector_names is None:
          vector_names = self._vector_names
  
      orienter = AxisOrienter(angle, axis)
      return self.orient_new(
          name,
          orienter,
          location=location,
          vector_names=vector_names,
          variable_names=variable_names,
      )
  
imports: from collections.abc import Callable
  from sympy.core.basic import Basic
  from sympy.core.cache import cacheit
  from sympy.core import S, Dummy, Lambda
  from sympy.core.symbol import Str
  from sympy.core.symbol import symbols
  from sympy.matrices.immutable import ImmutableDenseMatrix
  from sympy.matrices.matrixbase import MatrixBase
  from sympy.solvers import solve
  from sympy.vector.scalar import BaseScalar
  from sympy.core.containers import Tuple
  from sympy.core.function import diff
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.elementary.trigonometric import acos, atan2, cos, sin
  from sympy.matrices.dense import eye
  from sympy.matrices.immutable import ImmutableDenseMatrix
  from sympy.simplify.simplify import simplify
  from sympy.simplify.trigsimp import trigsimp
  import sympy.vector
  from sympy.vector.orienters import Orienter, AxisOrienter, BodyOrienter, SpaceOrienter, QuaternionOrienter
  from sympy.vector.vector import BaseVector
label_desc: Use image node_id 24 for calling the CoordSys3D obj's underlying member method code with example usage: obj.orient_new_axis(name, angle, axis, location, vector_names, variable_names) and returns: self