找回密码
 欢迎注册
查看: 46597|回复: 26

[提问] 重复取多边形的中点连线趋向椭圆

[复制链接]
发表于 2013-1-23 13:10:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
随机画一些点,然后将他们连起来形成新多边形。找到多边形所有边的中点并将这些中点连成一个新的多边形,如此重复下去,最终的图像越来越小且趋向与一个椭圆

评分

参与人数 1鲜花 +12 收起 理由
wayne + 12 有意思

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-23 13:39:29 | 显示全部楼层
这个怎么证明趋于椭圆呢?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-23 13:47:19 | 显示全部楼层
2# chyanog
连线有讲究吗,可以随便的连?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-23 15:09:30 | 显示全部楼层
呵呵,这是因为一些随机数,相邻的数取平均后将得到正弦曲线。
  1. s = Table[RandomReal[], {200}]; Do[Print[ListPlot[s]];
  2. Do[s = (s + Append[Rest[s], First[s]])/2;, {1000}];
  3. , {10}];
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-23 15:34:23 | 显示全部楼层
进一步,形如
  1. s=IdentityMatrix[n];m=(s+Append[Rest[s],First[s]])/2;
复制代码
的矩阵m的本征值恰好是x/2+1/2(其中x是x^n-1=0的n各根)。

评分

参与人数 1威望 +12 鲜花 +12 收起 理由
wayne + 12 + 12 yeeah, 比我的简单多了!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-23 16:03:16 | 显示全部楼层
Append[Rest[s],First[s]]可以用RotatoLeft[s]搞掂。

评分

参与人数 2贡献 +2 经验 +2 鲜花 +4 收起 理由
zgg___ + 2 + 2 + 2 呵呵,谢谢。
wayne + 2 :)

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-23 16:41:55 | 显示全部楼层
3# wayne
没讲究的
  1. ListAnimate[
  2. Graphics@{Line@#, Point@#} & /@
  3.   NestList[(RotateLeft@# + #)/2 &, RandomReal[1, {50, 2}], 500]]
复制代码
Partition也较简洁,但是速度慢好多
  1. (RotateLeft@# + #) &@{a, b, c, d}/2
  2. Mean /@ Partition[{a, b, c, d}, 2, 1, 1]
复制代码
  1. Manipulate[
  2. ListLinePlot[Nest[(RotateLeft@# + #)/2 &, RandomReal[1, 50], n],
  3.   PlotMarkers -> Automatic], {n, 1, 10^4, 1}]
复制代码
在空间也是类似的

评分

参与人数 1鲜花 +6 收起 理由
wayne + 6 挺漂亮的!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-24 10:27:15 | 显示全部楼层
恩,尝试了一下几何平均数,貌似结果一致。
这里面貌似有一个问题,就是:设点的数目为n,迭代次数为m,lz的问题中m和n都是趋于无穷,而没有说明m和n中谁更大一些。呵呵。
其实,可以看到,当形成凸多边形之后,每一次迭代都会使多边形的面积减少,这是否意味着结果是一个位于(1/2,1/2)的点呢?呵呵,我想当m比n“大”的时候会是这样子的吧。(不过,由于m和n都是无穷大,所以我这里说的究竟是什么意思我自己也不知道的呢。呵呵。)

评分

参与人数 1鲜花 +2 收起 理由
wayne + 2 真严谨啊,下班了我也试一试

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-24 11:29:40 | 显示全部楼层
恩,如果x,y平均的办法是在x,y之间随机取点,那么结果貌似和取算数平均的结果是一致的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-1-24 12:06:09 | 显示全部楼层
在简化的情况下,只考虑单变量随机数组即可,也就是只拿出一个维度来(高维度的仅仅是单维度参数化的表达)。
我考虑了一个较为一般的情况:

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

针对LZ提供的问题,实际上算数平均、几何平均等的效果都是一致的(至少在收敛态势上这样)。另外,由于初始父数列的选取没有规律,最后弦曲线的收敛水平线也是不固定的,但是可以猜测(确认)由父数列的一些特征决定。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-20 05:25 , Processed in 0.048013 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表