본문 바로가기

Software/Python

모여있는 점들의 최외곽선을 이어주는 scipy의 ConvexHull 명령

다수의 점으로 표현된 그래프를 보다가... 만약 그 외곽선을 이어서 표현하고 싶다는 생각이 드신다면 scipy의 ConvexHull이라는 명령을 사용하시면 됩니다.

scipy.spatial의 ConvexHull을 import하면 됩니다. 일부러 실습용 데이터를 위 그림처럼 일반 리스트로 잡았습니다.

scatter로 한번 뿌려보았구요^^

그걸... scipy에서 사용할려고 numpy array로 각각의 리스트를 합쳤습니다.

몹시 심플하게.. 위 명령이면 끝납니다.^^

위의 코드의 for문을 적용하면 그림처럼 최외곽선을 그릴 수 있습니다.^^ 그런데.. for문 안에 있는 식이 약간 복잡해 보이죠...

그건... 위에서 살짝 풀어볼 수 있습니다. 일단 ConvexHull은 vertices로 구성되는 직선의 좌표를 얻을 수 있습니다.

또 혹은.. 위 for문 처럼.. simplices를 사용해서 그걸 대상인 points의 index로 사용해서 좌표를 얻을 수 있습니다.

최외곽선을 잡았을때의 넓이도 구해주네요~~~^^

반응형