본문 바로가기

Enginius/Matlab

점과 다각형 사이의 거리

Path planning 관련 코드를 작성하다보면 장애물과 점 사이의 거리를 계산해야 할 때가 있다. 직관적으로 생각하면 간단하지만, 실제로 구현하려고 하면 좀 복잡하다. 그래서 정리 차원에서 구현해보았다. 


구현을 최대한 간단하게 하기 위해서 점과 장애물 사이의 거리를 다음과 같이 정의된다. 

1. 점이 장애물 속에 들어가 있다면 -1을 출력한다. 

2. 점은 장애물 사이의 거리는 장애물의 경계면이 이루는 선분과 최소 거리로 정의된다. 


먼저 점과 직선 사이의 거리를 계산한 결과는 다음과 같다. 


점과 선분 사이의 거리


점과 다각형 사이의 거리


다각형에 마진을 추가한 영역에 속하는지 여부



코드는 다음과 같다. 

1. demo


2. get_dist_point_line


3. get_dist_point_poly


4. get_axis_with_margin


5. init_stage


'Enginius > Matlab' 카테고리의 다른 글

Spline Fitting  (0) 2014.12.22
다각형과 선분 사이의 접점  (0) 2014.12.17
Rename bunch of files in Matlab  (0) 2014.08.05
bar plot  (0) 2014.04.11
Square Matrix를 여러개의 Sub Matrix로 나누기  (0) 2014.03.21