Skip to content

The actual meaning of neighbor definition? #16

Description

@jiayily

Hello, I 'm very confused about the definition of neighbors.

switch (s_i) {
case 0:
tmp_neighbors.push_back({r_i+1, c_i+1, 2});
tmp_neighbors.push_back({r_i+1, c_i+1, 3});
tmp_neighbors.push_back({r_i+1, c_i , 1});
tmp_neighbors.push_back({r_i+1, c_i , 2});
tmp_neighbors.push_back({r_i+1, c_i , 3});
tmp_neighbors.push_back({r_i+1, c_i-1, 1});
tmp_neighbors.push_back({r_i+1, c_i-1, 2});
tmp_neighbors.push_back({r_i , c_i+1, 0});
tmp_neighbors.push_back({r_i , c_i+1, 3});
tmp_neighbors.push_back({r_i , c_i-1, 0});
tmp_neighbors.push_back({r_i , c_i-1, 1});
break;
case 1:
tmp_neighbors.push_back({r_i+1, c_i+1, 2});
tmp_neighbors.push_back({r_i+1, c_i+1, 3});
tmp_neighbors.push_back({r_i+1, c_i , 1});
tmp_neighbors.push_back({r_i+1, c_i , 2});
tmp_neighbors.push_back({r_i , c_i+1, 0});
tmp_neighbors.push_back({r_i , c_i+1, 2});
tmp_neighbors.push_back({r_i , c_i+1, 3});
tmp_neighbors.push_back({r_i-1, c_i+1, 0});
tmp_neighbors.push_back({r_i-1, c_i+1, 3});
tmp_neighbors.push_back({r_i-1, c_i+1, 0});
tmp_neighbors.push_back({r_i-1, c_i , 1});
break;
case 2:
tmp_neighbors.push_back({r_i , c_i+1, 2});
tmp_neighbors.push_back({r_i , c_i+1, 3});
tmp_neighbors.push_back({r_i , c_i-1, 1});
tmp_neighbors.push_back({r_i , c_i-1, 2});
tmp_neighbors.push_back({r_i-1, c_i+1, 0});
tmp_neighbors.push_back({r_i-1, c_i+1, 3});
tmp_neighbors.push_back({r_i-1, c_i , 0});
tmp_neighbors.push_back({r_i-1, c_i , 1});
tmp_neighbors.push_back({r_i-1, c_i , 3});
tmp_neighbors.push_back({r_i-1, c_i-1, 0});
tmp_neighbors.push_back({r_i-1, c_i-1, 1});
break;
case 3:
tmp_neighbors.push_back({r_i+1, c_i , 2});
tmp_neighbors.push_back({r_i+1, c_i , 3});
tmp_neighbors.push_back({r_i+1, c_i-1, 1});
tmp_neighbors.push_back({r_i+1, c_i-1, 2});
tmp_neighbors.push_back({r_i , c_i-1, 0});
tmp_neighbors.push_back({r_i , c_i-1, 1});
tmp_neighbors.push_back({r_i , c_i-1, 2});
tmp_neighbors.push_back({r_i-1, c_i , 0});
tmp_neighbors.push_back({r_i-1, c_i , 3});
tmp_neighbors.push_back({r_i-1, c_i-1, 0});
tmp_neighbors.push_back({r_i-1, c_i-1, 1});
break;
default:
break;
}

What' the actual meaning of above neighbor selection? Why not chose from the (4*8+3 = 35) triangle nodes of its 8-neighborhood?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions