chyanog 发表于 2013-1-23 13:10:45

重复取多边形的中点连线趋向椭圆

随机画一些点,然后将他们连起来形成新多边形。找到多边形所有边的中点并将这些中点连成一个新的多边形,如此重复下去,最终的图像越来越小且趋向与一个椭圆
http://img1.5d6d.net/201301/23/23488266_135891729502bL.gif

chyanog 发表于 2013-1-23 13:39:29

这个怎么证明趋于椭圆呢?

wayne 发表于 2013-1-23 13:47:19

2# chyanog
连线有讲究吗,可以随便的连?

zgg___ 发表于 2013-1-23 15:09:30

呵呵,这是因为一些随机数,相邻的数取平均后将得到正弦曲线。s = Table, {200}]; Do];
Do, First])/2;, {1000}];
, {10}];

zgg___ 发表于 2013-1-23 15:34:23

进一步,形如s=IdentityMatrix;m=(s+Append,First])/2;的矩阵m的本征值恰好是x/2+1/2(其中x是x^n-1=0的n各根)。

hujunhua 发表于 2013-1-23 16:03:16

Append,First]可以用RotatoLeft搞掂。

chyanog 发表于 2013-1-23 16:41:55

3# wayne
没讲究的ListAnimate[
Graphics@{Line@#, Point@#} & /@
NestList[(RotateLeft@# + #)/2 &, RandomReal, 500]]Partition也较简洁,但是速度慢好多(RotateLeft@# + #) &@{a, b, c, d}/2
Mean /@ Partition[{a, b, c, d}, 2, 1, 1]Manipulate[
ListLinePlot, n],
PlotMarkers -> Automatic], {n, 1, 10^4, 1}]在空间也是类似的

http://img1.5d6d.net/201301/23/23488266_1358931454WEgI.gif

zgg___ 发表于 2013-1-24 10:27:15

恩,尝试了一下几何平均数,貌似结果一致。
这里面貌似有一个问题,就是:设点的数目为n,迭代次数为m,lz的问题中m和n都是趋于无穷,而没有说明m和n中谁更大一些。呵呵。
其实,可以看到,当形成凸多边形之后,每一次迭代都会使多边形的面积减少,这是否意味着结果是一个位于(1/2,1/2)的点呢?呵呵,我想当m比n“大”的时候会是这样子的吧。(不过,由于m和n都是无穷大,所以我这里说的究竟是什么意思我自己也不知道的呢。呵呵。)

zgg___ 发表于 2013-1-24 11:29:40

恩,如果x,y平均的办法是在x,y之间随机取点,那么结果貌似和取算数平均的结果是一致的。

BeerRabbit 发表于 2013-1-24 12:06:09

在简化的情况下,只考虑单变量随机数组即可,也就是只拿出一个维度来(高维度的仅仅是单维度参数化的表达)。
我考虑了一个较为一般的情况:

“给定一个无穷(随机,可以是周期的)数列a{n}(父数列),每次从第n项开始向后顺次总共选取k项作为参数传递进一个函数F,并将返回值作为另一个新数列b{n}(子数列)的第n项。然后对b{n}进行上面的操作产生c{n}...过程中考察新数列的变化趋势。因为F的选取一般来说是比较特殊的,而且新数列较之父数列可能是收敛的,因此可以在必要的时候根据操作次数对新数列进行增幅操作(实际上这仅仅方便观察而已)。”

针对LZ提供的问题,实际上算数平均、几何平均等的效果都是一致的(至少在收敛态势上这样)。另外,由于初始父数列的选取没有规律,最后弦曲线的收敛水平线也是不固定的,但是可以猜测(确认)由父数列的一些特征决定。
页: [1] 2 3
查看完整版本: 重复取多边形的中点连线趋向椭圆