Mercurial > repos > public > sbplib
comparison +grid/old/min_h.m @ 0:48b6fb693025
Initial commit.
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Thu, 17 Sep 2015 10:12:50 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:48b6fb693025 |
|---|---|
| 1 function [d_min, i1_min, j1_min, i2_min, j2_min] = min_h(X,Y) | |
| 2 ni = size(X,1); | |
| 3 nj = size(X,2); | |
| 4 d_min = norm([X(1,1);Y(1,1)] - [X(ni,nj);Y(ni,nj)]); | |
| 5 | |
| 6 i1_min = 0; | |
| 7 j1_min = 0; | |
| 8 i2_min = 0; | |
| 9 j2_min = 0; | |
| 10 | |
| 11 D = {[-1,-1],[0,-1],[1,-1],[1,0],[1,1],[0,1],[-1,1],[-1,0]}; | |
| 12 % D = {[0,-1],[1,0],[0,1],[-1,0]}; | |
| 13 | |
| 14 for i = 1:ni | |
| 15 for j = 1:nj | |
| 16 p1 = [X(i,j); Y(i,j)]; | |
| 17 for k = 1:length(D) | |
| 18 i2 = i+D{k}(1); | |
| 19 j2 = j+D{k}(2); | |
| 20 if i2 >= 1 && i2 <= ni && j2 >= 1 && j2 <= nj | |
| 21 p2 = [X(i2,j2); Y(i2,j2)]; | |
| 22 d = norm(p2-p1); | |
| 23 if d < d_min; | |
| 24 d_min = d; | |
| 25 i1_min = i; | |
| 26 j1_min = j; | |
| 27 i2_min = i2; | |
| 28 j2_min = j2; | |
| 29 end | |
| 30 end | |
| 31 end | |
| 32 end | |
| 33 end | |
| 34 end |
