已知
- 有四个虫子,分别是 A , B , C , D A,B,C,D A,B,C,D
- A , B , C , D A,B,C,D A,B,C,D分别在 ( 0 , 0 ) , ( 0 , 1 ) , ( 1 , 1 ) , ( 1 , 0 ) (0,0),(0,1),(1,1),(1,0) (0,0),(0,1),(1,1),(1,0)
- 四个虫子A追B,B追C,C追D,D追A
- 四个速度相同
需要研究的问题
- 问题1:虫子追逐轨迹图
问题1:虫子追逐轨迹图
建立追击模型:
 设在 
     
      
       
       
         t 
        
       
      
        t 
       
      
    t时刻时候,虫子 
     
      
       
       
         A 
        
       
         ( 
        
        
        
          x 
         
        
          a 
         
        
       
         , 
        
        
        
          y 
         
        
          a 
         
        
       
         ) 
        
       
      
        A(x_a,y_a) 
       
      
    A(xa,ya)追虫子 
     
      
       
       
         B 
        
       
         ( 
        
        
        
          x 
         
        
          b 
         
        
       
         , 
        
        
        
          y 
         
        
          b 
         
        
       
         ) 
        
       
      
        B(x_b,y_b) 
       
      
    B(xb,yb),求下一时刻 
     
      
       
       
         t 
        
       
         + 
        
       
         Δ 
        
       
         t 
        
       
      
        t+\varDelta t 
       
      
    t+Δt时候虫子 
     
      
       
       
         A 
        
       
      
        A 
       
      
    A的坐标 
     
      
       
       
         ( 
        
       
         x 
        
       
         , 
        
       
         y 
        
       
         ) 
        
       
      
        (x,y) 
       
      
    (x,y)
 连接 
     
      
       
       
         A 
        
       
         , 
        
       
         B 
        
       
      
        A,B 
       
      
    A,B两点,可以求出运动方向(角度),利用运动方向求下一刻坐标
{ cos  α = ( x b − x a ) / ( x b − x a ) 2 + ( y b − y a ) 2 sin  α = ( y b − y a ) / ( x b − x a ) 2 + ( y b − y a ) 2 \begin{cases} \cos{ \alpha = (x_b-x_a)/ \sqrt{(x_b-x_a)^2+(y_b-y_a)^2}}\\ \sin{ \alpha = (y_b-y_a)/ \sqrt{(x_b-x_a)^2+(y_b-y_a)^2}} \end{cases} {cosα=(xb−xa)/(xb−xa)2+(yb−ya)2sinα=(yb−ya)/(xb−xa)2+(yb−ya)2
 
     
      
       
       
         { 
        
        
         
          
           
            
            
              cos 
             
            
               
             
             
             
               α 
              
             
               = 
              
             
               ( 
              
             
               x 
              
             
               − 
              
              
              
                x 
               
              
                a 
               
              
             
               ) 
              
             
               / 
              
              
               
               
                 ( 
                
               
                 x 
                
               
                 − 
                
                
                
                  x 
                 
                
                  a 
                 
                
                
                
                  ) 
                 
                
                  2 
                 
                
               
                 + 
                
               
                 ( 
                
               
                 y 
                
               
                 − 
                
                
                
                  y 
                 
                
                  a 
                 
                
                
                
                  ) 
                 
                
                  2 
                 
                
               
              
             
            
           
          
         
         
          
           
            
            
              sin 
             
            
               
             
             
             
               α 
              
             
               = 
              
             
               ( 
              
             
               y 
              
             
               − 
              
              
              
                y 
               
              
                a 
               
              
             
               ) 
              
             
               / 
              
              
               
               
                 ( 
                
               
                 x 
                
               
                 − 
                
                
                
                  x 
                 
                
                  a 
                 
                
                
                
                  ) 
                 
                
                  2 
                 
                
               
                 + 
                
               
                 ( 
                
               
                 y 
                
               
                 − 
                
                
                
                  y 
                 
                
                  a 
                 
                
                
                
                  ) 
                 
                
                  2 
                 
                
               
              
             
            
           
          
         
        
       
      
        \begin{cases} \cos{ \alpha = (x-x_a)/ \sqrt{(x-x_a)^2+(y-y_a)^2}}\\ \sin{ \alpha = (y-y_a)/ \sqrt{(x-x_a)^2+(y-y_a)^2}} \end{cases} 
       
      
    {cosα=(x−xa)/(x−xa)2+(y−ya)2sinα=(y−ya)/(x−xa)2+(y−ya)2
 按照物理模型
  
     
      
       
       
         { 
        
        
         
          
           
            
            
              x 
             
            
              = 
             
             
             
               x 
              
             
               a 
              
             
            
              + 
             
            
              c 
             
            
              o 
             
            
              s 
             
            
              ( 
             
            
              α 
             
            
              ) 
             
            
              ∗ 
             
            
              Δ 
             
            
              t 
             
            
              ∗ 
             
            
              v 
             
            
           
          
         
         
          
           
            
            
              y 
             
            
              = 
             
             
             
               y 
              
             
               a 
              
             
            
              + 
             
            
              s 
             
            
              i 
             
            
              n 
             
            
              ( 
             
            
              α 
             
            
              ) 
             
            
              ∗ 
             
            
              Δ 
             
            
              t 
             
            
              ∗ 
             
            
              v 
             
            
           
          
         
        
       
      
        \begin{cases} x = x_a + cos(\alpha)*\varDelta t*v \\ y = y_a + sin(\alpha)*\varDelta t*v \end{cases} 
       
      
    {x=xa+cos(α)∗Δt∗vy=ya+sin(α)∗Δt∗v
速度相同,消除速度得到最终模型
  
     
      
       
       
         { 
        
        
         
          
           
            
            
              x 
             
            
              = 
             
             
             
               x 
              
             
               a 
              
             
            
              + 
             
            
              ( 
             
             
             
               x 
              
             
               b 
              
             
            
              − 
             
             
             
               x 
              
             
               a 
              
             
            
              ) 
             
            
              / 
             
             
              
              
                ( 
               
               
               
                 x 
                
               
                 b 
                
               
              
                − 
               
               
               
                 x 
                
               
                 a 
                
               
               
               
                 ) 
                
               
                 2 
                
               
              
                + 
               
              
                ( 
               
               
               
                 y 
                
               
                 b 
                
               
              
                − 
               
               
               
                 y 
                
               
                 a 
                
               
               
               
                 ) 
                
               
                 2 
                
               
              
             
            
              ∗ 
             
            
              Δ 
             
            
              t 
             
            
           
          
         
         
          
           
            
            
              y 
             
            
              = 
             
             
             
               y 
              
             
               a 
              
             
            
              + 
             
            
              ( 
             
             
             
               y 
              
             
               b 
              
             
            
              − 
             
             
             
               y 
              
             
               a 
              
             
            
              ) 
             
            
              / 
             
             
              
              
                ( 
               
               
               
                 x 
                
               
                 b 
                
               
              
                − 
               
               
               
                 x 
                
               
                 a 
                
               
               
               
                 ) 
                
               
                 2 
                
               
              
                + 
               
              
                ( 
               
               
               
                 y 
                
               
                 b 
                
               
              
                − 
               
               
               
                 y 
                
               
                 a 
                
               
               
               
                 ) 
                
               
                 2 
                
               
              
             
            
              ∗ 
             
            
              Δ 
             
            
              t 
             
            
           
          
         
        
       
      
        \begin{cases} x = x_a + (x_b-x_a)/ \sqrt{(x_b-x_a)^2+(y_b-y_a)^2}*\varDelta t \\ y = y_a + (y_b-y_a)/ \sqrt{(x_b-x_a)^2+(y_b-y_a)^2}*\varDelta t \end{cases} 
       
      
    {x=xa+(xb−xa)/(xb−xa)2+(yb−ya)2∗Δty=ya+(yb−ya)/(xb−xa)2+(yb−ya)2∗Δt
MATLAB:
x = [0,0,1,1];
y = [0,1,1,0];
detat = 0.001;%Δt
round = 0:pi/180:2*pi;
xlim([0,1]);
ylim([0,1]); 
hold on;
for i= 1:4
    plot(x(i),y(i));
end
flag = false;
for t=1:0.1:200
    for i= 1:4
        j = mod(i,4)+1;
        x(i) = x(i) + (x(j)-x(i))/sqrt((x(j)-x(i))^2+(y(j)-y(i))^2)*detat;
        y(i) = y(i) + (y(j)-y(i))/sqrt((x(j)-x(i))^2+(y(j)-y(i))^2)*detat;
        plot(x(i)+ 0.01*cos(round),y(i)+ 0.01*sin(round));
        if sqrt((x(j)-x(i))^2+(y(j)-y(i))^2)<=0.001%判断碰撞
            flag = true;
            break;
        end
    end
    if flag
        break;
    end
end






![[RTOS 学习记录] 复杂工程项目的管理](https://img-blog.csdnimg.cn/img_convert/299e42a82bcfd1b79b68a9e95fba5a32.png#pic_center)
![[第一届 帕鲁杯 CTF挑战赛 2024] Crypto/PWN/Reverse](https://img-blog.csdnimg.cn/direct/cca0ad5a294b40378def6c701ceb43d8.png)












