“For a sailor, home again, prison again.”





TOP

原帖由 zizidodoII 于 2006-7-9 14:52 发表



初始条件都是默认在圆心?  如果不在圆心还是能逃的吧 另外别上来就跟猫的切线走啊 现象径向反方向走  知道猫的切线和径向反方向平行才开始切线吧 估计有难度 jjd 靠你了


:have.gifsantasmilerose.gif

TOP

原帖由 sailorman 于 2006-7-9 14:53 发表
别算了,兜圈圈,最后猫累死了,老鼠淹死了


猫是机器猫,只要有电就OK,老鼠也是的,淹不死

TOP

原帖由 zizidodoII 于 2006-7-9 14:52 发表



初始条件都是默认在圆心?  如果不在圆心还是能逃的吧 另外别上来就跟猫的切线走啊 现象径向反方向走  知道猫的切线和径向反方向平行才开始切线吧 估计有难度 jjd 靠你了

从头到尾我都没有考虑过切线的问题啊。我一直设定老鼠的屁股对着猫的位置。思路如下,也许有错误,仅供参考。

clear
clc
close all

R=50;

V_mouse=10;
V_cat=4*V_mouse;

Delta_t=0.1;
t=0:Delta_t:7;

% for cat
Phase_cat=V_cat*t/R;

S_cat=[R*cos(Phase_cat); R*sin(Phase_cat)];

% for mouse
k=1;
Phase_mouse=pi;
CosValue_start=1;
for k=1:length(t);
    if k==1
        S_mouse(1,k)=V_mouse*cos(Phase_mouse)*Delta_t;
        S_mouse(2,k)=V_mouse*sin(Phase_mouse)*Delta_t;
    else
        S_mouse(1,k)=S_mouse(1,k-1)+V_mouse*cos(Phase_mouse)*Delta_t;
        S_mouse(2,k)=S_mouse(2,k-1)+V_mouse*sin(Phase_mouse)*Delta_t;  
    end
%   Delta_Phase_mouse=atan((S_cat(2,k)-S_mouse(2,k))/((S_cat(1,k)-S_mouse(1,k)));
    Num=S_cat(2,k)-S_mouse(2,k);
    Den=S_cat(1,k)-S_mouse(1,k);
        
    CosValue=Den/sqrt(Den^2+Num^2);
    if CosValue_start<CosValue
        Delta_Phase_mouse=2*pi-acos(CosValue);
    else
        Delta_Phase_mouse=acos(CosValue);
    end
    Phase_mouse=pi+Delta_Phase_mouse;
    CosValue_start=CosValue;
end
Phase_circle=0:(2*pi/1000):2*pi;
Circle=[R*cos(Phase_circle); R*sin(Phase_circle)];

plot(Circle(1,:), Circle(2,:), 'g');
hold on
plot(S_cat(1,:), S_cat(2,:), 'b', S_mouse(1,:), S_mouse(2,:), 'r','LineWidth', 2)
legend('Circle','Cat','Mouse')
grid on

TOP

原帖由 keynes06062006 于 2006-7-9 14:55 发表


猫是机器猫,只要有电就OK,老鼠也是的,淹不死




呵呵,这块饭后甜点太甜,会腻死人的:P


猫是跑的是等圆,关键是老鼠是不是跑得也是等圆?
“For a sailor, home again, prison again.”





TOP

如果老鼠和猫的连线在直径上,但是老鼠不在圆心,那么老鼠满足某些条件的时候可以逃出去,譬如图中

TEMP2.jpg (98.31 KB)

TEMP2.jpg

TOP

原帖由 jiejiedog 于 2006-7-9 15:00 发表

从头到尾我都没有考虑过切线的问题啊。我一直设定老鼠的屁股对着猫的位置。思路如下,也许有错误,仅供参考。

clear
clc
close all

R=50;

V_mouse=10;
V_cat=4*V_mouse;

Delta_t=0.1;
t=0:Delt ...


等俺考完试 在来搞 lol.gif 顺便和你学学matlab :D
一步又一步……

TOP

如果猫和老鼠连线初始状态不在直径上,情况可能如下
满足某些情况下,老鼠可以逃出去。

temp3.jpg (87 KB)

temp3.jpg

TOP

原帖由 jiejiedog 于 2006-7-9 15:08 发表
如果猫和老鼠连线初始状态不在直径上,情况可能如下
满足某些情况下,老鼠可以逃出去。

辛苦了

TOP

我觉得假设应该是老鼠距离猫最远的地方开始,也就是水池的中央,圆心。这样才可能只有一个答案。

不然假设就多了点。
“For a sailor, home again, prison again.”





TOP