注册 登录
编程论坛 C图形专区

[原创] Fill polygon demo code.

RockCarry 发布于 2007-12-04 23:18, 4055 次点击
网络有时候真让人失望,有关多边形的填充算法,我几乎用百度翻遍了全部的中文网页,都找不到一个可用的多边形填充的代码。搜索到更多的都是一些残缺不全的资料、课件和一些破烂不堪的代码。

有时候我在想,现在学校里面学过计算机图形学的学生和老师,究竟有几个能够真正的写出这个算法的代码呢。这样基础的东西,似乎都没有人真正的认真地去做过。

看来只能靠自己了,我从来都是做事认真的,这次就一定要写出一个完全正确,并且实用的多边形填充的代码出来。在仔细阅读了相关资料后,编写并调试出了这个程序。多边形的填充算法的确是一个比较复杂的算法,其中涉及到链表的操作,需要特别的细心,和反复的调试。在程序调试过程中,我还发现了目前许多教材和参考资料上的一些问题,其中最关键的是,在为每条扫描线生成新边表的时候,需要保证新边表中边结点按 dx 递增排列,否则必须对活性边表进行冒泡排序,这样会影响性能。

具体的不细说了,让人气愤而失望的是在网上竟然很难找到一份完全正确的参考资料和代码。哎,不提这个了,看我的代码吧,提供给大家参考,也算是填补了网络的一个空白。当然,也为那些在网上找代码应付作业、实验和考试的人提供方便了。

毕竟,这个问题比较复杂,我不能完全保证我的代码的正确性,因此大家如有发现bug,请告知,我将会努力改进。
17 回复
#2
kk48682007-12-05 08:06
祝贺祝贺
终于写出来了,太牛X拉,哈哈
不说了,先DOWN下来再说
#3
RockCarry2007-12-05 14:48
这个实现了,下面再做扫描线种子填充。然后再做填充图案和填充位图。
#4
RockCarry2007-12-05 17:05
分享一篇文章,个人觉得说的还是有道理
[url]http://www.[/url]
#5
RockCarry2007-12-05 17:14
国内许多做嵌入式芯片的厂商,比如安凯、凌阳、中星微、瑞芯微、炬力,这些国产的芯片厂商目前都取得了成功,他们的芯片目前都已经被广泛的应用于 MP3、MP4 等数码产品中。
然而龙芯似乎名声很大,却始终看不见其身影。
#6
RockCarry2007-12-05 17:22
目前国内市场上中低端的 MP4 产品中,很大部分都是采用凌阳的方案。
不过好像凌阳是台湾的。
#7
RockCarry2007-12-05 17:41
龙芯目前仍然还是停留在实验室里面,没有量产和也谈不上应用。
#8
kk48682007-12-06 08:20
我原先浏览过一个论坛,上面有龙芯的不少资料,而且正在准备在龙芯的基础上构建操作系统,路线图都出来了。呵呵
#9
RockCarry2007-12-07 18:16
今天发现了 fillpolygon 的一个 bug,等下回家改下。
#10
RockCarry2007-12-09 02:57
该了下,修正了填充时的bug.
#11
lianzerong2007-12-16 01:34
学习 学习!!!
谢谢!!!
#12
kmap2008-05-06 16:04
版主:你好!很欣赏您的编程能力和算法理解能力,希望能与您结交朋友。可能的话,希望您能加入我们的团队,当然是有偿的。我们有许多图形算法问题需要解决。我的联系方式:QQ:893823122,E_mail:gprsgps@,13908458734,这是我们的网站:www.,在此您大有用武之地。欢迎指导!
#13
Love嵌入式2008-05-06 16:42
厉害啊!!
#14
ba_wang_mao2008-05-08 09:13
强烈支持!!!
#15
RockCarry2008-05-08 11:07
[bo]以下是引用 [un]kmap[/un] 在 2008-5-6 16:04 的发言:[/bo]

版主:你好!很欣赏您的编程能力和算法理解能力,希望能与您结交朋友。可能的话,希望您能加入我们的团队,当然是有偿的。我们有许多图形算法问题需要解决。我的联系方式:QQ:893823122,E_mail:gprsgps@,13908458734, ...

过奖了。看了你们的网站,真巧了,你们也是在深圳,更巧的是,我也是做 GPS 开发的。不过做的不是地图引擎,而是 WinCE 的驱动开发。业内的人应该都知道我们公司的名字,这里也不透露了。有时间可聊下,我目前已经有工作,没有太多时间做别的事情了,业余时也是研究下算法,写点程序玩玩而已。
#16
daijia2008-05-13 16:11
楼主高人啊
#17
cy_ygs2010-09-27 09:01
看看是否能用
看看是否能用
#18
刘俊文2011-02-25 16:12
哇哦?~~你也是做GPS的?O(∩_∩)O~,俺也是~~我在广州~~刚毕业一年~⊙﹏⊙b汗有点问题想问一下,就是这个程序是C写的~~有点看不懂~~有没有c#的啊?~
1