초입방체의 전개
개시하다
초입방체는 2진법일 뿐이다.이 이야기는 다음 기사에서 진행된 것으로 이 지식을 전제로 초입방체를 전개한다.
초입방체
차리다
먼저 준비하다import random
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
def extension(dim):
""" 次元を拡張する関数
:param dim: 拡張する次元の配列
:returns: 拡張された配列
"""
return np.concatenate([np.array(dim) - 1, np.array(dim) + 1]).tolist()
dot = [[0], [0], [0], [0]]
직선
이것은 점에서 직선으로의 확장이다.직선의 수량은 쉽게 이해할 수 있는 0->1의 변화 수량(1->0도 직선이지만 중복을 허용하기 때문에 이런 변화를 무시한다).물론 아래의 직선은 하나뿐이다.line = [extension(dot[0]), dot[1]*2, dot[2]*2, dot[3]*2]
for x, y, i in zip(line[0], line[1], range(len(line[0]))):
plt.scatter([x], [y], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str(1)+'b'))
plt.legend()
plt.show()
정사각형
그리고 이것은 정사각형(2차원)으로 확장된 것이다.square = [line[0]*2, extension(line[1]), line[2]*2, line[3]*2]
for x, y, i in zip(square[0], square[1], range(len(square[0]))):
plt.scatter([x], [y], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str()+'b'))
plt.legend()
plt.show()
여기서 직선을 몇 개 그릴 수 있을까요?추출법은 하나의 차원을 고정시키고 나머지 차원에서 0->1의 변화 개수를 계산할 수 있다.즉, 첫 번째 차원은 0(빨간 테두리) 또는 1(푸른 테두리)에 고정된 두 개라는 것이다.
2D 눈은 0(빨간색 상자) 또는 1(파란색 상자)에 고정됩니다.(빨간 테두리, 파란 테두리는 라벨 안의 테두리...전달하기 어려우시면 죄송합니다)
평면은 00->01->10->11의 변화입니다.
입방체
그리고 이것은 입방체로 확장된 것이다.cube = [square[0]*2, square[1]*2, extension(square[2]), square[3]*2]
fig = plt.figure()
fig = plt.figure(figsize=(10.0, 8.0))
Axes3D(fig)
for x, y, z, i in zip(cube[0], cube[1], cube[2], range(len(cube[0]))):
plt.plot([x], [y], [z], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str(3)+'b'))
plt.legend()
plt.show()
여기서 평면을 몇 개 얻을 수 있겠지.추출법은 하나의 차원을 고정시키고 나머지 차원에서 00->01->10->11의 개수로 계수할 수 있다.아까처럼 색상 구분이 가능하지만, 실제 1차원을 0이나 1에 고정해 얻은 것은 2개이며, 2차를 고정해도 2개, 3차원도 2개를 고정한다.6개의 평면을 취할 수 있다는 것이다.더욱이 몇 차원으로 확장되든지 간에 같은 방법을 채택할 수 있다. 즉, N차원의 초입방체는 N-1차원의 초입방체 2N개로 구성된다.즉 입방체에서 정팔포체로 확장하면 정팔포체는 4차원 초입방체이기 때문에 3차원 초입방체이다×4=8개로 구성된다.가시화도 가능하지만 주사위를 펴도 알 수 있도록 전개 방법에 따라 모양이 다르니 포기하세요(실제로 펼쳐진 그림이 많네요).
총결산
이렇게 되면 흔히 볼 수 있는 정팔포자체를 펼치면 8개의 입방체가 되는 것을 받아들일 수 있을 것 같다.뭐, 그렇게 어렵지 않겠지.
Reference
이 문제에 관하여(초입방체의 전개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sai-sui/items/38e8e24ebd656f3c938c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
먼저 준비하다
import random
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
def extension(dim):
""" 次元を拡張する関数
:param dim: 拡張する次元の配列
:returns: 拡張された配列
"""
return np.concatenate([np.array(dim) - 1, np.array(dim) + 1]).tolist()
dot = [[0], [0], [0], [0]]
직선
이것은 점에서 직선으로의 확장이다.직선의 수량은 쉽게 이해할 수 있는 0->1의 변화 수량(1->0도 직선이지만 중복을 허용하기 때문에 이런 변화를 무시한다).물론 아래의 직선은 하나뿐이다.line = [extension(dot[0]), dot[1]*2, dot[2]*2, dot[3]*2]
for x, y, i in zip(line[0], line[1], range(len(line[0]))):
plt.scatter([x], [y], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str(1)+'b'))
plt.legend()
plt.show()
정사각형
그리고 이것은 정사각형(2차원)으로 확장된 것이다.square = [line[0]*2, extension(line[1]), line[2]*2, line[3]*2]
for x, y, i in zip(square[0], square[1], range(len(square[0]))):
plt.scatter([x], [y], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str()+'b'))
plt.legend()
plt.show()
여기서 직선을 몇 개 그릴 수 있을까요?추출법은 하나의 차원을 고정시키고 나머지 차원에서 0->1의 변화 개수를 계산할 수 있다.즉, 첫 번째 차원은 0(빨간 테두리) 또는 1(푸른 테두리)에 고정된 두 개라는 것이다.
2D 눈은 0(빨간색 상자) 또는 1(파란색 상자)에 고정됩니다.(빨간 테두리, 파란 테두리는 라벨 안의 테두리...전달하기 어려우시면 죄송합니다)
평면은 00->01->10->11의 변화입니다.
입방체
그리고 이것은 입방체로 확장된 것이다.cube = [square[0]*2, square[1]*2, extension(square[2]), square[3]*2]
fig = plt.figure()
fig = plt.figure(figsize=(10.0, 8.0))
Axes3D(fig)
for x, y, z, i in zip(cube[0], cube[1], cube[2], range(len(cube[0]))):
plt.plot([x], [y], [z], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str(3)+'b'))
plt.legend()
plt.show()
여기서 평면을 몇 개 얻을 수 있겠지.추출법은 하나의 차원을 고정시키고 나머지 차원에서 00->01->10->11의 개수로 계수할 수 있다.아까처럼 색상 구분이 가능하지만, 실제 1차원을 0이나 1에 고정해 얻은 것은 2개이며, 2차를 고정해도 2개, 3차원도 2개를 고정한다.6개의 평면을 취할 수 있다는 것이다.더욱이 몇 차원으로 확장되든지 간에 같은 방법을 채택할 수 있다. 즉, N차원의 초입방체는 N-1차원의 초입방체 2N개로 구성된다.즉 입방체에서 정팔포체로 확장하면 정팔포체는 4차원 초입방체이기 때문에 3차원 초입방체이다×4=8개로 구성된다.가시화도 가능하지만 주사위를 펴도 알 수 있도록 전개 방법에 따라 모양이 다르니 포기하세요(실제로 펼쳐진 그림이 많네요).
총결산
이렇게 되면 흔히 볼 수 있는 정팔포자체를 펼치면 8개의 입방체가 되는 것을 받아들일 수 있을 것 같다.뭐, 그렇게 어렵지 않겠지.
Reference
이 문제에 관하여(초입방체의 전개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sai-sui/items/38e8e24ebd656f3c938c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
line = [extension(dot[0]), dot[1]*2, dot[2]*2, dot[3]*2]
for x, y, i in zip(line[0], line[1], range(len(line[0]))):
plt.scatter([x], [y], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str(1)+'b'))
plt.legend()
plt.show()
그리고 이것은 정사각형(2차원)으로 확장된 것이다.
square = [line[0]*2, extension(line[1]), line[2]*2, line[3]*2]
for x, y, i in zip(square[0], square[1], range(len(square[0]))):
plt.scatter([x], [y], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str()+'b'))
plt.legend()
plt.show()
여기서 직선을 몇 개 그릴 수 있을까요?추출법은 하나의 차원을 고정시키고 나머지 차원에서 0->1의 변화 개수를 계산할 수 있다.즉, 첫 번째 차원은 0(빨간 테두리) 또는 1(푸른 테두리)에 고정된 두 개라는 것이다.
2D 눈은 0(빨간색 상자) 또는 1(파란색 상자)에 고정됩니다.(빨간 테두리, 파란 테두리는 라벨 안의 테두리...전달하기 어려우시면 죄송합니다)
평면은 00->01->10->11의 변화입니다.
입방체
그리고 이것은 입방체로 확장된 것이다.cube = [square[0]*2, square[1]*2, extension(square[2]), square[3]*2]
fig = plt.figure()
fig = plt.figure(figsize=(10.0, 8.0))
Axes3D(fig)
for x, y, z, i in zip(cube[0], cube[1], cube[2], range(len(cube[0]))):
plt.plot([x], [y], [z], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str(3)+'b'))
plt.legend()
plt.show()
여기서 평면을 몇 개 얻을 수 있겠지.추출법은 하나의 차원을 고정시키고 나머지 차원에서 00->01->10->11의 개수로 계수할 수 있다.아까처럼 색상 구분이 가능하지만, 실제 1차원을 0이나 1에 고정해 얻은 것은 2개이며, 2차를 고정해도 2개, 3차원도 2개를 고정한다.6개의 평면을 취할 수 있다는 것이다.더욱이 몇 차원으로 확장되든지 간에 같은 방법을 채택할 수 있다. 즉, N차원의 초입방체는 N-1차원의 초입방체 2N개로 구성된다.즉 입방체에서 정팔포체로 확장하면 정팔포체는 4차원 초입방체이기 때문에 3차원 초입방체이다×4=8개로 구성된다.가시화도 가능하지만 주사위를 펴도 알 수 있도록 전개 방법에 따라 모양이 다르니 포기하세요(실제로 펼쳐진 그림이 많네요).
총결산
이렇게 되면 흔히 볼 수 있는 정팔포자체를 펼치면 8개의 입방체가 되는 것을 받아들일 수 있을 것 같다.뭐, 그렇게 어렵지 않겠지.
Reference
이 문제에 관하여(초입방체의 전개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sai-sui/items/38e8e24ebd656f3c938c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
cube = [square[0]*2, square[1]*2, extension(square[2]), square[3]*2]
fig = plt.figure()
fig = plt.figure(figsize=(10.0, 8.0))
Axes3D(fig)
for x, y, z, i in zip(cube[0], cube[1], cube[2], range(len(cube[0]))):
plt.plot([x], [y], [z], marker="o", linestyle='None', label=str(i)+' : '+format(i, '0'+str(3)+'b'))
plt.legend()
plt.show()
이렇게 되면 흔히 볼 수 있는 정팔포자체를 펼치면 8개의 입방체가 되는 것을 받아들일 수 있을 것 같다.뭐, 그렇게 어렵지 않겠지.
Reference
이 문제에 관하여(초입방체의 전개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sai-sui/items/38e8e24ebd656f3c938c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)