| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1792 人关注过本帖, 1 人收藏
标题:【分享】破纪录:MandelbrotSet动态放大视频4 (放大1e258或2^857倍)
只看楼主 加入收藏
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
结帖率:96.15%
收藏(1)
已结贴  问题点数:41 回复次数:12 
【分享】破纪录:MandelbrotSet动态放大视频4 (放大1e258或2^857倍)
前一个视频帖子链接:
https://bbs.bccn.net/thread-333856-1-1.html

视频链接:
http://v.

视频详细信息:
每秒放大8倍
视频放大过程时长286秒
最终放大1e258(2^857)倍
每秒24帧
源分辨率 1280 x 960
视频分辨率 640 x 480

Location:
real = -1.99999999999999999999
99999999999999999999
97344589793777924962
80529992759962819860
24156488045552272302
44073189491973478031
80238274274955380877
61986201309842882318
94031274218325703111
19090443120260112392
01666798411312326507
42495239850691572735
14813561653456639156
09333800669416787338

imag = 0.00000000000000000000
00000000000000000000
00000000000000000000
00000000000000000000
00060028373590270395
79269278208405247083
84221258002907159852
26066697019608772572
97502951824508652864
37164544710375610323
26007488828885952543
82532007738441170003
19905634094938268443
23967097074946753264


除此以外,同样也附带一个计算演示程序:http://u.
作为演示程序,这个是加上了逃逸速度插值的,所谓的逃逸速度插值是:

逃逸速度公式:v(z) = n + 1 - log2(log2(abs(z)))   (log2是对于计算公式使用平方的M集)
其中n是实际迭代次数

这样得到的v(z)就是一个小数,就可以用在颜色的平滑插值上了。
但为了减少公式的计算误差,我们把逃逸边界的模,从2改为8,让它多迭代两次,就会平滑很多了。

最后,需要把这样一个浮点数映射到一个颜色,有两种映射的办法,一种是实时计算映射,另一种是调色板映射
实时计算的话,会因为计算不能太复杂,于是颜色会偏单调,如以下例子:

int iterToColor(double iter)
{
    return (int)(fabs(fmod(iter + 256, 512) - 256));
}

COLORREF colorMap(COMPLEX z, int iteration)
{
    double r = z.re * z.re + z.im * z.im;
    r = iteration + 1 - log2(log2(r)/2);
    return RGB(iterToColor(r * 28), iterToColor(r * 16), iterToColor(r * 32 + 128));
}

实时映射效果图(用的以上代码做映射计算):
图片附件: 游客没有浏览图片的权限,请 登录注册


对于使用调色板的,可以使用的颜色就会丰富很多很多,但在做插值的时候就不能像前一个这样直接进行计算了,我们要使用alphablend的办法做

首先要把那个v(z)拆分为整数部分和小数部分 n + m,n是整数部分
然后我们在调色板上取 n % MAXCOLOR 与 (n + 1) % MAXCOLOR 这两种颜色,记为c1,c2,
然后我们对这两个点做alphablend:
c = alphablend(c1, c2, m); // c1 是src, c2 是dest, m是srcalpha

alphablend计算公式:
Dst.Red = Src.Alpha * Src.Red + (1 - Src.Alpha) * Dst.Red
Dst.Green = Src.Alpha * Src.Green + (1 - Src.Alpha) * Dst.Green
Dst.Blue = Src.Alpha * Src.Blue + (1 - Src.Alpha) * Dst.Blue

最后把得到的c值画在屏幕上就可以了

[ 本帖最后由 御坂美琴 于 2011-3-26 22:06 编辑 ]
收到的鲜花
  • 观弈寒儒2011-03-26 23:14 送鲜花  6朵   附言:好文章
  • 观弈寒儒2011-03-26 23:14 送鲜花  6朵   附言:原创内容
  • 卧龙孔明2011-03-27 12:37 送鲜花  10朵  
搜索更多相关主题的帖子: 详细信息 分辨率 
2011-03-26 21:53
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
期待 动态放大视频5

我就是真命天子,顺我者生,逆我者死!
2011-03-26 22:02
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
本以为电影看完,回帖数应该有所起色。
唉,想必就算是新手也看出其中一二了

我就是真命天子,顺我者生,逆我者死!
2011-03-27 00:14
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
收藏
得分:8 
御姐, 还真是精益求精哪


我惭愧, 写个破程序, 然后就把它丢开了, 根本不懂得改善, 改进, 改良, 也懒得修改什么, 直接去学其它东西了, 有些浮躁

就这点, 佩服一下下, 顶一下下
2011-03-27 03:01
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:7 
lz我的分型跟你的相形见绌瓦

免费赠送河蟹一只
2011-03-27 10:25
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:5 
LZ果然你厉害

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2011-03-28 10:25
thlgood
Rank: 5Rank: 5
等 级:职业侠客
帖 子:281
专家分:381
注 册:2010-9-24
收藏
得分:5 
楼主,你的技术这么好,在哪里学到的?

o(∩∩)Linux & Python 群:187367181
2011-03-28 11:16
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:5 
敢问版主学C多长时间

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-03-28 11:49
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:3 
http://wmi.math.u-szeged.hu/xaos/doku.php

专心编程………
飞燕算法初级群:3996098
我的Blog
2011-03-28 12:06
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
to 7L: 自己看书看资料学的
to 8L: 这个问题没什么意义啦,C只是一个语言工具,真正运用的,是工具之上的东西,如算法,图形学
to 9L: 楼上发这个软件链接来是想说啥呢?

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2011-03-28 13:29
快速回复:【分享】破纪录:MandelbrotSet动态放大视频4 (放大1e258或2^857倍)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018235 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved