专栏首页机器之心投不进球都是篮板的锅,这个用蒙特卡罗法做的篮板让你「百发百中」

投不进球都是篮板的锅,这个用蒙特卡罗法做的篮板让你「百发百中」

机器之心报道

参与:张倩

喜欢投篮,但总也投不进,真是令人沮丧。游戏里能借助各种方式开挂,现实里行得通吗?国外的一位小哥表示,换个篮板就得了。

图上的这个篮板是一位名叫 Shane Wighton 的小哥做出来的。上个月,他在 YouTube 上放出了这段视频,点击量已经超过 437 万。从视频中可以看出,这个篮板几乎可以让你「百发百中」。

我们注意到,这块篮板和普通篮板长得不太一样。普通篮板都是平的,要想进球就得让球以合适的角度、速度打在某些特定的位置,非常需要技巧。但这块篮板是曲面的,而且弯曲的弧度经过了精密的计算,即使球技很差的人也能轻易进球。

这位小哥表示,做这么一个篮板是他一直以来的心愿,早就列入了「遗愿清单」(bucket list),只是最近刚好有空做了出来。

刚开始的想法非常简单,就是觉得要做一个「曲面」的篮板,让打在上面的球都能被弹到篮筐里,就像下边这张草图:

那么问题来了,这个弯曲的弧度怎么把握?用什么方法算出来?

在现实生活中,有些问题是很难求解的,要么不可能,要么计算量过大。以「三体」问题为例,假如有三个天体,它们的质量、初始位置和初始速度都是任意的,那么它们之间在万有引力作用下的运动规律就很难准确地表示出来,因为其历史轨迹看起来就像一团乱麻。算不出天体运动轨迹也就制定不了历法,预测不了头顶几个太阳何时同时出现,遇上天灾分分钟灭绝,这也是三体人要侵占地球的原因。

同理,篮球击在篮板上的可能性似乎也有无数种,每次角度、速度、在篮板上的落点变化都会产生一种新的轨迹。作为一个娱乐项目,把每种可能都模拟出来显然是不现实的。也就是说,想做一块百发百中的篮板似乎不太可能。

在这种情况下,Wighton 专门做了一款软件,尽可能多地模拟投篮过程中的可能性。

他在篮球场的不同位置将球击在篮板的不同部位,然后根据每次投篮的结果修改篮板上相应点的角度,使得击到这个位置的篮球能够落到篮筐里。

在软件中将这一过程重复几千万次,使得篮板的形状越来越接近「百发百中」的目标,这就是蒙特卡罗方法的思想,但作者表示,「我不知道蒙特卡罗是谁」。

蒙特卡罗方法是一类广泛的计算算法,它依赖于重复随机抽样来获得数值结果,由 S.M. 乌拉姆和冯 · 诺伊曼首先提出。他们二人是 20 世纪 40 年代美国在第二次世界大战中研制原子弹的「曼哈顿计划」计划的成员。冯 · 诺伊曼用驰名世界的赌城——摩纳哥的 Monte Carlo 来命名这种方法,为它蒙上了一层神秘色彩。

蒙特卡罗是一类随机算法,在采样不全时通常不能保证找到最优解,但采样越多,越近似最优解。这也是 Wighton 做篮板的基本思想。

在此过程中,Wighton 还利用最小二乘法对计算结果进行了优化,由此得出一个新的曲面篮板:

最后得到的篮板大致长这样:

接下来就是一些「木工」活儿了。Wighton 借助数控机床和 3D 打印技术做出了篮板的木质零部件:

‍一番操作之后,得到的零部件是这样的:

然后将他们拼在一起:

接下来就是见证奇迹的时刻:

咦?说好的百发百中呢?怎么老是碰到篮筐?

Wighton 发现自己忽略了一个问题:计算球的半径。

对于这个问题,Wighton 找到了一种非常简单的解决方法:将篮筐往前移动一定距离。然后,投球就真的近乎「百发百中」了!

这个视频在 YouTube 发布后,引来了 400 多万点击量和 7000 多条评论。

而点赞量最高的评论对这个创意不吝褒奖:

「你应该为这个设计申请专利,再找一家公司进行批量生产。我一定会买,太有意思了!」

也有网友表示:

「我,一个绝无体育细胞的人,还是能够找到投篮失败的角度……」

Emmm,很厉害哦,这位网友大概是 Wighton「投篮百发百中」之旅的绊脚石吧。

最后奉上完整视频:

https://v.qq.com/x/page/e0964ph3307.html

本文分享自微信公众号 - 机器之心(almosthuman2014),作者:Synced

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 人脸识别、轨迹追踪、3D体感摄影,「百发百中」篮板升级,网友:你怎么那么有钱有闲有知识

    在上个月发布的一个 YouTube 视频中,一位名叫 Shane Wighton 的小哥展示了一款特殊的篮板。与普通的平面篮板不同,这个篮板是曲面的,每个位置的...

    机器之心
  • 50种常用的matplotlib可视化,再也不用担心模型背着我乱跑了

    50 种可视化图原地址:https://www.machinelearningplus.com/plots/top-50-matplotlib-visualiz...

    机器之心
  • 新型冠状病毒传染性有多强?何时达到峰值?来看一下数学和统计建模结果

    在传染病学领域,建模评估和预测病毒的传播路径、速率等对于疫情的控制非常重要。在经典的传染病学模型中,R0 值常被用来描述疫情的传染速率,可以反映传染病爆发的潜力...

    机器之心
  • 人脸识别、轨迹追踪、3D体感摄影,「百发百中」篮板升级,网友:你怎么那么有钱有闲有知识

    在上个月发布的一个 YouTube 视频中,一位名叫 Shane Wighton 的小哥展示了一款特殊的篮板。与普通的平面篮板不同,这个篮板是曲面的,每个位置的...

    机器之心
  • 嵌入式开发与信息系统开发,有什么不同?

    嵌入式开发和信息系统开发,有什么不同? 一天突然想到这个问题,两种工程的模式异同点很多,有一个角度, 从程序输入测试数据,再看测试用例。 测试和开发同样重要...

    糖果
  • Slack 开发入门之 Incoming Webhooks:往 Slack 的 Channel 中发消息

    一个工程师团队使用 Slack 进行团队协作比 QQ / 微信流的效率高多啦。除了基本的 IM 之外,它的扩展性也是非常重要的一点。

    walterlv
  • 使用SAP connect发送HTML格式的邮件

    Jerry Wang
  • 抓包调试protobuf请求

    在轻松篡改WebSocket数据包一文中谈了如何用whistle抓包调试WebSocket请求,事实上whistle也支持对普通的Socket(TCP)请求进行...

    IMWeb前端团队
  • 为vim编辑器添加默认的作者信息

    上周五Derek老师分享了精彩的Vim思维导图(回复公众号vim即可查看哦),今天又带来什么呢?继续往下看吧! 很多程序员都想给自己的程序添加一些作者信息之类的...

    小小科
  • 代码审计 | Ecms定制版代码审计实战思路分享

    朋友买了一套php源码,要做类似于证书查询的功能,让我帮忙审计一下有没有高危的漏洞,仅挖掘getshell,告知我这个系统是由ecms也就是帝国cms简化来的,...

    7089bAt@PowerLi

扫码关注云+社区

领取腾讯云代金券