bzoj1094 粒子运动 计算几何

       看了好多份博客。。现在来这里详细讲一下。(附:博客1博客2;)

       求任意两点任意时刻的最近距离,实际上我们可以转化为枚举两个点,求这两个点的历史最近距离。

       显然, 对于一个点,它的运动轨迹是k条折线,不妨先来看如何求出一个点的运动轨迹。见下图:


       我们作出向量AB到达边界以后反弹得到的向量BA'。

       首先考虑一直点A,和向量AB(即运动方向),如何得到点B的坐标,已知点A(px,py)和向量AB(vx,vy),假设圆心为(0,0)(否则将点A平移),设时间为λ,那么列出方程:

       (px+λvx)^2+(py+λcy)^2=r^2,解出λ,那么B(px+λvx,py+λvy)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值