我正在尝试根据我的用户绘制的比例计算距离。
我的用户可以通过在网格上画一条线来捕捉游戏中的其他点。
网格是一个数值,他们可以选择 8、16、24 或 32。
用户可以通过选择整数 (1-10) 和分数(0、0.5、0.75 或 0.125)来更改比例。
用户可以选择以公制或经验单位显示距离。
更改比例后,我很难吐出距离。
谁能告诉我我的数学哪里出错了?
- (double) distanceFormula : (float) x1 : (float) y1 : (float) x2 : (float) y2 {
// 1 meter * 3.280839895 feet => feet
// 1 foot * 1 meter/3.280839895 feet => meter
/* Use Pythagora's theorem to calculate distance */
double dx = (x2-x1);
double dy = (y2-y1);
double dist = sqrt(dx*dx + dy*dy);
NSLog(@"Raw Distance %f", dist) ;
return dist;
}
- (NSString *) returnDistanceAsString : (double) distance {
NSString * string;
double d = distance / [self returnGridSize];
double scale = [self returnScaleWhole] + [self returnScaleSub];
if ([self returnUseMetric]) {
//METRIC
int tempCentim = (d * kCMConst) / 2;
if (tempCentim < 1) {
string = [NSString stringWithFormat:@"%d mm", tempCentim];
} else if (tempCentim > 1) {
string = [NSString stringWithFormat:@"%d mm", tempCentim];
} else if (tempCentim > 100) {
//eventually going to add cm mm
}
} else {
//EMPERICAL
int RL = d * scale;
int feet = RL / 12.0;
int inches = (int)RL % 12;
string = [NSString stringWithFormat:@"%i' %i\"", feet, inches];
}
return string;
}