那个方程其实很简单的,你知道速度的定义吗?(平均)速度定义是v=Δs/Δt,即路程与时间之比,对极短时间内,猎狗可视为跑直线,但它奔跑的方向必须在自己与兔子的连线上(因此兔子的移动牵引着猎狗奔跑的方向,猎狗不断地调整着自己的方向,这就是那条线的作用,也是猎狗始终面对兔子追赶的意思,这是一条比较笨的狗)。我们只要设定一个足够短的时间片(即程序中的那个tininess值,越小越精确,它决定了描出曲线的平滑度),在这个时间内,兔子和猎狗都跑匀速直线运动,兔子是真的直线,但猎狗是一截一截的极短直线(连起来就是曲线),两者按同样的比例移动,只要在兔子跑到窝点之前,点坐标相遇,就逮着了。
这个编程思路,是不管兔子怎么跑、猎狗与兔子起始的相对位置如何,都适用的。之所以要求做扩展,就是希望你编程时,不要过于重视题目给出的特殊位置和关系,那必定会影响编程质量的,如果你的程序利用了那些特殊性,则适用面就窄,遇到新情况也不好改。编程,考的就是这种设计功夫,代码多巧妙、数学多精通,都不是首要的——不是首要指仅有那些技能是不够的。
[
本帖最后由 TonyDeng 于 2011-10-1 20:22 编辑 ]