在上一篇中,我们讲了循环和递归的数学和计算机概念,并举例说明其是一种在生活中的无处不在的结构。相关回顾:
上期在谈到递归与循环的程序逻辑时,循环遍历树的代码换行出现了换行错乱,这里再贴一遍:
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;
}
}
循环和递归的概念是科学上的,然而作为魔术艺术来讲,总是要源于科学原理,并且包装再造,来想方设法高于科学本身,才能作为一种表演而存在。
就像上一讲中提到的那些艺术画,建筑元素一样,循环与递归的基本元素肯定是能够造就美感的。这种相似性的结构无论从直观上还是深层地构造一个艺术概念上都是绝佳的元素。但是要应用的话,也绝不是生搬硬套。
今天这一篇我们来着重分析循环结构在魔术中的应用,重点看其基本逻辑在魔术等艺术形式中的变形与升华。后面我们继续深入分析循环的更多应用,然后进入递归结构继续。
每篇文章都会给大量的魔术和其他艺术的例子来予以充分说明,敬请期待。
循环的魔术逻辑
循环,在表面上看起来就是相似重复,这种在信息上冗余的内容却可以以集合,序列等形式构成一个整体而在艺术上形成完全不同的东西。比如单棵树到森林,一张钞票和一箱钞票,独舞与万人共舞,一旦形成整体,就会气势磅礴,大气伟岸,给人不一样的心理体验。
而魔术借鉴了这一层意思的同时,却是更加的小而美。不仅有通过循环构造的深刻印象,还往往在细微处添加了诸如同而不犯,反跌,高潮,递进,先入为主等各类结构。使得即使在表面看,这个微小的循环也看起来足够美妙,而不是简单的重复。
总结起来,循环的结构,在魔术中有这么几个作用:
强化某个心理概念,暗示出一个先入为主的逻辑,帮助效果制造。最常见的比如在消失硬币的false transfer以前,总要来一次真的,而三杯球之类的表演更是真拿假拿虚虚实实,循环往复地结合了。
在可预见的基本结构下添加效果,强化呈现。因为一旦动作是类似或重复的,那么就会有一个同样结果的期待,那么这时候产生的反差就更加强烈。
魔术的制造和呈现,恰好是魔术艺术的两个重要组成部分。
在魔术中使用这个结构的例子太多了,本系列会以两个新的魔术和以前的一些作品来作一说明,我们慢慢道来。
视频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等前沿的数学及应用领域;也包括魔术思想,流程鉴赏等魔术内容;以及结合二者的数学魔术分享。希望你能和我一起,既能感性思考又保持理性思维,享受人生乐趣。欢迎扫码关注和在文末或公众号留言与我交流!
扫描二维码
关注更多精彩
点击阅读原文,更多精彩不容错过!