반응형
voronoi diagram for generative geometry using python
파이썬을 사용하여 제너레이티브 지오메트리(generative geometry)를 위한 보로노이 다이어그램(Voronoi diagram)을 생성하는 것은 널리 사용되는 강력한 기법입니다.
이 과정은 일련의 무작위 점을 생성한 다음, SciPy와 같은 라이브러리를 사용하여 이 점들에 대한 근접성에 따라 평면을 분할하는 보로노이 다이어그램을 계산하는 것을 포함합니다.
이렇게 분할된 공간은 복잡하고 유기적으로 보이는 디자인을 만드는 데 사용될 수 있습니다.
"""
파이썬을 사용하여 제너레이티브 지오메트리(generative geometry)를 위한
보로노이 다이어그램(Voronoi diagram)을 생성하는 것은 널리 사용되는 강력한 기법입니다.
이 과정은 일련의 무작위 점을 생성한 다음, SciPy와 같은 라이브러리를 사용하여
이 점들에 대한 근접성에 따라 평면을 분할하는 보로노이 다이어그램을 계산하는 것을 포함합니다.
이렇게 분할된 공간은 복잡하고 유기적으로 보이는 디자인을 만드는 데 사용될 수 있습니다.
"""
import numpy as np
from scipy.spatial import Voronoi, voronoi_plot_2d
import matplotlib.pyplot as plt
# 1. Generate 20 random 2D points
points = np.random.rand(20, 2)
# 2. Compute the Voronoi diagram
vor = Voronoi(points)
# 3. Plot the diagram
fig = voronoi_plot_2d(vor)
plt.show()
핵심 라이브러리
파이썬에서 보로노이 다이어그램을 생성하고 시각화하려면 주로 다음 라이브러리가 필요합니다:
- NumPy: 수치 연산을 위해, 특히 점들의 좌표를 생성하고 다루는 데 사용됩니다.
- SciPy: 핵심 보로노이 다이어그램 계산을 위해. scipy.spatial.Voronoi 클래스가 주요 도구입니다.
- Matplotlib: 결과 다이어그램을 플롯하고 시각화하는 데 사용됩니다.
기본 보로노이 다이어그램 생성 단계
다음 코드는 이 라이브러리들을 사용한 간단한 예시를 보여줍니다.
- 무작위 점 생성: 보로노이 셀의 "씨앗(seeds)" 또는 "생성자(generators)" 역할을 할 일련의 무작위 2D 점을 만듭니다.
- 보로노이 다이어그램 계산: 점 집합을 scipy.spatial.Voronoi에 전달합니다. 이 객체는 보로노이 셀의 꼭짓점과 그 관계를 포함하여 다이어그램에 대한 모든 필수 정보를 담고 있습니다.
- 다이어그램 플롯: scipy.spatial.voronoi_plot_2d를 사용하여 결과를 시각화합니다. 이 함수는 보로노이 객체를 받아 다이어그램의 선과 꼭짓점을 플롯하며, 종종 원래의 점들이 함께 겹쳐서 표시됩니다.
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[python] 과거 당첨번호 중 출현빈도 상위 기준으로 로또번호 추출 (0) | 2025.09.11 |
---|---|
[python] Blackhole Glow using python (0) | 2025.09.04 |
[python] ./input/ 폴더 안에 있는 엑셀파일을 찾아서 데이터 있는 셀의 앞뒤 공백을 삭제 (1) | 2025.08.28 |
[Just Do Rust - 러스트 기초부터 고급까지](https://wikidocs.net/book/16747) (0) | 2025.08.25 |
[python] python, rust 의 관계 (1) | 2025.08.25 |