2010-06-18 9 views
0

n 큐브의 좌표를 생성하고 저장하는 함수를 쓰고 싶습니다. 시작하는 방법을 모릅니다. 특히,이 n 큐브에 대해 균일하게 또는 임의로 분산 된 점 구름에 대한 좌표를 생성하여 저장하고 싶습니다. 가능한 한 빨리 시작할 수있는 좋은 방법은 무엇입니까?C++ 생성 및 n 큐브의 좌표 저장

+0

그리고이 기능을 쓰고 싶은 동기가 무엇입니까? 혹시 숙제가 아닌가요? –

+0

문제에 대해 어떻게 이해합니까? 또한 어떤 제약 조건이 당신에게 부과 된 경우 어떤 제약 조건과 어떤 제약 조건을 단순히 선택할 수 있습니까? 예를 들어, 임의로 좌표계에 일을 나열하면 매우 쉽습니다. – dmckee

+0

이것이 숙제 인 경우 적절하게 태그를 지정하십시오. – Francesco

답변

2

이 문제에 대한 C++ 소스 코드를 제공하고 싶지는 않지만, 어떻게 생성 할 수 있는지 생각해보십시오.

하이퍼 큐브는 길이가 n 인 모든 비트 스트링을 포함합니다. 따라서 합계 좌표에는 2^n 가능성이 있습니다.

이제 당신이 반복적으로 그것을 할 수있는 방법 :

  • 당신이 0을, n=1에 대한 좌표를 생성하면 n>1에 대한 좌표를 생성 할 경우 단지 01

  • 을 반환 할 경우 이를 가능한 모든 좌표 n'=n-1에 연결하고 1을 취하여 모든 가능한 좌표로 연결하여 n'=n-1

+0

n 큐브의 축이 좌표계의 기준에 맞춰지면 수정하십시오. 데카르트 n 공간에서의 회전 허용은 좀 더 어렵습니다. Cartesian이 아닌 공간을 허용하는 것은 훨씬 더 복잡합니다. – dmckee

+0

감사합니다. 당신은 내 다른 질문에 너무 대답했다. 이것은 세대의 이런 종류가 차원 증가와 함께 지수 런타임을 필요로한다는 의견도 거기에 대답합니다. 수학 공부를 할 시간. 내가 뭔가 특별한 걸로 붙 잡히면 내가 돌아올거야. – Ben