第4行: |
第4行: |
| }} | | }} |
| | | |
− | * 名 称:摄像机-电视自指系统
| |
− | * 作 者:[[Jake]]
| |
− | * 源代码:[http://wiki.swarma.net/index.php/File:Selfref.zip Selfref.zip]
| |
| | | |
− | =简介= | + | ==简介== |
| | | |
| 摄像机对着电视机照,再把摄得的图像反传给电视会得到什么?答案似乎应该是什么都没有。然而实际的实验却告诉我们,这样的一个自指系统能给我们带来非常丰富的复杂图案!一些奇妙的结构会从电视屏幕中源源不断的飞出来。开始,我发现这一现象是因为看到了《哥德尔、埃舍尔、巴赫——一条永恒的金带》这本书中描写了用摄像机拍摄电视会得到奇妙的图案,于是我就自己动手做起了试验。然而出乎意料的是,当我略微调节电视机的亮度、颜色以及摄像机的焦距等等参数以后,却得到了比书中描述的现象更加丰富的图案。而且运用不同的摄像机转动不同的角度会得到完全不一样的结果。 | | 摄像机对着电视机照,再把摄得的图像反传给电视会得到什么?答案似乎应该是什么都没有。然而实际的实验却告诉我们,这样的一个自指系统能给我们带来非常丰富的复杂图案!一些奇妙的结构会从电视屏幕中源源不断的飞出来。开始,我发现这一现象是因为看到了《哥德尔、埃舍尔、巴赫——一条永恒的金带》这本书中描写了用摄像机拍摄电视会得到奇妙的图案,于是我就自己动手做起了试验。然而出乎意料的是,当我略微调节电视机的亮度、颜色以及摄像机的焦距等等参数以后,却得到了比书中描述的现象更加丰富的图案。而且运用不同的摄像机转动不同的角度会得到完全不一样的结果。 |
| | | |
− | 惊喜之余,我开始认真思考这一现象的本质原因是什么。虽然我不懂得电视机和摄像机的呈像、采集原理,但我相信这个系统无非是一个信息系统,应该能够用计算机模拟出来!也就是说,理论上讲,我们完全有可能在计算机屏幕上再现电视机屏幕里展现的东西。于是,我开始开发计算机模拟程序。经过很长时间的探索,我终于找到了一种能够近似模拟电视机中动态图像的计算机仿真办法。这就是上面的Java仿真程序。
| + | 惊喜之余,我开始认真思考这一现象的本质原因是什么。虽然我不懂得电视机和摄像机的呈像、采集原理,但我相信这个系统无非是一个信息系统,应该能够用计算机模拟出来!也就是说,理论上讲,我们完全有可能在计算机屏幕上再现电视机屏幕里展现的东西。于是,我开始开发计算机模拟程序。经过很长时间的探索,我终于找到了一种能够近似模拟电视机中动态图像的计算机仿真办法。这就是下面的Java仿真程序。 |
| | | |
− | <html>
| + | * 源代码:[http://wiki.swarma.net/index.php/File:Selfref.zip Selfref.zip] |
− | <iframe width=400 height=450 frameborder=0 scrolling=no src="http://www.swarma.org/javaclass/classes/self_ref/selfref.htm">
| |
− | </iframe>
| |
− | </html>
| |
| | | |
− | | + | ==操作== |
− | =操作= | + | ===真实摄像机—电视系统的操作=== |
− |
| |
− | ==真实摄像机—电视系统的操作== | |
| | | |
| 相信这是一个非常简单的试验:1、找来一台摄像机和一台电视机。把摄像机的AV输出到电视机的AV端口,调试好,让电视机屏幕中的图像刚好显示摄像机镜头所拍摄的内容;2、将背景光调暗,把电视机的亮度和对比度尽量调小(但是要保证能够分辨出摄像机拍摄的光),色彩度也尽量调小;3、以正常焦距把摄像机调整到正对电视机屏幕的位置。这时候,你能看到电视屏幕中心有一个亮的点或者光球。如果你的背景太黑,有可能在电视机屏幕上得不到任何图像,这时候可以用手电筒或者其他灯光照射电视屏幕,这束灯光将会汇聚到电视屏幕中心。屏幕中心好比一个黑洞会吸收所有屏幕上的光;4、逐渐扩大焦距,保持亮点或者光球在屏幕中心的位置,渐渐的亮点可能会变成一个跳动不堪的混沌的气体,这时应尽量减小摄像机的晃动,继续拉大焦距;5、复杂的结构会突然出现,为了不让这些结构消失,可以调整摄像机的照射点到屏幕上光比较多的位置,复杂的结构会源源不断的在屏幕中产生就好像是星系的爆发;6、旋转摄像机的角度会得到旋转的星系。 | | 相信这是一个非常简单的试验:1、找来一台摄像机和一台电视机。把摄像机的AV输出到电视机的AV端口,调试好,让电视机屏幕中的图像刚好显示摄像机镜头所拍摄的内容;2、将背景光调暗,把电视机的亮度和对比度尽量调小(但是要保证能够分辨出摄像机拍摄的光),色彩度也尽量调小;3、以正常焦距把摄像机调整到正对电视机屏幕的位置。这时候,你能看到电视屏幕中心有一个亮的点或者光球。如果你的背景太黑,有可能在电视机屏幕上得不到任何图像,这时候可以用手电筒或者其他灯光照射电视屏幕,这束灯光将会汇聚到电视屏幕中心。屏幕中心好比一个黑洞会吸收所有屏幕上的光;4、逐渐扩大焦距,保持亮点或者光球在屏幕中心的位置,渐渐的亮点可能会变成一个跳动不堪的混沌的气体,这时应尽量减小摄像机的晃动,继续拉大焦距;5、复杂的结构会突然出现,为了不让这些结构消失,可以调整摄像机的照射点到屏幕上光比较多的位置,复杂的结构会源源不断的在屏幕中产生就好像是星系的爆发;6、旋转摄像机的角度会得到旋转的星系。 |
| | | |
− | ==Java程序操作== | + | ===Java程序操作=== |
| | | |
| 该Java程序模拟了真实的摄像机——电视机自指系统。打开Java仿真程序,会看到上面部分是一个黑色的屏幕,它模拟了电视机屏幕;下面有一个按钮控制面板,它可以模拟摄像机的旋转、变焦距等操作。你可以直接点击Auto按钮,程序会自动选择参数,复杂的结构在屏幕中心产生并向四周扩散。或者可以手动模仿上面讲的真实摄像机——电视机系统中的操作步骤。点击Start按钮,你将会看到一个白色的光球被吸引到中心点,并在中心形成光的汇聚。那个初始的光球就是手电筒照射电视机屏幕的光。点击Off按钮,相当于把手电筒关闭,初始的光球会消失,然而中心的光不会消失。拉动底下的滑块可以变换摄像机扩大、缩小的变焦比例。右边的文本框显示了当前扩缩的比例。点击>和<按钮相当于顺时针或者逆时针旋转摄像机。你可以不停的变换这些参数,上方屏幕中的图案将会不停的变化,展现出类似真实电视机中的复杂图案。 | | 该Java程序模拟了真实的摄像机——电视机自指系统。打开Java仿真程序,会看到上面部分是一个黑色的屏幕,它模拟了电视机屏幕;下面有一个按钮控制面板,它可以模拟摄像机的旋转、变焦距等操作。你可以直接点击Auto按钮,程序会自动选择参数,复杂的结构在屏幕中心产生并向四周扩散。或者可以手动模仿上面讲的真实摄像机——电视机系统中的操作步骤。点击Start按钮,你将会看到一个白色的光球被吸引到中心点,并在中心形成光的汇聚。那个初始的光球就是手电筒照射电视机屏幕的光。点击Off按钮,相当于把手电筒关闭,初始的光球会消失,然而中心的光不会消失。拉动底下的滑块可以变换摄像机扩大、缩小的变焦比例。右边的文本框显示了当前扩缩的比例。点击>和<按钮相当于顺时针或者逆时针旋转摄像机。你可以不停的变换这些参数,上方屏幕中的图案将会不停的变化,展现出类似真实电视机中的复杂图案。 |
| | | |
| | | |
− | =原理= | + | ==原理== |
| | | |
| 本质上讲,摄像机——电视机自指系统就是一个如下图的反馈系统: | | 本质上讲,摄像机——电视机自指系统就是一个如下图的反馈系统: |
第54行: |
第46行: |
| | | |
| 这里w是摄像机的缩放比例,θ是摄像机旋转的角度。<math>x_0, y_0</math>是摄像机正对屏幕点的坐标。在仿真中,该点一直为屏幕的中心。在上式中,我们用三维的齐次坐标来表示二维点信息。 | | 这里w是摄像机的缩放比例,θ是摄像机旋转的角度。<math>x_0, y_0</math>是摄像机正对屏幕点的坐标。在仿真中,该点一直为屏幕的中心。在上式中,我们用三维的齐次坐标来表示二维点信息。 |
| + | |
| | | |
| 然而,如果仅仅用上面的方程做为对摄像机——电视系统的仿真不能达到模拟的效果,屏幕上的点将会很快的飞出屏幕并消失。为此,我们必须要对这个线性的变换进行修改: | | 然而,如果仅仅用上面的方程做为对摄像机——电视系统的仿真不能达到模拟的效果,屏幕上的点将会很快的飞出屏幕并消失。为此,我们必须要对这个线性的变换进行修改: |
| #当一个像素点转变成新的像素点的时候,旧有的像素点不会立即消失,而是以一定的概率残留。 | | #当一个像素点转变成新的像素点的时候,旧有的像素点不会立即消失,而是以一定的概率残留。 |
| #当多个像素点经变换发生碰撞的时候(汇聚到了一个像素的位置)将会产生溢出现象,也就是说,碰撞产生的多余亮度将会往该碰撞点的边缘膨胀。具体膨胀的方向也是随机的给出。 | | #当多个像素点经变换发生碰撞的时候(汇聚到了一个像素的位置)将会产生溢出现象,也就是说,碰撞产生的多余亮度将会往该碰撞点的边缘膨胀。具体膨胀的方向也是随机的给出。 |
| + | |
| | | |
| 我们看到,这种经过修改的跌代系统已经不是原始的线性跌代系统了,我们可以把它称作经过干扰的跌代系统。一般的混沌与分形理论仅仅讨论了跌代规则不发生变化的系统,然而这个仿真系统却是一个跌代规则也会发生变化的系统。这种修改后的跌代系统刚好能够产生前面叙述的复杂性。 | | 我们看到,这种经过修改的跌代系统已经不是原始的线性跌代系统了,我们可以把它称作经过干扰的跌代系统。一般的混沌与分形理论仅仅讨论了跌代规则不发生变化的系统,然而这个仿真系统却是一个跌代规则也会发生变化的系统。这种修改后的跌代系统刚好能够产生前面叙述的复杂性。 |
| | | |
| | | |
− | =一些结果= | + | ==一些结果== |
| | | |
| 下面所列都是一些视频文件,即我用真实的摄像机——电视系统摄出来的图案,有些图像的效果非常美丽。 | | 下面所列都是一些视频文件,即我用真实的摄像机——电视系统摄出来的图案,有些图像的效果非常美丽。 |
| | | |
− | [[File:Selfref1.jpg|Selfref1.jpg|frame|none|[http://wiki.swarma.net/index.php/File:WEB1.rm.zip 视频下载]]] | + | [[File:Selfref1.jpg|Selfref1.jpg|thumb|center|none|[http://wiki.swarma.net/index.php/File:WEB1.rm.zip 视频下载]]] |
| | | |
| | | |
第198行: |
第192行: |
| 如果说自指能够诞生复杂性,而且自指能产生怪圈。那么我们如何利用类似摄像机—电视机的跌代系统方法实现真正的“无中生有”呢?也许这会是一个可能带来重大突破、激动人心的课题。 | | 如果说自指能够诞生复杂性,而且自指能产生怪圈。那么我们如何利用类似摄像机—电视机的跌代系统方法实现真正的“无中生有”呢?也许这会是一个可能带来重大突破、激动人心的课题。 |
| | | |
| + | ---- |
| + | * 作 者:[[Jake]] |
| | | |
| [[category:虚拟世界]] | | [[category:虚拟世界]] |
| [[category:模拟程序]] | | [[category:模拟程序]] |