2017-04-10 1 views
0

파이썬을 사용하여 와이어 프레임, 기존 삼각형을 그릴 수있는 가장 좋은 방법은 무엇입니까? Python : 미리 정의 된 삼각형의 2D 와이어 프레임 플롯

는 명확히하기 위해 하나가 Y 좌표, 나머지는 "이상적인"(들로네) 이러한 점을 매핑 알고리즘 메시의 출력 X, 쌍을 포함

I는 두 종류의 데이터가있다.

1717  1761  1762 
    1718  1717  1762 
    1718  1673  1717 
    1718  1674  1673 
    1673  1674  1629 
    1629  1674  1630 

X, 1717 형태의 X와 삼각형 Y 쌍 #, Y 쌍 번호 :

는 예를 들어, X, Y 쌍 ::

#X Y 
1 330822.25 4310194.75 
2 330827.25 4310194.75 
3 330832.25 4310194.75 
4 330837.25 4310194.75 
5 330842.25 4310194.75 
6 330847.25 4310194.75 
... 

그리고 알고리즘의 출력을 고려 1761 및 # 1762 환언

는 들로네 알고리즘 출력의 첫 번째 행으로 표현 될 수있다 :

(331037.25 4310004.75)  (331037.25 4309999.75)  (330822.25 4309994.75) 

이 단일 삼각형을 형성한다. 위의 3 개의 튜플 세트와 비슷한 두 데이터 세트를 매핑 한 후에이 라인에있는 모든 삼각형을 그려 봅니다.

제안 사항? 이것이 3D로 확장 될 수 있다면 보너스 포인트!

+0

체크 plt.triplot [http://matplotlib.org/examples/pylab_examples/triplot_demo.html] (http://matplotlib.org/examples/pylab_examples/triplot_demo.html) – Taylor

답변

1

Delaunay 삼각 측량을 수동으로 계산하는 단계를 건너 뛰고 matplotlib이 처리하도록 할 수 있습니다. 이 작업은 triplot을 사용하여 수행됩니다.

plt.triplot(x, y) 

xy는 초기 데이터에서 두 개의 열이 있습니다.

자신의 알고리즘을 실제로 사용하려는 경우, triangles을 사용하여 plt.triplot에 indizes를 넣을 수 있습니다.

plt.triplot(x, y, triangles=triangles) 

는 indizes의 (N, 3) 배열 삼각형이다.

complete example은 matplotlib 페이지에서 찾을 수 있습니다.

+0

이것은 * 완벽한 *입니다. 고맙습니다! –