gaclib.net
C++博客
首页
新随笔
联系
聚合
管理
随笔-341 评论-2670 文章-0 trackbacks-0
函数图像(二)
今天终于把雏形给做出来了。主要的方法是牛顿迭代法,把屏幕上的所有点都收敛到函数图像上面。为了提速,我是用了ThreadTool.QueueUserWorkItem和Parallel.For,还把那颗函数的语法树用Linq.Expression编译成了机器码。下面的这些图都是二十秒钟左右就可以画出来的了。代码仍然在
Vczh Library++3.0
的Candidate\Games\FunctionVisualizer里面。直接F5太慢,要编译后在资源管理器打开。
下面几个图来自于博客园的这篇新闻(
http://news.cnblogs.com/n/106212/
)。因为我还没做绝对值函数,所以只画了一半。结果还是有点瑕疵,再想想办法优化一下。
posted on 2011-08-10 22:36
陈梓瀚(vczh)
阅读(5921)
评论(10)
编辑
收藏
引用
所属分类:
.NET
评论:
#
re: 函数图像(二) 2011-08-10 23:34 |
土豆
太帅了
回复
更多评论
#
re: 函数图像(二) 2011-08-11 01:00 |
bennycen
Orz 膜拜大神!
保持队形啊~~~~
回复
更多评论
#
re: 函数图像(二)[未登录] 2011-08-11 01:06 |
diryboy
@bennycen
OrOrOrz!!
回复
更多评论
#
re: 函数图像(二) 2011-08-11 08:13 |
陈昱(CY)
膜拜大神
回复
更多评论
#
re: 函数图像(二) 2011-08-12 08:30 |
Gezidan Studio
仰望
回复
更多评论
#
re: 函数图像(二) 2011-08-26 02:22 |
Junfeng
这个跟我做的那个
http://www.cnblogs.com/rufi/archive/2011/06/28/GraphPlot.html
在算法上主要的区别是什么呀?
回复
更多评论
#
re: 函数图像(二) 2011-08-26 10:28 |
陈梓瀚(vczh)
@Junfeng
我是求解了方程的根的,你那个不是。当然如果是不等式的话就没必要这么麻烦了,你那种方法处理不等式是好的,但是处理等式精度的问题会比较大(我只是根据你的博客的字,不知道你真实做法是怎么干的)。我猜你等式还是给了个阈值的。而我用了牛顿迭代法,阈值带来的问题不会很大。
不过GrafEq的做法是终极做法(可以找到论文),它的软件理解了表达式,然后对于一个任意的rectangle,它的软件内部给出了证明(但是没显示出来),说是不是rectangle整个都是黑的,或者白的,或者不知道。不知道的话就分为两个继续搞。这样做的精度是无限的(当然时间也是无限的,但是得到人眼能接受的结果非常迅速,因为最小的rectangle是一个pixel。如果你继续划分下去,还可以做antialias——GrafEq它就试图这么干)
回复
更多评论
#
re: 函数图像(二) 2011-08-26 10:32 |
陈梓瀚(vczh)
@陈梓瀚(vczh)
哦,看到了,你的这个阈值隐含在了lua的==操作符的实现里面。
回复
更多评论
#
re: 函数图像(二) 2011-08-26 10:36 |
陈梓瀚(vczh)
@Junfeng
我用我的那个东西画了“sin(x*sin(y)+y*sin(x))”。你给的结果是<0.0001的图,不过我是==0了。这样我就可以验证我的做法是不是准确的产生了边缘而不是色块。结果是好的。你可以试试。
回复
更多评论
#
re: 函数图像(二)
2011-09-07 07:28 |
Junfeng
用牛顿迭代法求根,精度高但是计算慢,GrafEq的算法我也看了一下,可能是用微分学的方法判断是不是根。另外一个结论是处理等式和不等式最好用不同的策略。
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
函数图像(二)
函数绘图(一)
写了一个弹性物体碰撞模拟
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
留言簿
(70)
给我留言
查看公开留言
查看私人留言
随笔分类
(347)
.NET(3)
2D(14)
3D(12)
C++(54)
C++实用技巧(7)
GacUI(37)
JIT(28)
Vczh Free Script(7)
Vczh Lazy Script(4)
VL++3.0开发纪事(51)
跟vczh看实例学编译原理(4)
脚本技术(47)
开发自己的IDE(13)
其他(23)
启示(30)
作品(13)
好友博客
Graphixer
何咏师弟的图形学网站
jetricy
Jetricy的技术博客
KlayGE游戏引擎
叛叛大神
Lomox UI框架
Lomox UI框架
MiGL
Tyeah的博客
vczh的百度空间
vczh的百度空间
YMK的后花园
YMK的技术博客
德利菲
德利菲的技术博客
怪盗KID的游戏开发博客
怪盗KID的游戏开发博客
华工微软俱乐部
华南理工大学微软俱乐部科技部博客
开发视界
开发视界 - 移动开发社区
老赵点滴
赵姐夫的.net博客
临渊羡鱼,不如退而山寨
另一个SOS团的C++程序员……
某白食(Lyt)
某白食的C++博客
岁月流转,往昔空明
空明流转的blog
微软一站式实例代码库
500个经典示例,速学速用,效率倍增。
我在博客园的blog
我在博客园的blog
一个不靠谱的程序员
JeffChen的技术博客
搜索
最新评论
1. re: 正则表达式——一点小插曲
明天开工。
来踩一下轮子哥的脚印。
--Bread
2. re: 自从昨天我发现VS2012可以编译出支持XP的代码之后,我决定在GacUI里面全面使用C++11新功能
请教一下GACUI可以支持VC2008吗?
--许满哥
3. re: 要学车暂停更新几个星期
@昏人
66666666
--lgjsd
4. re: 伴随我成长的编程书
感觉我要走的道路好长好长
--lzj
5. re: 伴随我成长的编程书
我最喜欢的cppblog上又看到好文章了
--胡然
阅读排行榜
1. 伴随我成长的编程书(164416)
2. 《构造正则表达式引擎》新鲜出炉啦!(109862)
3. 跟vczh看实例学编译原理——零:序言(51243)
4. 如何手写语法分析器(40171)
5. C++实用技巧(一)(38131)
评论排行榜
1. 关于C++之“复杂”(68)
2. (转)架构师已死(转自UML软件工程组织) (57)
3. 2005-2009年个人总结(40)
4. 如何设计一门语言(一)——什么是坑(a)(37)
5. 《构造正则表达式引擎》新鲜出炉啦!(36)