Software/Python
모여있는 점들의 최외곽선을 이어주는 scipy의 ConvexHull 명령
PinkWink
2017. 4. 19. 08:00
다수의 점으로 표현된 그래프를 보다가... 만약 그 외곽선을 이어서 표현하고 싶다는 생각이 드신다면 scipy의 ConvexHull이라는 명령을 사용하시면 됩니다.
scipy.spatial의 ConvexHull을 import하면 됩니다. 일부러 실습용 데이터를 위 그림처럼 일반 리스트로 잡았습니다.
scatter로 한번 뿌려보았구요^^
그걸... scipy에서 사용할려고 numpy array로 각각의 리스트를 합쳤습니다.
몹시 심플하게.. 위 명령이면 끝납니다.^^
위의 코드의 for문을 적용하면 그림처럼 최외곽선을 그릴 수 있습니다.^^ 그런데.. for문 안에 있는 식이 약간 복잡해 보이죠...
그건... 위에서 살짝 풀어볼 수 있습니다. 일단 ConvexHull은 vertices로 구성되는 직선의 좌표를 얻을 수 있습니다.
또 혹은.. 위 for문 처럼.. simplices를 사용해서 그걸 대상인 points의 index로 사용해서 좌표를 얻을 수 있습니다.
최외곽선을 잡았을때의 넓이도 구해주네요~~~^^
반응형