2014-11-10 2 views
1

나는 3 차원 공간에서 원에 대한 가능한 모든 좌표를 얻으려고 노력해 왔습니다. [x1, y1, z1] 및 [x2, y2, z2]로 주어진 2 점 값과 각 점으로부터의 거리가 r1과 r2 인 경우 어떻게 경로를 얻을 수 있습니까? 점과 거리 만 주어진 경우 3D 공간에서 원 경로를 얻는 방법은 무엇입니까?

enter image description here

나는 어떻게 3D 공간에서 원을 얻는 아무 생각이없는 radius.But 주어진 3 차원 공간에서 구에 대한 모든 가능한 값을 얻을 수
int radius =100; 
    for(int x= -radius; x<=radius; x++){ 
     int sliceDistance = (int) Math.round(Math.sqrt(Math.pow(radius, 2) - Math.pow(x, 2))); 
     for(int y= -sliceDistance; y<=sliceDistance; y++){ 
      int z = (int)Math.round(Math.sqrt(Math.pow(radius,2)-Math.pow(y,2)-Math.pow(x,2))); 
      System.out.println(""+x+":"+y+":"+z); 
      if(z!=0){ 
       System.out.println(""+x+":"+y+":"+(-z)); 
      } 
     } 
    } 

을 사용했다.

+2

가'Z == 0 '원을 이동하는 변환을 적용합니다. 간단한 삼각법은'r1'이 빗변 인 삼각형을 풀 수있게 해주고, 원의 방정식은 빠져 나옵니다. 모든 것을 원래 좌표로 다시 변환하십시오. –

답변

1

이 원은 두 구의
방정식을 만족하는 모든 3D 점 (0, 1, z)의 집합 S입니다. 2 구체의 방정식 알려져 있습니다

(x-x1)^2 + (y-y1)^2 + (z-z1)^2 = r1^2
(x-x2)^2 + (y-y2)^2 + (z-z2)^2 = r2^2

그래서 어떻게 든이 방정식이 시스템을 "해결"해야
어떻게 든 모든 (x, y, z)를 찾을 즉 두 방정식을 만족 .

Google은 "두 개의 구의 교차점"으로 시작합니다.

이 아주 좋아 보인다 : http://mathforum.org/library/drmath/view/64311.html

+0

안내 주셔서 감사합니다. 그걸 살펴볼 것입니다. – SysClaude

관련 문제