code: def trace3D(self, join=True):
            # noqa: E501
          # When not ran from a notebook, vpython pooly closes itself
          # using os._exit once finished. We pack it into a Process
          import multiprocessing
          p = multiprocessing.Process(target=self.trace3D_notebook)
          p.start()
          if join:
              p.join()
docs: Give a 3D representation of the traceroute.
          right button: rotate the scene
          middle button: zoom
          shift-left button: move the scene
          left button on a ball: toggle IP displaying
          double-click button on a ball: scan ports 21,22,23,25,80 and 443 and display the result