본문으로 바로가기

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

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

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

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

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

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

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

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

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


댓글을 달아 주세요

  1. BlogIcon 핑구야 날자 2017.04.20 07:38 신고

    재미 있는 프로그램이네요 잘 배우고 갑니다

  2. BlogIcon Deborah 2017.04.21 04:06 신고

    잘은 모르지만 정성을 드린 포스팅이네요.

  3. BlogIcon 라이너스™ 2017.04.21 07:53 신고

    어려워요. 정성글엔 추천! ㅎㅎ 잘 보고 갑니다

  4. BlogIcon 봉리브르 2017.04.21 08:02 신고

    유용한 포스팅 잘 보고 갑니다.
    필요한 분들에게는 큰 도움이 되겠네요..^^

  5. BlogIcon GeniusJW 2017.04.21 17:33 신고

    최외곽선을 찾아주는 명령어인가 보군요~~
    저는 요즘 여러 데이터들을 이용해서,
    친구의 병원자리를 알아봐주고 있는데요.
    생각보다 쉽지만은 않더라구요.