한국정보기술진흥원
한국정보기술신문
thumbnail

정보기술 · 학제간융합 ·

종이접기 수학을 코드로 구현한 프로그래밍 라이브러리 공개...접이식 로봇·우주 구조물 설계 응용 기대

발행일
읽는 시간2분 9초

전통 종이접기 이론을 JavaScript로 구현한 'Rabbit Ear' 라이브러리가 공개됐다.

[한국정보기술신문] 오리가미의 수학적 원리를 컴퓨터 프로그래밍으로 구현한 오픈소스 라이브러리가 개발자들의 주목을 받고 있다. 'Rabbit Ear'라는 이름의 이 라이브러리는 전통적인 종이접기 기법을 디지털 환경에서 정확하게 재현하고, 복잡한 오리가미 구조를 설계할 수 있도록 지원한다.

Rabbit Ear는 자바스크립트 기반으로 제작됐으며, 오리가미 모델을 표현하는 클래스형 객체들을 제공한다. 각 객체는 FOLD 포맷을 기반으로 하며, 실제 종이접기와 동일한 물리 법칙을 따르도록 설계됐다. 개발자들은 이 라이브러리를 통해 가상 종이에 직접 접는 동작을 적용하거나, 크리즈 패턴을 자유롭게 그릴 수 있다.

7가지 오리가미 공리 구현

라이브러리의 핵심 기능 중 하나는 오리가미의 7가지 기본 공리를 프로그래밍으로 구현한 것이다. 오리가미 공리는 종이를 정확하게 접는 서로 다른 방법들을 의미한다. 예를 들어 공리 1은 두 점을 겹치는 접기, 공리 2는 두 점을 하나로 만드는 접기 방식이다.

각 공리는 특정 조합의 점과 선을 입력값으로 받아들이며, 그 결과로 1개에서 최대 3개까지의 선을 반환한다. 개발자는 이렇게 얻은 선을 활용해 실제 접기 동작을 수행할 수 있다. 라이브러리는 종이의 경계 내에서만 공리가 작동하도록 제한하는 기능도 제공한다.

가와사키 정리와 마에카와 정리 적용

Rabbit Ear는 오리가미 이론의 두 가지 중요한 정리인 가와사키 정리와 마에카와 정리를 검증하고 활용하는 기능을 포함한다. 가와사키 정리는 한 꼭짓점이 평평하게 접히려면 교대로 측정한 각도의 합이 180도가 돼야 한다는 원리다. 이는 짝수 개의 주름이 필요함을 의미한다.

마에카와 정리는 한 꼭짓점에서 산 접기와 골 접기의 개수가 2만큼 차이나야 평평하게 접을 수 있다는 원리다. 라이브러리는 이러한 조건을 만족하지 않는 꼭짓점을 자동으로 찾아내고, 개발자에게 오류를 알려준다.

복잡한 레이어 순서 문제 해결

오리가미를 접었을 때 각 면이 어느 순서로 쌓이는지 계산하는 것은 매우 어려운 문제다. Rabbit Ear는 Jason Ku가 설계한 알고리즘을 구현해 이 문제를 해결한다.

알고리즘은 세 단계로 작동한다. 먼저 인접한 면들 사이의 순서를 주름 배치를 통해 파악한다. 다음으로 현재 정보에서 추론 가능한 모든 관계를 도출한다. 마지막으로 여러 해답이 가능한 경우 재귀적으로 모든 경우를 탐색한다. 전통적인 사무라이 투구 모양의 가부토 오리가미는 9가지의 유효한 레이어 배열을 갖는 것으로 알려져 있다.

실용적 응용 분야 확대 전망

오리가미 프로그래밍 기술은 다양한 실용 분야에 활용될 수 있다. 접이식 로봇 설계, 우주에서 펼쳐지는 태양광 패널 구조, 의료용 스텐트, 건축물의 접이식 구조 등이 대표적이다. 항공우주 분야에서는 이미 오리가미 원리를 적용한 위성 안테나와 태양 돛이 실제로 사용되고 있다.

Rabbit Ear 라이브러리는 이러한 응용 연구를 지원하는 도구로 활용될 수 있다. 연구자들은 복잡한 접기 구조를 시뮬레이션하고, 물리적 프로토타입을 제작하기 전에 디지털 환경에서 검증할 수 있게 됐다. 또한 SVG 렌더링과 3D 시각화 기능을 통해 설계 결과를 직관적으로 확인할 수 있다.

라이브러리는 현재 오픈소스로 공개돼 있으며, 웹사이트를 통해 상세한 문서와 함께 제공되고 있다. 평면 접기 가능한 크리즈 패턴의 이색성, 그래프 이론의 적용, 기하학적 알고리즘 등 컴퓨터 과학의 여러 분야가 융합된 이 프로젝트는 계산 기하학과 조합 최적화 연구에도 새로운 방향을 제시할 것으로 기대된다.

한국정보기술신문 학제간융합분과 김수민 기자 news@kitpa.org