
아담 게첼(Adam Getchell)이 Rust로 Delaunay 삼각분할 라이브러리 delaunay를 개발하고 있다. 인과 동역학적 삼각분할(CDT) 시뮬레이션에 필요한 기능을 구현하는 과정에서 시작했으며, 현재는 기존 delaunay 크레이트 사용자에게도 쓸 수 있도록 목표를 넓혔다. 프로젝트는 아직 개발 중이다.
게첼은 CGAL을 활용한 C++ 구현에서 160개가 넘는 라이브러리 의존성을 관리하는 데 시간을 많이 썼고, Pachner 이동 구현과 반복적인 재삼각분할 과정에서 라이브러리 버그와 메모리 누수, 세그멘테이션 오류 등을 겪었다고 설명했다. 수백만 번 재삼각분할해야 하는 자신의 CDT 용도에 맞춰 필요한 기능만 직접 구현하기로 했고, 새 라이브러리의 참고 구현으로 CGAL을 삼았다.
그는 메모리와 스레드 안전성, 성능, 정확성, 재현성을 설계 원칙으로 제시했다. 부동소수점 오차와 다양한 예외 사례를 고려해 테스트를 진행하며, 핵심 알고리즘의 형식 검증에는 Kani를 활용하는 방안을 목표로 삼았다. AI 도구가 개발 효율을 높여 빠르게 반복 작업을 할 수 있었다는 것도 게첼의 설명이다.
라이브러리는 crates.io에서 확인할 수 있다. 변경 내역은 CHANGELOG.md, 향후 계획은 이슈 목록과 문서에 공개돼 있다. 게첼은 소규모 차원에 맞춘 스택 기반 선형대수 라이브러리도 만들었으며, 이 라이브러리는 crates.io에서 확인할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요