专栏首页上善若水004计算机图形学之多边形的扫描转换和区域填充

004计算机图形学之多边形的扫描转换和区域填充

图像有两种表示方式,一种是顶点表示,另一种是点阵表示。

这两种表示方式各有各的优点,由此引出来两个问题:

  1. 如何知道边界,怎么求出,那些像素在边界之内。
  2. 知道多边形的内部像素,如何反过来求多边形的边界。

多边形的扫描转换是指: 把多边形的顶点表示转换为点阵表示。也就是知道多边形的边界,如何找到多边形内部的点,即把多边形内部填上颜色。

多边形扫描转换

x-扫描线算法

按照扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的像素。 求交的工作量大。

改进算法是利用增量思想,考虑到图形的连贯性,同时引入一个特殊的数据结构,减少求交的计算量。

加权区域采样方法

符合人视觉系统对图像信息的处理方式,反走样效果更好。将直线段看作是一条具有一定宽度的狭长矩形;当直线段与像素有交时,根据相交区域与像素中心的距离来决定其对象素亮度的贡献。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 037android初级篇之Activity的几个重要函数

    手机屏幕事件的处理方法onTouchEvent。该方法在View类中的定义,并且所有的View子类全部重写了该方法,应用程序可以通过该方法处理手机屏幕的触摸事件...

    上善若水.夏
  • 010android初级篇之Activity的返回值

    使用startActivity方式启动的Activity和它的父Activity无关,当它关闭时也不会提供任何反馈。 但是使用startActivityFor...

    上善若水.夏
  • 020android初级篇之android存储数据方式:SharePreference的使用

    轻量级的存储类,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下。

    上善若水.夏
  • Mapinfo高阶-判断点是否位于多边形内

    笔者在工作过程中遇到一个场景,需要批量判断点是否位于某个多边形,搜索了几个算法,发现过于复杂,本身理解就有困难,编成代码就更难了。

    披头
  • 1284 2 3 5 7的倍数

    1284 2 3 5 7的倍数 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 给出一个数N,求1至N中,有多少个数不是2 3...

    Angel_Kitty
  • 史上最强解读:Oracle里面为什么没有double write?

    导读:MySQL有double write机制,PostgreSQL有full page write机制,那么Oracle里面为什么没有类似机制呢?

    数据和云
  • 机器人思考的前提:先让他学会“看”

    ---- 一场地震灾难发生后,专业救援人员组成的队伍会奔赴现场,在废墟中搜寻生命体征、实行医疗救护、呼叫救援。 但在斯坦福大学首席人工智能科学家李菲菲(Fe...

    机器人网
  • 【李飞飞最新演讲】斯坦福AI实验室图像与视觉理解技术进展(191PPT)

    【新智元导读】ImageNet 缔造者、斯坦福大学副教授、人工智能实验室主任李飞飞在刚刚结束的ICML2016会议发表演讲 A Quest for Comput...

    新智元
  • 趣读|程序员发现 Bug 时,简直戏精附体哈哈哈哈哈

    OS:我操这个大撒比写出这么个烂代码,幸亏有哥这样神一样的存在才发现,哥真是救世主

    养码场
  • Redis源码分析(四)——Redis数据结构-整数集合

    1. 整数集合特点 有序:集合中所有值按照从小到大顺序排列。 不重复 可以存储int16_t、int32_t、int64_t三种类型的整数 1. 数据结构 t...

    大闲人柴毛毛

扫码关注云+社区

领取腾讯云代金券