#NEWLINE# def distance( self , o ) : #NEWLINE# #INDENT# '\n        Finds the shortest distance between a line and a point.\n\n        Raises\n        ======\n\n        NotImplementedError is raised if o is not an instance of Point3D\n\n        Examples\n        ========\n\n        >>> from sympy import Point3D, Line3D\n        >>> p1, p2 = Point3D(0, 0, 0), Point3D(1, 1, 1)\n        >>> s = Line3D(p1, p2)\n        >>> s.distance(Point3D(-1, 1, 1))\n        2*sqrt(6)/3\n        >>> s.distance((-1, 1, 1))\n        2*sqrt(6)/3\n        ' #NEWLINE# if ( not isinstance ( o , Point3D ) ) : #NEWLINE# #INDENT# if is_sequence ( o ) : #NEWLINE# #INDENT# o = Point3D ( a ) #NEWLINE# #UNINDENT# #UNINDENT# if ( o in self ) : #NEWLINE# #INDENT# return S . Zero #NEWLINE# #UNINDENT# a = self . perpendicular_segment ( o ) . length #NEWLINE# return a