在上一篇中,我们讲了循环和递归的数学和计算机概念,并举例说明其是一种在生活中的无处不在的结构。相关回顾:

循环、递归与魔术(一)——递归与循环的数理逻辑

上期在谈到递归与循环的程序逻辑时,循环遍历树的代码换行出现了换行错乱,这里再贴一遍:

BFSTree(Tree tree) { vector<tree *> tree_list(1), new_tree_list; tree_list[0] = &tree; while(tree_list.size() > 0) {new_tree_list.clear();for (int I = 0;i < tree_list.size(); i ++) {  cout << tree_list[i].node_name <<“\n”;  new_tree_list.insert(new_tree_list.end(),tree_list[i].child_list.begin(), tree_list[i].child_list.end());}tree_list = new_tree_list;}}

循环和递归的概念是科学上的,然而作为魔术艺术来讲,总是要源于科学原理,并且包装再造,来想方设法高于科学本身,才能作为一种表演而存在。

就像上一讲中提到的那些艺术画,建筑元素一样,循环与递归的基本元素肯定是能够造就美感的。这种相似性的结构无论从直观上还是深层地构造一个艺术概念上都是绝佳的元素。但是要应用的话,也绝不是生搬硬套。

今天这一篇我们来着重分析循环结构在魔术中的应用,重点看其基本逻辑在魔术等艺术形式中的变形与升华。后面我们继续深入分析循环的更多应用,然后进入递归结构继续。

每篇文章都会给大量的魔术和其他艺术的例子来予以充分说明,敬请期待。

循环的魔术逻辑

循环,在表面上看起来就是相似重复,这种在信息上冗余的内容却可以以集合,序列等形式构成一个整体而在艺术上形成完全不同的东西。比如单棵树到森林,一张钞票和一箱钞票,独舞与万人共舞,一旦形成整体,就会气势磅礴,大气伟岸,给人不一样的心理体验。

而魔术借鉴了这一层意思的同时,却是更加的小而美。不仅有通过循环构造的深刻印象,还往往在细微处添加了诸如同而不犯,反跌,高潮,递进,先入为主等各类结构。使得即使在表面看,这个微小的循环也看起来足够美妙,而不是简单的重复。

总结起来,循环的结构,在魔术中有这么几个作用:

  1. 强化某个心理概念,暗示出一个先入为主的逻辑,帮助效果制造。最常见的比如在消失硬币的false transfer以前,总要来一次真的,而三杯球之类的表演更是真拿假拿虚虚实实,循环往复地结合了。

  2. 在可预见的基本结构下添加效果,强化呈现。因为一旦动作是类似或重复的,那么就会有一个同样结果的期待,那么这时候产生的反差就更加强烈。

魔术的制造和呈现,恰好是魔术艺术的两个重要组成部分。

在魔术中使用这个结构的例子太多了,本系列会以两个新的魔术和以前的一些作品来作一说明,我们慢慢道来。

视频1 4Ace加强升降机

(英文版本,相信你听得懂!)

作品由来

这个作品是来深圳以后和魔术师朋友聚会时候学到的,很久难得的一次眼前一亮。当然大家应该也都能看到,最亮的部分就来源于最后那4个Ace一起跑到顶部的那个结尾的高潮了。

哪怕这很容易扒,我知道怎么变了,也知道用手法做起来并没有那么难,还是仍然为这精妙的构造所呈现的最终效果所折服。

还是在小学时候看《魔星高照》的时候,就学过类似的4Ace升降机,印象中Penny在魔术吧里也发布过在小黑屋里拍的类似的教学。那时候所了解的第一原理就是:前移原理。

第一次学到这个名词是在刘谦《魔法诱惑》中的讲解,在马克威尔逊《奇幻魔术》里也见到过这个要完成n个效果,其实只需要能完成其中一个,而在完成第i个效果的同时去做好完成第(i + 1)个效果的准备。这样的错位使得魔术师的逻辑一直都领先一个身位,而最后唯一一次落后,用其他的方法强力完成就可以了。

其表面上有点像田忌赛马的结构,它可以让你2:1胜利。而这里,可以让你把一种一般的超能力变成一系列爆炸效果,而付出的延时展示的代价反而成了一种拉高观众期待的方法。当然,展现时候,也部分用到了序列的循环性或者集合的无序性,使得结果没有差错。

关于“前移原理”,我们以后在专门写文章讲,这里先到这里。

作品的改进与思考

然后,原作的4Ace升降机是比较依赖于这个原理而轻手法的,唯一的手法效果是在Ace叠上添加了一张牌。于是,如果表演的故事不是十分出彩和吸引人的话,那么倒推一下,是很容易顺藤摸瓜地逻辑推理出整个原理的。虽然是个好原理,但是太单薄;就像即使是个好错引,但是也尽量避免在观众眼皮子低下去做;是个好效果,也要避免去直接挑战观众的信念而站在对立面。魔术内容的厚度,一方面是实力展示,另一方面,也是作为完整艺术品的基础。

