수학, 237 바이트
n={-1,1}#&;c_~g~s_:=Polygon[c+s#&/@{k={12,9},m=n@k,t={0,-12}}];p={#,#2~g~1,#3~g~-1}&;a=p[Cyan,#-k,#+m]&;b=p[Blue,#-t,#+k]&;c=p[Red,#-m,#+t]&;Graphics@{{a@#,b@#,c@#}&/@{j=4k,s=4{4,9},n@s,4m,r={-32,8},q=-4{4,5},4t,n@q,n@r},a@j,b@s,c@j,c@s}
더 읽기 쉬운 버전 :
1 n = {-1, 1} # &;
2 c_~g~s_ := Polygon[c + s # & /@ {k = {12, 9}, m = n@k, t = {0, -12}}];
3 p = {#, #2~g~1, #3~g~-1} &;
4 a = p[Cyan, # - k, # + m] &;
5 b = p[Blue, # - t, # + k] &;
6 c = p[Red, # - m, # + t] &;
7 Graphics@{
8 {a@#, b@#, c@#} & /@
9 {j = 4 k, s = 4{4, 9}, n@s, 4 m, r = {-32, 8},
10 q = -4{4, 5}, 4 t, n@q, n@r},
11 a@j, b@s, c@j, c@s}
1 행 n
은 정렬 된 쌍의 첫 번째 좌표를 무효화 하는 함수 를 정의합니다 . 2 행 g
은 점을 중심으로 (거의) 정삼각형을 생성하고 c
아래를 향하거나 위를 가리키는 함수 를 정의 합니다.s
인 1
나 -1
. 3 행 p
은 색상과 2 개의 삼각형으로 구성된 평행 사변형 템플릿으로 정의 a
되며 4-6 행 은 b
, 및c
큐브에 표시 평행 사변형의 세 가지 특정 유형이 될 수 있습니다.
8 행 {a@#, b@#, c@#}&
은 점을 중심으로 전체 큐브를 그리는 함수 를 정의합니다 #
. 선 9와 10은 더 큰 삼각형을 만드는 데 필요한 9 개의 점에 적용됩니다. 이렇게하면 오른쪽 상단에서 시작하여 시계 반대 방향으로 9 개의 큐브가 만들어집니다.이 큐브에서는 나중에 큐브가 이전 큐브의 일부를 덮습니다. 마지막으로 11 행은 4 개의 평행 사변형 (그림의 오른쪽 상단에 있음)을 다시 그려서 나중에 원하는 큐브를 덮도록합니다. 출력은 다음과 같습니다.