code: func (p *Path) IntersectsPath(path *Path) bool {
  	// TODO: done some sort of line sweep here if p.Length() is big enough
  	for i := 0; i < len(p.PointSet)-1; i++ {
  		pLine := NewLine(&p.PointSet[i], &p.PointSet[i+1])
  
  		for j := 0; j < len(path.PointSet)-1; j++ {
  			pathLine := NewLine(&path.PointSet[j], &path.PointSet[j+1])
  
  			if pLine.Intersects(pathLine) {
  				return true
  			}
  		}
  	}
  
  	return false
  }
docs: // IntersectsPath takes a Path and checks if it intersects with the path.