0
를 사용하여 흡입 계산 거리 제조법있다.내가 규모에 내 사용자를 기반으로 거리를 계산하려고 척도
내 사용자가 그리드에 선을 그려 게임의 다른 점에 스냅 할 수 있습니다.
격자들이 선택할 수있는 수치 인 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;
}
팁 :'sqrt (x *) 대신' '에서'hypot (x, y)'를 사용하십시오. x + y * y)'로 표시됩니다. –
@ H2CO3 Objective-C에 익숙하지 않습니다. sqrt (x * x + y * x) 대신에'hypot (x, y)'를 사용하면 어떤 점이 유리합니까? – andand
@andand 해독도 및 정밀도. (그리고 그것은 평범한 C입니다.) –