2014-10-10 1 views
4

n 차원 원환 체 표면에 임의의 점을 생성하고 싶습니다. I는 3-dimensional torus 표면의 포인트를 생성하는 방법에 대한 수식 발견 :n 차원 원환 체의 표면에 랜덤 점 생성

x = (c + a * cos(v)) * cos(u) 
y = (c + a * cos(v)) * sin(u) 
z = a * sin(v) 

U, V ∈ [0, 2 * PI)를; c, a> 0

내 질문은 지금 :이 수식을 n 차원으로 확장하는 방법입니다. 이 문제에 대한 도움을 많이 주시면 감사하겠습니다.

답변

1

이 작업을 재귀 적으로 수행 할 수 있다고 생각합니다. 벡터 공간의 완전한 정규직 기준으로 시작하여 현재 위치를 원점으로 만듭니다. 각 단계에서 첫 번째 두 좌표 벡터가 스팬 된 평면에서 점을 선택합니다. 즉 w1 = cos (t) * v1 + sin (t) * v2를 가져옵니다. 다른 기본 벡터, 즉 w2 = v3, w3 = v4, ...를 시프트하십시오. 또한 반지름 r1을 앞쪽으로 선택한 상태로 w1 방향으로 현재 위치에서 한 걸음 씩 나가십시오. 하나의 베이시스 벡터 만 남았을 때 현재 점은 가장 바깥 쪽 재귀 호출의 n 차원 토러스에있는 점입니다.

위의 내용은 임의로 점을 선택하는 데 사용될 수 있지만 점진적으로 선택하지는 않습니다. 그보다 더 어려운 질문이 될 수 있습니다. 구현에 대해 걱정하기 전에 수학의 정확성을 알아 보려면 정확히 Math SE 또는 Cross Validated (Statistics SE)에 대한 질문을해야합니다.

0

n-torus (n은 원환 체의 표면의 차원이기 때문에 베이글 또는 도넛은 3 원환 체가 아닌 2 원환 체임)은 n 직사각형의 부드러운 매핑입니다. 이 방법에 접근하는 한 가지 방법은 직사각형에 점을 생성 한 다음 토러스에 그 점을 매핑하는 것입니다. 직사각형을 토러스에 매핑하는 방법을 알아내는 문제 외에도 (나는 그것을 모르는 상태 임) 점의 분포가 균일하더라도 토러스상의 점의 분포가 일정하지 않은 문제가 있습니다 직사각형에 유니폼. 그러나 토러스에서 균일하게하기 위해 직사각형의 분포를 조정하는 방법이 있어야합니다.