Question? Besides landing you in jail, assaulting your coworker because he told you that you stink and laughed in your face, does what exactly? I'm sorry but violence in this case is inexcusable. Now if he put his hands on your person, he's the one quilty of assault. I don't know your situation, but you may have missed an opportunity for a teachable moment.
You could've said, "Yes, I'm fully aware that I smell bad and I'm sorry to have offended you. It's not by choice, but I have a medical condition that's responsible for my odor." There's no need for violence, unless you really want to go that route. Irrespective of what you're going through, choices have consequences...