Eller's Algorithm을 사용하여 임의의 크기의 2D 미로를 생성하는 파이썬 스크립트. 출력은 공간과 벽이 각각 0과 1로 표현된 OpenSCAD 배열 정의입니다.
엘러의 알고리즘에 대한 더 많은 정보는 여기에서 확인하세요:
http://weblog.jamisbuck.org/2010/12/29/maze-generation-eller-s-algorithm
지시사항
나는 결국 이것을 사용하여 매끄러운 내부 벽이 있는 미로의 볼트/상자를 랜덤으로 생성할 계획입니다.
수평 및 수직 셀의 수는 명령 줄에서 지정됩니다.
./eller_generator.py 15 5 > maze_new.scad
미로의 정의를 생성하는 것은 매우 빠르게 이루어져야 하지만, OpenSCAD에서 컴파일하는 것은 미로의 크기에 따라 시간이 조금 걸릴 수 있습니다.
민코프스키 합을 사용하여 라운드 에지를 생성할 수 있습니다(‘펀치’ STL/SCAD 파일을 참조하세요). 이 작업은 오랜 시간이 소요되며(예제 파일의 경우 교차되는 에지로 인해 약 5분이 소요되었습니다), 그러나 표시하는 것은 상당히 빠릅니다.
2013년 12월 26일 업데이트 1: 미로를 그리는 오픈SCAD 코드에서 X/Y 버그를 수정했습니다.
2013년 12월 26일 업데이트 2: 펀치다운 확률 계산에서 부동 소수점 나눗법 버그를 수정했습니다.
2013년 12월 26일 업데이트 3: 미로의 돌출 높이를 미로 높이로 조정했습니다.
2013년 12월 27일 업데이트: 루프가 형성되는 원인이 되었던 집합 연합 버그를 수정했습니다.
Etiketler
Model Kaynağı
