2014-09-28 3 views
-3

약간의 도움이 필요합니다. 저는 기본적으로 세계의 두 좌표 사이의 블록 수를 계산하고 싶지만, 여러분이 볼 수있는 것처럼 수학에 너무 좋지는 않습니다. 그래서 해결책이 있다면 저에게 써주세요. 이것은 중요하므로 작성해 주시면 고맙겠습니다.2 좌표 사이에서 3 차 볼륨 계산

int x1 = 0, y1 = 0, z1 = 0, x2 = 0, y2 = 0, z2 = 0; 
x2 = x // pos x in the coord 
y2 = y // pos y in the coord 
z2 = z // pos z in the coord 
x1 = x; 
y1 = y; 
z1 = z; 
int a = Math.abs(Math.abs(x1)-(Math.abs(x2))); 
int b = Math.abs(Math.abs(y1)-(Math.abs(y2))); 
int c = Math.abs(Math.abs(z1)-(Math.abs(z2))); 
if(x2 != 0) 
int volume = a*b*c; 
+1

어떤 문제가 있습니까? 그 대답은 무엇을 기대합니까? (게시 한 코드에서 모든 좌표는 0이므로 대답은 0이어야합니다. 문제가있는 것이 아닌지 알려주십시오.) –

+0

이것은 볼륨 계산이 아닙니다. 당신은 두 점 사이의 벡터로부터 벗어나 그것을 어떤 종류의 볼륨 계산으로 튕겨 냈습니다. 이것은 옳지 않습니다. – duffymo

+0

벡터가 정육면체의 한쪽면 또는 반대편 모서리 사이의 선입니까? –

답변

1

a,b,c의 거리가 잘못되었습니다.

// int a = Math.abs(Math.abs(x1)-(Math.abs(x2))); 
int a = Math.abs(x1 - x2); 

물론 @Ted Hopp이 지적한대로 코드에는 0 이외의 흥미로운 값들이 많이 필요합니다.

int x1 = 0, y1 = 0, z1 = 0, x2 = 0, y2 = 0, z2 = 0;