自制3D显示引擎七:填充任意多边形
2017-01-22 04:36
246 查看
将一个n边形分成n-2个三角形,即0123456分成012 023 034 045 056.
以012方向为正(顺逆时针)
判断每个三角形的正反,如果某辅助边一侧为正,一侧为反,那么此边不显示。
现将所有三角形只填充内部,正方向的在内存画布上值(初始值为0)+1,反方向的-1.最后再重新绘制边与可显示的边。
值不为0的即该点显示。
该算法是刚构思出来的,肯定有不妥的地方,应该可以优化。
以012方向为正(顺逆时针)
判断每个三角形的正反,如果某辅助边一侧为正,一侧为反,那么此边不显示。
现将所有三角形只填充内部,正方向的在内存画布上值(初始值为0)+1,反方向的-1.最后再重新绘制边与可显示的边。
值不为0的即该点显示。
该算法是刚构思出来的,肯定有不妥的地方,应该可以优化。
相关文章推荐
- 自制3D显示引擎六:填充三角形
- 自制3D显示引擎六.二:递归式填充
- 自制3D显示引擎五:画多边形与正多边形
- 自制3D显示引擎:目录
- 自制3D显示引擎三:画线
- 自制3D显示引擎九:三维空间的显示区域
- 自制3D显示引擎四:画圆
- 自制3D显示引擎八:矩形窗口裁剪
- 自制3D显示引擎十:三维坐标在屏幕上的映射
- 3D编程-绘制任意多边形
- Android OpenGL显示任意3D模型文件
- Android OpenGL显示任意3D模型文件
- OpenCV在图像上画线、矩形、椭圆、多边形、填充的多边形、圆、显示文字
- Unity游戏引擎挖坑记之3d游戏2d显示管理(血条、飘血)(一)
- VC绘图:如何填充任意多边形?
- Unity 3D 残影的研究 截取当前模型的网格材质并显示
- 打开任意窗口之后,电脑下方任务栏无法显示,解决方法:
- Flash 3D引擎(Sandy3D)应用指南 4——在3D场景中移动物品。
- android ---------高德地图实现定位和3D地图显示
- 做一个3D游戏需要哪些软件要全面包括美工和编程还有3D引擎