소개
하이퍼 큐브 / 테 서랙 트는 일반 큐브의 4 차원에 해당합니다. 큐브 그물을 가져 와서 3 차원으로 확장 한 다음 4 차원을 사용하여 하이퍼 큐브로 접습니다. 기본적으로 큐브이며 각면이 큐브입니다.
하이퍼 큐브를 만들려면 16 개 4D 벡터 (AN와 벡터 필요로 x
하는 y
하는 z
과 w
구성 요소). 이 벡터는 다음과 같습니다.
A(0, 0, 0, 0); B(1, 0, 0, 0); C(1, 0, 1, 0); D(0, 0, 1, 0); E(0, 1, 0, 0); F(1, 1, 0, 0); G(1, 1, 1, 0); H(0, 1, 1, 0);
I(0, 0, 0, 1); J(1, 0, 0, 1); K(1, 0, 1, 1); L(0, 0, 1, 1); M(0, 1, 0, 1); N(1, 1, 0, 1); O(1, 1, 1, 1); P(0, 1, 1, 1);
하이퍼 큐브에는 24 개의 얼굴이 있습니다. 다음 목록에는 이들 모두가 포함됩니다 (모든 그룹은 쿼드를 표시 함).
ABFE, CDHG, BCGF, DAEH, DCBA, FEHG
IJNM, KLPO, JKON, LIMP, LKJI, PMNO
ABJI, DCKL, BCKJ, DAIL, FEMN, GHPO, FGON, EHPM, EAIM, BFNJ, CGOK, HDLP
이 모든 정보를 통해 기술적으로 코드에 하이퍼 큐브가 있습니다. 이것을 회전 시키려면 각 회전 평면에 대해 6 개의 서로 다른 행렬이 필요합니다. 하나는 YZ, XZ, XY, XW, YW 및 ZW 평면입니다. 모든 행렬을 얻은 후에는 큐브의 꼭짓점에 곱해야합니다.
다음 이미지는 각 행렬의 구조를 보여줍니다.
YZ 평면에서 회전하는 경우 :
XZ 평면에서 회전하는 경우 :
XY 평면에서 회전하는 경우 :
XW 평면에서 회전하는 경우 :
YW 평면에서 회전하는 경우 :
ZW 평면에서 회전하는 경우 :
회전은이 순서대로 적용됩니다.
이 모든 것이 끝나면 회전 된 하이퍼 큐브가 있습니다. 이제 그려야합니다. 로 보내 (x, y, z, w)
려면 투시 투영과 결합 된 직교 투영을 사용해야합니다 (2x/(2+z), 2y/(2+z))
.
입력
입력 값은 0 (포함)과 360 (독점) 사이의 6 개의 정수입니다. 이들은 하이퍼 큐브의 다른 회전 평면에서 회전을도 단위로 나타냅니다.
산출
출력은 하이퍼 큐브가 포함 된 단일 이미지 여야합니다. 디스플레이는 래스터 화 된 이미지, 벡터 이미지 또는 ASCII 아트 일 수 있습니다. 출력 이미지는 100 * 100 픽셀 이상이어야하며 큐브는 화면의 50 % 이상을 차지해야합니다. 모든 기본 이미지 출력 형식이 허용됩니다.
테스트 사례
0 0 0 0 0 0
0 0 0 0 0 30
30 0 0 0 0 30
0 0 0 30 30 30
45 45 45 0 0 0
45 45 45 45 45 45
전체 크기로 보려면 새 탭에서 이미지를여십시오.
규칙
- 기본 규칙이 적용됩니다
- 표준 허점은 금지되어 있습니다
- 바이트 단위의 최단 코드 승리