2012-11-13 7 views
1

나는 증강 현실 rubik의 큐브 해결 프로젝트를 진행 중입니다. 사용자는 rubiks 큐브를 해결하기위한 힌트를 수집하기 위해 스마트 폰 응용 프로그램을 사용할 수 있기를 원합니다.Rubik의 큐브 스캐닝 알고리즘

이렇게하려면 스마트 폰 메모리에서 큐브를 다시 만들어야합니다. 우리는 루빅의 큐브를 다시 만들 수있는 스캐닝 알고리즘을 찾을 수 없었습니다.

루빅 큐브 스캔 알고리즘을 알고있는 사람이 있습니까? 아니면이 알고리즘이 수학적으로 가능할 수 있는지 언급 할 수 있습니까?

+2

한 얼굴 상태에서 큐브의 전체 상태를 결론 지을 수 있는지 묻는 중입니까? 아니, 할 수 없다. – avishayp

+0

Avip의 정의가 정확합니다. 전체 주를 정의하는 데 필요한면의 수는 얼마입니까? – Wouter

답변

2

거기에 아무리해도 너는 한쪽 면만 스캔 한 후에 입방체의 위치를 ​​추론 할 수 있습니다. 대부분의 솔버가 6면 모두를 스캔하지만, 5 면만 스캔해도 문제가 없지만 실제로는 의심 스럽습니다.

즉, 큐브가 완전히 풀렸다는 것을 증명하기 위해 스캔을 5 번만하면됩니다. 임의의 큐브 위치에 대해 전체 상태를 다시 만들 수있는 충분한 정보를 5 스캔 만 제공하는지 확실하지 않습니다.

+0

"방법 없음"은 쉽게 증명할 수 있습니다. 단일 큐브 쪽을 스캔하십시오. 이제 측면을 90도 반대 방향으로 돌리십시오. 동일한 큐브면을 다시 스캔하면 동일합니다. "5면 충분하다"에 관해서는 정확한 큐브 렛이 정확한 큐브 렛이 아닌 유일한 큐브 렛이지만, 방향이 틀리면 모퉁이의 상태와 사이드 큐브 렛을 재현 할 수 있습니다 (전체 정보 모퉁이에는 4 점을 완전히 알고 나머지 4 점은 모두 한쪽으로 치우므로 사이드 큐브 레트를 선택할 수 있지만 전체 정보가 있는지 여부는 알 수 있습니다. – Vatine

0

스캔 한 사진 내에서 모든 가장자리를 잡아 내기 위해 이것을 검사 할 수 있습니다.

http://www.codeproject.com/Articles/93642/Canny-Edge-Detection-in-C

은 허프 변환 행렬을 이용하여 해결되는 문제이다.

반면에 각 필드의 색상을 감지하려면 두 이미지를 비교해야합니다.