If you look at your method you made, you're really not being descriptive with the method itself. You are correct, using "and" is never good, using "and" as a parameter description is horrible. Think of it this way, if you don't have the input parameters named, how can you (or someone else) tell what it is (i.e., inline in code)?
For example:
- (float) angleBetweenThisAnd: byAxis: and:
in use:
[currentThing angleBetweenThisAnd:myVec byAxis:b and:K];
What is "this" in the first input parameter? What should I pass to "and"??? What is an "and" value supposed to be? Maybe you're the only one using your code, but time will come you haven't looked at it and forget how it works.
Think about putting a descriptive word in the method name. By having the method names with descriptive text, anyone else can read it, especially when you call it in code, since the values won't have their types or default names. I would rewrite your method as such:
-(float)angleBetweenVector2:(NDVector *)vector2 withAxis1:(NSUInteger)axis1 withAxis2:(NSUInteger)axis2;