check_on_line.m

来自「机器人协同控制流函数matlab程序实现」· M 代码 · 共 63 行

M
63
字号
%------------------------------------------------------------------------
%                       SWARM SIMULATION PROGRAM 
%                        DESIGNED BY Jun Lu
%                   Intelligent and Complex Systems Lab
%               HuaZhong University of Science and Technology
%------------------------------------------------------------------------

%判断垂点是在起点和终点的连线上,还是在连线的延长线上
function sign = check_on_line(line_x1, line_y1, line_x2, line_y2, point_x, point_y)  %起点,终点,垂点

if(line_x1 == line_x2)
    if(line_y2<line_y1)
       if((point_y<line_y2)|(point_y>line_y1))
          sign = 0;
          return;
       end
    else
       if((point_y>line_y2)|(point_y<line_y1))
          sign = 0;
          return;
        end
    end
else
    if(line_x2<line_x1)
       if((point_x<line_x2)|(point_x>line_x1))
          sign = 0;
          return;
       end
    else %line_x2>line_x1
       if((point_x>line_x2)|(point_x<line_x1))
          sign = 0;
          return;
       end
    end
end

if(line_y1 == line_y2)
    if(line_x2<line_x1)
       if((point_x<line_x2)|(point_x>line_x1))
         sign = 0;
         return;
       end
    else
       if((point_x>line_x2)|(point_x<line_x1))
          sign = 0;
          return;
        end
    end
else
    if(line_y2<line_y1)
       if((point_y<line_y2)|(point_y>line_y1))
          sign = 0;
          return;
       end
    else %line_y2>line_y1
       if((point_y>line_y2)|(point_y<line_y1))
          sign = 0;
          return;
       end
    end
end

sign = 1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?