GIS地图界面和计算机图形学填充算法
一 GIS地图界面
GIS程序最常见的界面就是,不同区域被边界隔开,填充为不同的颜色;
如下三个;是超图iServer自带;
京津地区土地利用现状,京津地区人口分布,京津地区地貌分布;用于学习是很好资源;
如果对计算机图形学了解的话,你就知道这种不同区域填充为不同颜色,底层算法是用计算机图形学填充算法实现的;
下面来看一下填充算法的基本概念;
二 计算机图形学区域填充算法
区域填充概念
区域:指已经表示成点阵形式的填充图形,是象素的集合。
区域填充:将区域内的一点(常称【种子点】)赋予给定颜色,然后将这种颜色扩展到整个区域内的过程。
区域填充算法要求区域是连通的,因为只有在连通区域中,才可能将种子点的颜色扩展到区域内的其它点。
区域有两种表示形式
1)内点表示:枚举出区域内部的所有象素,内部所有象素着同一个颜色,边界像素着与内部象素不同的颜色。
2)边界表示:枚举出区域外部的所有象素,边界上的所有象素着同一个颜色,内部像素着与边界象素不同的颜色。
区域连通
1)四向连通区域:从区域上一点出发可通过【上、下、左、右】四个方向移动的组合,在不越出区域的前提下,到达区域内的任意象素。
2)八向连通区域:从区域上一点出发可通过【上、下、左、右、左上、右上、左下、右下】八个方向移动的组合,在不越出区域的前提下,到达区域内的任意象素。
简单种子填充算法基本思想
给定区域G一种子点(x, y),首先判断该点是否是区域内的一点,如果是,则将该点填充为新的颜色,然后将该点周围的四个点(四连通)或八个点(八连通)作为新的种子点进行同样的处理,通过这种扩散完成对整个区域的填充。
看一下图形学填充算法VC++版的效果;
这个是孔令德老师教材VC++源码的运行效果;网上花积分下的;有没有盗孔老师的版不知道;
就说如果了解一些计算机图形学内容,对于GIS开发也是很有帮助;
一般做GIS开发是你传边界线像素宽度、边界线颜色、内部要填充的颜色值给GIS系统,它会帮你画好;如果能了解一些底层算法也是很有帮助的;
GIS地图界面和计算机图形学填充算法相关推荐
- 计算机图形学算法详解,计算机图形学裁剪算法详解
<计算机图形学裁剪算法详解>由会员分享,可在线阅读,更多相关<计算机图形学裁剪算法详解(10页珍藏版)>请在人人文库网上搜索. 1.裁剪算法详解在使用计算机处理图形信息时,计算 ...
- 计算机图形学常见算法原理,计算机图形学常用算法及代码大全
<计算机图形学常用算法及代码大全>由会员分享,可在线阅读,更多相关<计算机图形学常用算法及代码大全(41页珍藏版)>请在人人文库网上搜索. 1.2.1.1 生成直线的DDA算法 ...
- 计算机图形学要学什么语言,计算机图形学:算法与实现
计算机图形学:算法与实现 语音 编辑 锁定 讨论 上传视频 <计算机图形学:算法与实现>一书的出版社是清华大学出版社,出版时间是第1版 (2012年1月1日). 书 名 计算机图形学 ...
- 计算机图形学直线算法论文,《计算机图形学》中直线生成算法的教学心得
摘要:<计算机图形学>是计算机科学与技术专业一门重要的专业课,其中直线生成算法是教学重点之一.该文通过分析几种直线生成算法的特点,阐述了理论教学和实践教学的重点和难点,总结了教学的体会和心 ...
- 计算机图形学 裁剪算法源代码,OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc...
OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 .<计算 ...
- 计算机图形学+简单算法实现,《计算机图形学》课程设计-简单几何体的消隐算法实现.doc...
PAGE PAGE 18 PAGE 18 课程名称:<计算机图形学> 论文题目:简单几何体的消隐算法实现 教学部: 年 级: 班 级: 学 号: 姓 名: 简单几何体的消隐算法实现 摘 要 ...
- 七巧板复原算法——计算机图形学基本算法之一, 点在多边形内部的判断
注:此时我已经完成了一个演示版本,但是为了文章的渐进性,我将把开发过程一步步的写出来,用来记录. 本实验代码用到的图形学关系和算法列举如下: 基本计算机图形学关系和算法 1.点在多边形内部的 点在多边 ...
- 计算机图形学曲线算法代码,计算机图形学自由曲线绘制算法.doc
计算机图形学自由曲线绘制算法 宁夏师范学院数学与计算机科学学院 <>实验报告 实验序号: 实验项目名称: 学 号姓 名专业.班实验地点指导教师时 间.实验内容与步骤 1 //TestVie ...
- 计算机图形学——区域填充算法
一.区域填充概念 比奇中文网 https://m.biqi.org/ 区域:指已经表示成点阵形式的填充图形,是象素的集合. 区域填充:将区域内的一点(常称[种子点])赋予给定颜色,然后将这种颜色扩展到 ...
最新文章
- 从事GIS开发多年,2017年对GIS行业的心得,尤其对三维GIS的理解
- DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习
- tomcat报错LifecycleException的解决方案
- 深度学习概述:当你没有方向时的加油站
- 学生电脑哪个牌子好_专卖工作服哪个牌子好
- 【问题】HDFS中块(block)的大小为什么设置为128M?
- ACL 2018论文解读 | 基于路径的实体图关系抽取模型
- VR开发中性能问题—OculusWaitForGPU
- 直播协议HTTP-FLV标准解读与技术实现
- C++ 空类,默认产生哪些成员函数
- oracle如何储存超长汉子_热水器该如何选择?!
- spring5源码-事务
- java 使用qq邮箱发送邮件报错 port: 465, response: 550 错误
- 全国大学生电子设计竞赛(七)--逆变电源设计
- mtex极图_一种多相金属材料相成分识别的方法与流程
- raisecom msg融合网关成都电信实战分享
- 字符集和字符集编码详解
- 主题讲座:移动互联网时代的创业机会
- 闪讯利用openwrt路由器拨号教程(五)
- Fix ‘Clearing orphaned inodes’ on Ubuntu
热门文章
- ext2和ext3文件系统知识
- swiper左右切换按钮无效_BMD为ATEM切换台发布新的2 M/E和4M/E控制面板
- DATE_FORMAT() 函数||DATE_SUB() 函数
- 计算机组成原理—— 指令系统
- 微信小程序开发3——事件处理
- Python 使用CORS跨域资源共享解决flask服务器跨域问题、浏览器同源策略
- Python 路径问题:cv2.error: OpenCV(4.1.0)...size.width>0 size.height>0 in function ‘cv::imshow‘. 解决方法
- 声明和定义结构体需要注意的问题
- CTFshow php特性 web150
- 第七周实践项目4 队列数组