美酒虽好,可不要贪杯。在技术性原理应用的同时,不用满,再补上一些手法,再加上一些故事,还有一个惊人的结局。观众此时会从不信任变成完全沉醉在这一场梦幻的表演中。因为,相比较于去猜,还不如趁着这机会一起做个美妙的白日梦呢!

单独拆开看每一个动作,double,pinky count,break等等,都是扑克魔术中普通得不能再普通的手法了。然而魔术的巧妙之处就在于“排列组合”这些基本的动作,最终在合理的表面完成一个惊天大效果!这和我在做深度学习搭建网络去调用各种函数搭积木还真有点类似。

但是,魔术的设计完成需要灵感和艺术加持,光光穷举是没有好效果的,搭神经网络也是玄学,你真的不知道大神为什么要在某一层改了一个激活函数就收敛了!

有人说,是先有梦想的魔术效果,再去开发相应的手法和道具来完成,也有人反过来。我想二者应该是互为因果吧。有一些基本手法和道具的基本积木,也有一些想象的蓝图。但是他们并非能恰好融合,肯定要在一些限定下去修补,简化,有时在限制下反而构造了传世经典。比如傅腾龙父子的心灵感应魔术可能用现在的无线电设备应该已经不难完成了。可是你在当时能做到,就是奇迹!

回到这个魔术。大家发现了,这个魔术之所以神奇而印象深刻是因为在普通效果下最后的加强。这个突如其来的效果使得一切猜疑都烟消云散,转而共同享受这个奇迹。

其实还有个细节,即使是循环的结构,计算机要的就是有规律变化的相似,甚至是完全一样,来得到固定准确的结果。而魔术里面用循环来强化概念,也要避免无聊。所以仔细看你会发现,每一次升降的内容都不一样:顶到底,底到顶,中间到顶,全部一起底到顶。

这种方式我们在文学作品里叫做同而不犯。既结构相似,却又有所不同,相似产生联系,而不同产生反差,由此产生戏剧冲突或者魔术里的效果强化。使得最终效果得以完成。

加一个小插曲,在我参加一个节目录制的时候,我表演了这个魔术,在拍摄时,第三叠牌需要pinky count的时候多数了一张,直接导致后面的流程全乱。然而这时候,我直接顺势而为改起了后面的流程,大脑飞速运转这多数的一张需要怎样在后面来弥补,并且用哪个手法能够最简单地做到。于是后面double改triple,增加cut调整,最后归位,以至于在表面上看不出有任何异常,效果也与正常表演一模一样!

还有一个细节是,就double而言,如果能直接从桌面上count并拿起,不经过另外一只手的话,其信服和自然度肯定要高很多,然而到正式拍摄的时候,我居然习惯性地为了保险起见拿了起来,pinky count,然后break,再double。

只因为我对这三个动作的流程比直接从桌上拿练得更多更自信啊,在一些要求更高的场合会自然地选择更稳妥的方式,然而就牺牲了一些平常训练中可能失误但是会更惊艳的表演。

这就好像平常模拟考试小打小闹能考好,和高考的时候能考好完全也是两个概念一样。

下一篇我们将继续说魔术里的循环,不妨先看看视频,下回我们继续分解:

视频2 魔术师斗老千


本公众号现放送数学和魔术相关资料,都是作者精心筛选的精华内容!现在进入公众号后台:回复“数学”,《数学建模算法与应用》,数模经典教材,司守奎著回复“数学2”,《Pattern Recognition and Machine Learning》,机器学习圣经回复“魔术3”,magic2728魔术教学:《Double Lift讲解》
回复“魔术4”,magic2728魔术作品:《混沌的世界》

好了,今天数学魔术师的分享就到这里,希望各位客官喜欢,期待你的转发和赞赏哦!





我们是谁:

MatheMagician,中文“数学魔术师”,原指用数学设计魔术的魔术师和数学家。我们既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。文章内容涵盖互联网,计算机,统计,算法,NLP等前沿的数学及应用领域;也包括魔术思想,流程鉴赏等魔术内容;以及结合二者的数学魔术分享。希望你能和我一起,既能感性思考又保持理性思维,享受人生乐趣。欢迎扫码关注和在文末或公众号留言与我交流!







扫描二维码

关注更多精彩



循环、递归与魔术(一)——递归与循环的数理逻辑

Roberto Giobbi的纸牌大学

我的亲子魔术首秀

Michael Ammar 来了!

字母预言卡里的魔术与数学(四)——Sperner's Theorem的美妙证明

点击阅读原文,更多精彩不容错过!

