Text this: Improving non-uniform rational B-Splines knot removal with particle swarm optimization