受到Mesecina的启发,将前面的的Delaunay三角化与Voronoi图演示加以扩展,加入了曲线重构与medial axis的功能,并能更改各元素的颜色。曲线重构采用的是crust方法,更准确地说是改进后的one-step crust方法。利用曲线重构,将Delaunay三角形分为内外两组,进而生成medial axis。

虽然支持IE,但IE的Javascript性能较差,又不原生支持canvas,所以不推荐。


posted @ 2009-10-27 09:20 wildabc 阅读(1047) 评论(0) 编辑

Delaunay三角化Voronoi图是计算几何中的两个基本概念。下面是我用HTML canvas和Javascript写的演示工具。Delaunay三角化的代码来自http://www.travellermap.com/tmp/delaunay.htm根据的是Paul Bourke的三角化算法由于IE不支持<canvas> 标签,为了在IE中运行,还使用了explorercanvas

虽然支持IE,但IE的Javascript性能较差,又不原生支持canvas,所以不推荐。

posted @ 2009-10-25 11:04 wildabc 阅读(1955) 评论(7) 编辑

WebGL小练习,模仿O3D的一个例子,刚学,很多都不懂。用支持WebGL的浏览器打开,详细的可以看Learning WebGL(中文翻译)。 

一段时间没来看,发现WebGL的标准又有新的变化,新的浏览器无法运行原先的程序,又做了修改。 发到计算机图形学小组里,了解下国内做这个的多么。

http://code.google.com/p/webglsamples/ 有几个很漂亮的例子,有兴趣的可以看一下。

posted @ 2010-06-27 16:15 wildabc 阅读(2070) 评论(1) 编辑

Vladimir Arnold昨天去世。

我想起了曾醉心于分析力学的日子。我读过Arnold写的《经典力学的数学方法》和《常微分方程》。我不是学数学的,这些书也从未真正读懂过。我读这些,一方面为了“学术梦”,更重要的是想领略大师风采,而我自己觉得还是感受到了大师的魅力。后来,我又接触到了计算机图形学,在Discret Differential Geometry中又遇到了Jerrold E. Marsden,和Arnold一起建立几何力学的巨人。我很高兴看到他仍然活跃。

 怎么说呢,每当想起这些,我都希望有首诗在脑海中出现一首诗,不过最后写出来却是小学生般的文字,也许我只有刚开始写字的水平。

posted @ 2010-06-04 21:37 wildabc 阅读(102) 评论(1) 编辑
本博客前面讨论的Delaunay三角和Voronoi图都是针对平面上的情形,而球面上也可定义相应的概念。这些几何结构常常是很有用的,因为我们就住在地“球”上。

考虑这样一个问题:在中国,哪里是离国境最远的地方?经过一番思考,我觉得用球面上的Voronoi图来解这个问题是可行的。(可能有更好的办法,望告知。)

计算球面上的Delaunay三角和Voronoi图是通过计算三维空间中的凸包来实现的,参见相关文章(推荐链接1链接2)。我使用的工具是CGAL。而国境线的数据来自http://www.gelib.com/world-borders.htm。世界各国的数据都有,但是较为简略。其中中国的部分只包括中国大陆,港澳台地区各自单独列出。下图就是国境线数据:

 

有了数据以及方便的工具,剩下的事情其实是极简单的。我一开始还想自己写个程序来显示结果,后来发现把结果写为KML文件用谷歌地球来显示要方便多了。将各个数据点由经纬度值转为分布在单位球上的三维点。计算这些点的凸包。不失一般性,假定凸包表面的三角面的法矢指向凸包的外部,那么将法矢朝向球的外部的三角面投影到球面上,便得到了球面上的Delaunay三角。而三角面的法矢单位化后,从球心按此矢量偏移,可得到相应Delaunay三角的对偶顶点。遍历凸包表面上的边,将相邻三角面对应的的对偶顶点用以球心为圆心的圆弧连接,就生成了球面上的Voronoi图。如下图:

 

还可由此计算medial axis:

 

回到开始时的问题——离国境最远的地方。 也就是Delaunay三角中外接圆最大的所对应的对偶顶点。如果不分国内国外,那么这点在智利以西的太平洋上,西经76.1677°,南纬40.7443°,距离约为8723km(按地球半径等于6371km计算,下同)。要得到在中国国内离国境最远的地方,那么只考虑在国境内的Delaunay三角即可。该点为东经108.173°,北纬32.479°,在陕西省汉中市镇巴县,距离约为1050km

