c – 栅格化2D多边形

我需要从一个封闭的2D多边形创建一个二进制位图,表示为一个点列表.能否请您指出有效且足够简单的算法,或者甚至更好的一些C代码

非常感谢!

PS:我想避免在我的项目中添加依赖项.但是,如果您建议使用开源库,我总是可以查看代码,因此它也很有用.

解决方法

你想要的神奇谷歌短语是“非零缠绕规则”或“甚至奇数多边形填充”.

查看维基百科条目:

> non-zero winding rule
> even odd polygon fill

两者都非常容易实现,并且对于大多数目的来说足够快.有一些聪明,他们也可以做反抗锯齿.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...