A simple math problem is remapping a value in another context, like a percentage.
So look to this useful Objective-C method.
/** Returns value remapped in a new range.
@param oldVal Original float value to be remapped.
@param oldMaxVal Maximum value of the original range.
@param oldMinVal Minimum value of the original range.
@param newMaxVal Maximum value of the new range.
@param newMinVal Minimum value of the new range.
@return Returns the float value remapped in the new range.
*/
+ (CGFloat)value:(CGFloat)oldVal inRemappedRangeDefinedByOldMax:(CGFloat)oldMaxVal oldMin:(CGFloat)oldMinVal
newMax:(CGFloat)newMaxVal newMin:(CGFloat)newMinVal {
CGFloat realRange = oldMaxVal - oldMinVal;
CGFloat newRange = newMaxVal - newMinVal;
CGFloat newVal = (((oldVal - oldMinVal) * newRange) / realRange) + newMinVal;
return newVal;
}
Download the ready-for-use source file (.m) of Remap value in another range (eg: percentage or rate)
No comments:
Post a Comment