以上的计算由于使用的数据较简略,所以可能并不准确,不过方法应该是正确的。  

最后附上使用Meshlab做 的,和球面上Voronoi图相关的一个漂亮例子(需翻防火墙)。 

 

下载链接(包含以上全部结果,不包括国境线数据,解压后用谷歌地球打开)

posted @ 2010-04-04 11:00 wildabc 阅读(1664) 评论(7) 编辑
谷歌要走,可是译言回来了,我泪流满面。
posted @ 2010-01-14 12:21 wildabc 阅读(110) 评论(1) 编辑

在前不久结束的哥本哈根气候大会上,委内瑞拉总统查维斯嘲讽美国政府在气候问题上的不做为:如果气候是一家银行的话,美国政府早就出手拯救了。很痛快。不过我觉得类似的讽刺也可送给我国政府:如果环境是数字8的话,中国政府就会拼死保护了。其中的“环境”还可换为“人权”或其它。嘲讽挖苦他人常常带来快乐,不过更应审视自己的脆弱和无力。

根据共同网的新闻,我才知道原来中日的历史共同研究的最大分歧并不在抗日战争阶段,而是在二战以后的历史:“在战后史的叙述方面,中方强烈表示反对,认为不能接受同时记录双方观点的做法,指出有必要考虑到中国的国内形势。”看来我们的历史学家对靠近自己生活的历史有自己的理解,而外国学者又不了解我国国情了。

posted @ 2009-12-23 11:16 wildabc 阅读(49) 评论(2) 编辑
摘要: 这个博客不应是纯粹的技术博客。萨穆尔森13日辞世。由于我并非经济专业,我对他的学术地位没有任何体会。我只是在几年前读过他的《经济学》,好像是第十二版吧,首次接触到一些基本的西方经济学概念。我当时的想法是:我现在所了解到的,在西方也许只是中学生的基础知识罢了。我们中学所学的经济学,和西方经济学是完全不一样的。我觉得其中的关键还不在于两者中究意哪个更正确,而是在于我们的老师是否在真实地传授知识。他们相...阅读全文
posted @ 2009-12-15 15:33 wildabc 阅读(107) 评论(0) 编辑
摘要: Subscribe in a readerOPML file这是我收集的关于计算机图形学与计算机视觉的论文RSS集合。包含以下内容: Computer Vision Resource by Gilles Mazars (ICCV and CVPR) IEEE Computer Graphics and Applications IEEE Transactions on Pattern Analys...阅读全文
posted @ 2009-12-01 10:45 wildabc 阅读(1333) 评论(2) 编辑
摘要: Power Crust是种经典的曲面重构方法。由于该方法主页上提供的源代码只能在Linux或Unix下编译,我使用LibGW32C,并对原程序做了小小的修改(就是将其中用的Linux系统命令改为DOS系统命令),用MinGW编译,得到能在Windows平台下运行的程序。压缩包里有修改后的源代码和可执行文件。其实是很早以前自己做算法对比时用的,现在放在这里,希望对他人有用。下载:链接阅读全文
posted @ 2009-11-23 09:20 wildabc 阅读(1136) 评论(1) 编辑
摘要: 没时间写文字,先贴几张图:(Google spreadsheets链接,可能需翻墙)=======================================没想到在我没有加任何文字说明的情况下,这个帖子竟然在阅读数上列第一。 这也能看懂?我还是解释一下好了。这里所要探讨的是不同范数下的点云对齐问题。ICP是Iterative Closest Point的缩写,更一般地也可以作为Iterati...阅读全文
posted @ 2009-11-22 14:58 wildabc 阅读(1498) 评论(3) 编辑
摘要: 受到Mesecina的启发,将前面的的Delaunay三角化与Voronoi图演示加以扩展,加入了曲线重构与medial axis的功能,并能更改各元素的颜色。曲线重构采用的是crust方法,更准确地说是改进后的one-step crust方法。利用曲线重构,将Delaunay三角形分为内外两组,进而生成medial axis。虽然支持IE,但IE的Javascript性能较差,又不原生支持canvas,所以不推荐。阅读全文
posted @ 2009-10-27 09:20 wildabc 阅读(1047) 评论(0) 编辑