循环、递归与魔术(二)——循环的魔术逻辑浅析与欣赏相关推荐

  1. 循环递归,相互结合,释放数据的价值

    随着经济的发展,目前各行各业已经积累了海量的数据,并且还在持续增长,可是这些数据非常杂乱还占空间,因此,如何有效利用它们,达到资源不浪费也就成为了相关工作者的首要思考问题. 此时,数据分析便应运而生. ...

  2. PHP反序列化详解(二)——PHP魔术方法与PHP反序列化漏洞

    今天继续给大家介绍渗透测试相关知识,本文主要内容是PHP反序列化详解(二)--PHP魔术方法与PHP反序列化漏洞. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成 ...

  3. linux下循环读取目录文件,linux循环递归读取目录指定类型文件及计算阶乘脚本...

    linux循环读取目录指定类型文件脚本 ergodic.sh #!/bin/bash function ergodic { for file in ` ls $1` do if [ -d $1&quo ...

  4. 宇宙的模式:递归、分形与循环

    本文系转载,仅供学术交流讨论使用.初读本文是2019年参加省培训时,由一位上课老师分享的,当时也未说明作者,之后在网上查询也未能找到原创作者,希望作者能够联系我认领文章,将会在文中补充作者版权所有与署 ...

  5. JavaSE(二)——循环语句

    文章目录 1. Scanner工具类 2. if...else条件语句 3. 循环语句 3.1 while 循环语句 3.2 do while 循环语句 3.3 for 循环语句 4. switch ...

  6. python学习笔记二— 循环

    程序结构 •三种结构◾顺序 ◾循环 ◾分支 分支结构 •分支结构基本语法◾if (如果) 条件表达式: ◾语句1 ◾语句2 ◾语句3 ◾- •条件表达式就是计算机结果必须为 布尔值 的表达式 •表达式 ...

  7. 约瑟夫问题与魔术(五)——魔术《自我匹配的奇迹》中的数学原理

    特别通知:2020马丁加德纳聚会已于本周开始在线上举行,MatheMagician也将在10.18周日晚8点带来题为<数学魔术的魅力>讲座,详情请点击: 2020中国纪念马丁·加德纳聚会线 ...

  8. 约瑟夫问题与魔术(八)——魔术《四重巧合之金刚》

    转眼已经写到这个系列的第7篇了,前面分别完成了3篇约瑟夫问题的数学剖析和3篇魔术欣赏,相关文章请戳: 约瑟夫问题与魔术(七)--魔术<The Australian Deal> 约瑟夫问题与 ...

  9. c语言条件型循环结构报告,C语言循环结构实习报告 - 副本

    认识(实习)报告 实验(实习)名称循环结构程序设计 日期得分指导教师系专业年级班次姓名学号 一. 实验目的 (1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数. ⑵了 ...

最新文章

  1. MS SQL数据库服务介绍
  2. cm 怎么限制hue数据下载_0724-6.2.0-CM接管rpm方式安装的无CM的CDH集群-2
  3. beego api mysql_beego搭建api服务
  4. Centos6.5集群安装64位hadoop2.2.0
  5. Leetcode 199.二叉树的右视图 (每日一题 20210628 同类型题)
  6. c++获得总和S所需的最小硬币数量的函数(附完整源码)
  7. 外部仓库_仓库主要作业流程和WMS作业优化方案
  8. 需求分析之UML用例图学习
  9. asp.net如何取得客户端控件的值
  10. python post 上传文件_Python脚本POST上传数据以及文件
  11. 供应链三道防线(读书笔记)2(共4)
  12. 为什么ps不能用计算机,电脑ps软件的填充功能无法使用怎么处理
  13. 20190519 ICPC西安邀请赛游记
  14. VBS隐藏bat窗口
  15. 面向问题编程-切面+反射实现字段级别权限控制
  16. 网易互娱2017实习生招聘在线笔试第一场-3划线
  17. 顶点计划6-4小组调研报告
  18. P4313 文理分科
  19. 从键盘读入学生成绩,找出最高分, 并输出学生成绩等级
  20. 今年诺贝尔奖得主居然把这事研究清楚了:学历和收入到底有多大关系?

热门文章

  1. 89岁诺奖得主罗杰·彭罗斯,有一个令人咂舌的家族
  2. 【Android】基础篇:Android中TextView控件学习
  3. DLL劫持原理防御方法
  4. 在 iOS 中实现 Google 灭霸彩蛋【有趣】
  5. 树莓派(zero w)——如何在使用WIFI热点时获得树莓派IP地址
  6. 鼎捷软件:“数字化转型”喧嚣下,企业管理者们需要冷思考
  7. PCL库学习(8)_点云调参系统之环境搭建QT5.7.0+VS2013+PCL1.8.0配置
  8. 最新通知!ComingChat V0.0.6版本上线!
  9. USDA报告后油脂大涨,原油认购末日翻倍,豆粕01-03季节性正套2022.5.13
  10. Office WORD里面打字,后面的字自动被删除怎么办