对于单调多边形的三角剖分可以在线性时间内完成,承接上一节将多边形划分为若干个单调多边形,现在需要对每个单调多边形进行三角化操作,最终完成对原多边形的三角剖分。单调多边形的三角剖分算法和上一节多边形的单调划分算法有些类似,都需要首先对多边形顶点按照Y坐标大小降序排列,得到一个有序的链表(或者优先级队列)。从最高点到最低点遍历单调多边形的每一个顶点,根据其左右链属性执行相应的操作。同时,还需要一个链表作为辅助的数据结构。 Read More
posted @ 2011-04-10 21:55 frcsun Views(3776) Comments(5) Diggs(0)
多边形三角剖分是计算几何( Computational Geometry)中的经典问题,起源于一个有趣的艺术画廊问题。目前有很多不同的算法实现了对多边形的三角剖分,三角化算法所追求的目标主要有两个:形状匀称和计算速度快。此算法的核心思想是首先对多边形进行单调划分,也就是将多边形分解为若干个单调多边形,然后再对单调多边形进行三角剖分,最终生成对初始多边形的三角剖分。时间复杂度为O(n log n) Read More
posted @ 2011-04-07 22:01 frcsun Views(11177) Comments(7) Diggs(0)
今天中午看了《社交网络》,以facebook创始人Mark Zuckerberg 为原型的传记式电影。其实原先对于Facebook和马克 扎克伯格并不是特别的熟悉,只是知道facebook是个很火的网站,Zuck的女友是个华裔女孩。看完这部电影之后,对于马克的传奇经历有了更为直观深刻的印象。尽管电影终归是艺术,或多或少会有一些改编的成分,但是我觉得现实或许才是更令人震撼的。现在总结下这些IT成功人士所共有的特质,以及自己对某些问题的思考。盖茨、乔布斯、马克这些人物的经历都是很传奇的。在此我的总结仅是个人陈述性的,而非论证性质。 Read More
posted @ 2010-10-30 22:09 frcsun Views(784) Comments(0) Diggs(0)
最近这几天忙忙碌碌的打酱油行动基本可以告一段落了。看着如今各种企业都来学校狂轰滥炸,宣讲会、笔试、面试接二连三、热闹的不亦乐乎,对于同学们来说自然是有人欢喜有人愁。对于像我这样本应作壁上观的人来说,却也有些蠢蠢欲动的人了。终于按耐不住寂寞,同时也顶着压力(稍后解释),去尝试了一把。在贡献出了自己的处男笔试和处男面试之后也算是有所收获吧,现将经验总结一下,聊作纪念。 Read More
posted @ 2010-10-21 12:11 frcsun Views(866) Comments(0) Diggs(0)
2010南非世界杯的战火也刚刚熄灭。不知道大家是怎么看的,反正我觉得这届世界杯不怎么地,球场以外的话题胜过了球场内的比拼,而就算是球场内也是乌烟瘴气的。但是前几天刚看到的一条新闻很有意思《2010年7月编程语言排行榜:这里有只足球队》。相信大家都看过了吧,在最新的榜单上C#终于超越了(Visual) Basic ,爬到了第五位,现在可以名正言顺说是.NET 的老大了。并且在新闻里还简单了列了一下编程语言的球队阵容,很是好玩。不过稍显简单,想到我刚刚扯完了对于编程语言的一些个个人看法,觉得有必要给它改进改进。特意选出了主力和替补两套编程语言世界杯最强阵容。同时也和大家探讨探讨。 Read More
posted @ 2010-07-16 20:30 frcsun Views(2612) Comments(17) Diggs(5)
其实对于编程语言的争论是最没有意义的事情,但是也貌似是程序猿们最乐此不疲的事情。因为编程语言或多或少的体现出一种宗教信仰的样子。大多数人不过是站在自己角度上,管中窥豹。争论的焦点也往往不是什么是具体事实什么不是,而更多的是能不能让你接受我的想法。这是很无趣的。譬如现在园子里蹦出来的那位,自称是做了n多年C#开发的资深程序猿,但是不知道是受人家大牛Linus批判C++的刺激还是一时抽风,跑来喷C#,而且大笔一挥,嗯。。。C# 应该去掉这些特性云云,不看不要紧一看吓一跳,这单子上几乎把C#新加的特性全部给抹杀了。很怀疑啊,你说这个lifelong到底是不是用C#的呢?难道是从Java里跑来的卧底?哎。。。既然说了辩论没意思那我也就没有纠结于此了。还是说点我自己的一些想法吧。 Read More
posted @ 2010-06-22 23:25 frcsun Views(933) Comments(4) Diggs(1)
既然有前台,自然也就有后台了。后台语言确切的是说服务器端的编程语言和技术。只有把服务器端和浏览器端都弄懂了,才能更清楚地理解整个Web应用程序的运行机制。并且相对来说,服务器端更像是程序员独角戏的舞台。 Read More
posted @ 2010-06-16 20:53 frcsun Views(308) Comments(0) Diggs(0)
前台语言当然不是漂亮的前台MM,不过前台语言的说法并不是很合适,应该说GUI设计语言更好。说到应用程序,传统的理解都是那些运行在客户端的桌面程序,但是随着互联网的快速发展,软件的使用和开发模式已经发生了很大的变化。 Read More
posted @ 2010-06-14 23:33 frcsun Views(461) Comments(1) Diggs(0)
如今编程世界有两大对立的阵营Java 和 .NET,C#是.NET平台的主力编程语言,所以托管语言就是Java和C#的对决了。不过在编程语言单挑之前,我更想谈谈统一平台的意义和两大平台的比较。 Read More
posted @ 2010-06-14 07:40 frcsun Views(400) Comments(0) Diggs(0)
自从第一台计算机诞生以来,计算机硬件和计算机软件就相辅相成地共同推动计算机行业的飞速发展。计算机硬件的性能在摩尔定律的指引下提升迅速,相对来说计算机软件的发展速度就稍显逊色,毕竟软件的复杂度更高,而且也没有以往的经验可以借鉴。就计算机程序设计语言来说,从机器语言到汇编语言,再到高级程序设计语言。又经历了结构化程序设计语言、面向对象程序设计语言以及托管代码。期间函数式语言、逻辑式语言等等。 Read More
posted @ 2010-06-13 22:52 frcsun Views(479) Comments(0) Diggs(0)